【发布时间】:2015-09-25 19:06:18
【问题描述】:
我在 PrimeFaces 应用程序上不断收到javax.el.PropertyNotFoundException: Target Unreachable, identifier 'i' resolved to null,当我点击应该删除图像的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>
豆子:
public void deleteImage(String i) {
this.imgFacade.deleteImage(i);
}
我尝试使用<f:param、<f:setPropertyActionListener 作为 commandButton 中的i 值,但这些都不起作用。
将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 事件被覆盖是否会对这个问题产生任何影响?
【问题讨论】:
标签: jsf primefaces