Kis*_*ash 6 ajax jsf primefaces
我有2页
input.xhtml
<h:form>
<p:panelGrid>
<p:row>
<p:column>
<h:outputText value="Name : "/>
</p:column>
<p:column>
<p:inputText id="name" value="#{inputBean.name}"/>
</p:column>
</p:row>
<p:row>
<p:column colspan="2" >
<p:commandButton action="#{inputBean.buttonAction}" value="Submit"/>
</p:column>
</p:row>
</p:panelGrid>
</h:form>
Run Code Online (Sandbox Code Playgroud)
display.xhtml
<h:form id="form1">
<h:outputText value="#{inputBean.name}" id="dis123"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)
如果我将它们都包含在如下所示的单个页面中
index.xhtml
<p:accordionPanel widgetVar="main" multiple="true">
<p:tab title="Input">
<ui:include src="input.xhtml"/>
</p:tab>
<p:tab title="Output">
<ui:include src="display.xhtml"/>
</p:tab>
</p:accordionPanel>
Run Code Online (Sandbox Code Playgroud)
我可以update="dis123"从命令按钮调用input.xhtml吗?
Bal*_*usC 17
不,你不能.相对客户端ID update="dis123"基本上在同一个NamingContainer父组件中搜索,在您的情况下<h:form>是第一页.但是,不存在这样的组件.它实际上是在一个不同的NamingContainer父母.您需要提供一个绝对的客户ID,而不是:update=":form1:dis123".
对于初学者来说,一个简单的方法来确定正确的绝对客户端ID,只需查看JSF生成的HTML输出(右键单击,在浏览器中查看源代码),查找所需组件的生成的HTML元素ID,然后为其添加前缀:.
请注意,这一切都与包含无关.将所有代码放在一个页面中时,您会遇到完全相同的问题.
| 归档时间: |
|
| 查看次数: |
39271 次 |
| 最近记录: |