throws javax. el.PropertyNotFoundException : Target Unreachable, 标识符 'i' 解析为空-6ren"> throws javax. el.PropertyNotFoundException : Target Unreachable, 标识符 'i' 解析为空-我不断收到 javax.el.PropertyNotFoundException: Target Unreachable, identifier 'i' resolved to null在我的 Pri-6ren">
gpt4 book ai didi

jsf -

referencing throws javax. el.PropertyNotFoundException : Target Unreachable, 标识符 'i' 解析为空

转载 作者:行者123 更新时间:2023-12-01 03:01:53 24 4
gpt4 key购买 nike

我不断收到 javax.el.PropertyNotFoundException: Target Unreachable, identifier 'i' resolved to null在我的 PrimeFaces 应用程序上,当我单击 commandButton应该删除图像,但我似乎找不到原因。我检查了 this回答但没有什么是我的问题。当我删除或不点击 commandButton该应用程序有效,并且 var="i"非常适合所有其他 DOM/PF元素,所以我只是被困在这里。提前致谢。

这是我的代码:

<h:form>
<div id="visor-imagenes">
<p:contentFlow value="#{imageHandler.personalImgList}"
var="i" id="contentFlow"
styleClass="contentWrapp">

<p:graphicImage value="#{fileUploadMB.image}"
styleClass="content"
onclick="clickFlow(this, event)">

<f:param name="id" value="#{i.id}"/>
<h:inputHidden value="#{i.imageDescription}"/>

<p:commandButton icon="ui-icon-trash"
action="#{imageHandler.deleteImage(i.id)}"
update="contentFlow">
</p:commandButton>
</p:graphicImage>
<div class="caption">#{i.imageName}</div>
</p:contentFlow>
</div>
</h:form>

bean :

public void deleteImage(String i) {
this.imgFacade.deleteImage(i);
}

我尝试使用 <f:param , <f:setPropertyActionListener对于 i commandButton 中的值,但这些都不起作用。

设置commandButton来自 <p:graphicImage抛出同样的错误:

<p:contentFlow value="#{fileUploadMB.personalImgList}" var="i" id="contentFlow" styleClass="contentWrapp">                         
<p:commandButton icon="ui-icon-trash"
action="#{fileUploadMB.deleteImage}"
update="contentFlow">
<f:param name="id" value="#{i.id}"/>
</p:commandButton>
<p:graphicImage value="#{fileUploadMB.image}" styleClass="content" onclick="clickFlow(this, event)">
<f:param name="id" value="#{i.id}"/>
<h:inputHidden value="#{i.imageDescription}"/>
</p:graphicImage>
<div class="caption">#{i.imageName}</div>
</p:contentFlow>

另外,我已经覆盖了 onClick图片的事件,因为默认点击重定向到图片文件。

       <script>
function clickFlow(item, e) {
if ($(item).parent().hasClass('active')) {
e.stopImmediatePropagation();
var text = $(item).siblings("input[type=hidden]").attr('value');
$('.image-linker:first-child').attr('href', $(item).attr('src'));
$('.image-linker:first-child').attr('title', text);
$('.image-lightboxer:first-child').attr('src', $(item).attr('src'));
$('.image-linker:first-child').click();
}
}
</script>

<h:inputHidden value="#{i.imageDescription}"是什么允许填充 lightbox title=""动态属性。

我不这么认为,但是 onClick 可以吗?事件被覆盖对这个问题有什么影响?

最佳答案

<p:contentFlow>not一个 UIData 零件。因此,它无法在组件树访问期间保存和恢复迭代状态(在解码 UICommand 组件期间需要)。您基本上需要在渲染响应期间将图像的唯一标识符打印为 HTTP 请求参数。

<p:commandButton icon="ui-icon-trash"
action="#{imageHandler.deleteImage}"
update="contentFlow">
<f:param name="id" value="#{i.id}"/>
</p:commandButton>
public void deleteImage() {
String i = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id");
this.imgFacade.deleteImage(i);
}

关于jsf - <p :commandButton> referencing <p:contentFlow var ="i"> throws javax. el.PropertyNotFoundException : Target Unreachable, 标识符 'i' 解析为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31283053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com