参见英文答案 >
How to ajax-refresh dynamic include content by navigation menu? (JSF SPA)3
在JSF2中,是否可以更改ui的src的值:使用Ajax请求动态地包含(例如,PrimeFaces p:commandButton)?
谢谢.
在JSF2中,是否可以更改ui的src的值:使用Ajax请求动态地包含(例如,PrimeFaces p:commandButton)?
谢谢.
<h:form>
<h:commandLink value="display 2" action="#{fTRNav.doNav()}">
<f:setPropertyActionListener target="#{fTRNav.pageName}" value="/disp2.xhtml" />
</h:commandLink>
</h:form>
<ui:include src="#{fTRNav.pageName}"></ui:include>
这就是我现在所拥有的是否可以使它成为Ajax(使用p:commandButton)?
在另一个答案中提出的JSTL标签是不必要的,它不是很好地可重用.
以下是使用纯JSF的基本示例(假设您运行Servlet 3.0 / EL 2.2,否则您确实需要使用< f:setPropertyActionListener>,就像您的问题):
<h:form>
<f:ajax render=":include">
<h:commandLink value="page1" action="#{bean.setPage('page1')}" />
<h:commandLink value="page2" action="#{bean.setPage('page2')}" />
<h:commandLink value="page3" action="#{bean.setPage('page3')}" />
</f:ajax>
</h:form>
<h:panelGroup id="include">
<ui:include src="#{bean.page}.xhtml" />
</h:panelGroup>
同
private String page;
@postconstruct
public void init() {
this.page = "page1"; // Ensure that default is been set.
}
// Getter + setter.