如何重新渲染使用
发布时间:2020-12-16 01:34:51 所属栏目:百科 来源:网络整理
导读:我已经实现了一个由转发器创建的列表: ui:repeat value="#{projectData.paginator.list}" var="project" h:outputText value="#{project.title}" //ui:repeat 和一个过滤我的列表的按钮: h:commandLink action="#{overviewController.filterNew}"h:outputT
我已经实现了一个由转发器创建的列表:
<ui:repeat value="#{projectData.paginator.list}" var="project"> <h:outputText value="#{project.title}" /> </ui:repeat> 和一个过滤我的列表的按钮: <h:commandLink action="#{overviewController.filterNew}"> <h:outputText value="Filter List" /> </h:commandLink> 那么在点击命令链接(使用AJAX)后,是否有一个简单的方法来渲染我的中继器:-) 我试过如下: <f:ajax render="repeater"> ui:repeat id="repeater" value="#{projectData.paginator.list}" var="project"> <h:outputText value="#{project.title}" /> </ui:repeat> <f:ajax /> <h:commandLink action="#{overviewController.filterNew}"> <h:outputText value="Filter List" /> <f:ajax event="click" render="repeater"/> </h:commandLink> 但那没办法 更新 <h:form> ui:repeat id="repeater" value="#{projectData.paginator.list}" var="project"> <h:outputText value="#{project.title}" /> </ui:repeat> <h:commandLink action="#{overviewController.filterNew}"> <h:outputText value="Filter List" /> <f:ajax event="click" render="repeater"/> </h:commandLink> </h:form> 也不行…也许我想把动作方法(overviewController.filterNew)放入ajax标签? 更新2 <f:ajax event="click" render="repeater"> <h:commandLink action="#{overviewController.filterEBus}"> <h:outputText value="EBusiness" /> </h:commandLink> </f:ajax> 也不行! 也许是不可能重新安装中继器?还有另外一个元素,如div标签,还是可以重载的东西? … 感谢您的帮助
< ui:repeat>本身不会向输出生成任何HTML. < f:ajax render>期望出现在HTML DOM树中的ID.把它放在< h:panelGroup>用id和引用它.
<h:form> <h:panelGroup id="projects"> <ui:repeat value="#{projectData.paginator.list}" var="project"> <h:outputText value="#{project.title}" /> </ui:repeat> </h:panelGroup> <h:commandLink action="#{overviewController.filterNew}"> <h:outputText value="Filter List" /> <f:ajax execute="@form" render="projects" /> </h:commandLink> </h:form> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |