Eclipse f:viewAction不调用操作方法
我无法使带有f:viewAction标记的操作方法正常工作 以下是jsf页面:Eclipse f:viewAction不调用操作方法,eclipse,jsf,jsf-2,jsf-2.2,Eclipse,Jsf,Jsf 2,Jsf 2.2,我无法使带有f:viewAction标记的操作方法正常工作 以下是jsf页面: <ui:composition xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core"> <ui:repeat var="genreType" value="#{navigation.
<ui:composition xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<ui:repeat var="genreType" value="#{navigation.genreTypeList}">
<f:metadata>
<f:viewParam name="nameEn" value="#{genreType.name_en}" required="true" />
<f:viewAction action="#{search.searchByGenreType}" />
</f:metadata>
<h:link value="#{genreType.name_de}" outcome="index" includeViewParams="true" /><br />
</ui:repeat>
</ui:composition>
我正在使用JSF2.2.5和Tomcat7.0.42,IDE是EclipseKepler(4.3.1)。
我尝试了不同的变体(bean中的@PostConstruct、faces-config.xml中的显式导航、新旧名称空间)
名称空间应该没有问题,因为自JSF 2.2.5以来,名称空间已经修复。这段代码没有任何意义。你似乎把
和
搞混了。您需要
向链接添加HTTP请求参数。
用于将传入的HTTP请求参数设置为bean属性
给定一个带有参数的链接列表的具体功能需求,该列表应在目标页面上将参数设置为bean属性并调用bean操作,以下是您应该如何实现它:
包含链接列表的源页面:
<ui:repeat var="genreType" value="#{navigation.genreTypeList}">
<h:link value="#{genreType.name_de}" outcome="index">
<f:param name="nameEn" value="#{genreType.name_en}" />
</h:link>
<br />
</ui:repeat>
在searchByGenreType()
方法中,您可以直接访问nameEn
属性
另见:
ui:repeat
之外使用f:metadata
会发生什么?代码首先没有任何意义<代码>嗯?具体的功能需求是什么?也许您将
与
混淆了?@BalusC:jsf页面通过ui:include包含在模板中。现在我知道它不是那样工作的。这个想法是通过genreTypeList进行迭代,这样我就可以得到一个链接列表。每个链接都应该能够调用action方法。好的,我发布了一个答案。谢谢。现在它起作用了。问题确实是关于提到的标签和我使用的模板结构的混淆。
<ui:repeat var="genreType" value="#{navigation.genreTypeList}">
<h:link value="#{genreType.name_de}" outcome="index">
<f:param name="nameEn" value="#{genreType.name_en}" />
</h:link>
<br />
</ui:repeat>
<f:metadata>
<f:viewParam name="nameEn" value="#{search.nameEn}" required="true" />
<f:viewAction action="#{search.searchByGenreType}" />
</f:metadata>