在集成素数面.扩展的动态形状时,我会收到以下错误
java.lang.NullPointerException
at org.primefaces.extensions.component.dynaform.DynaFormRenderer.preRenderLabel(DynaFormRenderer.java:280)
at org.primefaces.extensions.component.dynaform.DynaFormRenderer.encodeMarkup(DynaFormRenderer.java:99)
at org.primefaces.extensions.component.dynaform.DynaFormRenderer.encodeEnd(DynaFormRenderer.java:78)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)我在类路径中包含了如下库,如这里所述
primefaces-3.3.1.jar primefaces-extensions-0.5.1.jar commons-lang.jar
Xhtml看起来像
<ui:composition template="WEB-INF/templates/base.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:pe="http://primefaces.org/ui/extensions">
<ui:define name="content">
<pe:dynaForm id="dynaForm" >
</pe:dynaForm>
</ui:define>
</ui:composition>更新
在更新一些代码后获得以下错误:
javax.servlet.ServletException: Cannot find component with identifier "_mainForm_dynaFormGroup" referenced from "j_idt7:dynaForm:j_idt14".我遗漏了什么?
发布于 2012-09-13 13:00:45
在更新一些代码后获得以下错误: javax.servlet.ServletException:找不到从"j_idt7:dynaForm:j_idt14“引用的标识符"_mainForm_dynaFormGroup”的组件。 我遗漏了什么?
正如消息所述,您正在使用id _mainForm_dynaFormGroup引用一个元素。找不到这个元素。造成此问题的一个常见原因是,该元素位于一个表单或其他容器中,该容器以容器的id作为元素id的前缀。
例如,拥有这个JSF:
<h:form id="form">
<div id="div" ...
</h:form>将生成此HTML:
<form id="form">
<div id="form:div" ...
</form>当引用另一个容器中的元素时,需要使用:作为前缀在根处开始引用。
<h:form id="buttonForm">
<p:button id="button" ...
</h:form>
<h:form>
<p:button update=":buttonForm:button" ...
</h:form>发布于 2012-10-07 22:05:17
您必须将以下内容添加到您的web.xml中,以使用_而不是默认的:进行小部件匹配:
<context-param>
<param-name>javax.faces.SEPARATOR_CHAR</param-name>
<param-value>_</param-value>
</context-param>此外,您还必须确保您正在查找的小部件驻留在给定的表单名称中。
发布于 2013-04-17 06:19:36
这是一个直截了当的答案,初学者可能会发现它很容易。根据您的异常"javax.servlet.ServletException: Cannot find component with identifier "_mainForm_dynaFormGroup" referenced from "j_idt7:dynaForm:j_idt14"",您指的是来自dynaForm的_mainForm_dynaFormGroup而不是dynaFormGroup,因为dynaform不在任何容器中。
这里还有一个例子,Cannot find component with identifier "_mainForm_dynaFormGroup" referenced from "A4759:projectTab:dynaForm:j_idt581".,我指的是来自_projectTab_dynaForm insted of _mainForm_dynaForm的_mainForm_dynaFormGroup,它必须是_projectTab_dynaFormGroup。以上@siebz0r很好地解释了这背后的原因。
https://stackoverflow.com/questions/12404643
复制相似问题