Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新ui:从主模板(JSF和Primefaces)定义表单内容_Jsf_Primefaces - Fatal编程技术网

更新ui:从主模板(JSF和Primefaces)定义表单内容

更新ui:从主模板(JSF和Primefaces)定义表单内容,jsf,primefaces,Jsf,Primefaces,我的web应用程序有点问题,基本上我一直收到一条警告消息: 信息:在视图中找不到标识符为“formName”的组件 我知道为什么会发生这种情况,但我只需要确定他们的解决方案是否是修复/更好的解决方案 基本上,我有一个主模板文件,其中包含许多具有各种CRUD功能的组件。当用户与这些组件交互时,我使用内置的primefaces“update”功能来轴向更新页面中的各种表单/组件。但是,由于JSF web应用程序的布局(即主模板和ui:定义的网页)以及我在主模板文件中定义了这些组件的事实,这意味着可更

我的web应用程序有点问题,基本上我一直收到一条警告消息:

信息:在视图中找不到标识符为“formName”的组件

我知道为什么会发生这种情况,但我只需要确定他们的解决方案是否是修复/更好的解决方案

基本上,我有一个主模板文件,其中包含许多具有各种CRUD功能的
组件。当用户与这些组件交互时,我使用内置的primefaces“update”功能来轴向更新
页面中的各种表单/组件。但是,由于JSF web应用程序的布局(即主模板和ui:定义的网页)以及我在主模板文件中定义了这些组件的事实,这意味着可更新的表单/组件不一定在当前视图中,并抛出上面的警告消息

例如:

如果我有一个主模板文件:Master.xhtml,其中包含一个名为的组件。然后我有一个带有
的page1.xhtml,类似地,我有一个带有
的page2.xhtml,它们都包含由sessionscoped支持bean提供的信息。如果使用componentA执行CRUD操作,那么确保这些表单更新的最佳方法是什么?目前我只是在使用,但由于视图中只有page1或page2,Tomcat会发出上述消息。那么,是否可以根据我所在的页面动态指定要更新的表单/组件,或者我必须在每个
页面上指定组件a(这将是大量重复的html/代码,并且不是特别容易管理),或者是否有方法更新当前视图中的所有表单/组件?或者我所做的是正确的,我应该关闭web.xml中的开发模式来停止消息

干杯


Ally

确认一下,如果有人偶然发现了这条线索。我通过使用
值解决了上述问题

基本上,在主模板文件中指定组件,如

<p:commandButton value="Submit" action="#{someBean.doSomeStuff()}"
update="#{paramName}" />

然后在
页面中,您只需声明参数名称及其值:

<ui:param name="paramName" value="someForm someOtherForm"/>


乔布斯是个好人

确认一下,如果有人偶然发现了这条线索。我通过使用
值解决了上述问题

基本上,在主模板文件中指定组件,如

<p:commandButton value="Submit" action="#{someBean.doSomeStuff()}"
update="#{paramName}" />

然后在
页面中,您只需声明参数名称及其值:

<ui:param name="paramName" value="someForm someOtherForm"/>


乔布斯是个好人

你能把h:form拉出来放在ui:insert周围吗?这样,表单将成为页面的静态部分,并且始终存在。我想我可以使用ui:param标记根据您所在的页面动态设置要更新的表单/组件。如果它适合您的结构,听起来不错。您是否可以拉起h:form将其放置在ui:insert周围?这样,表单将成为页面的静态部分,并且始终存在。我想我可以使用ui:param标记根据您所在的页面动态设置要更新的表单/组件。如果它适合您的结构,那么听起来不错。