参见英文答案 >
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.