当我在其 URI 中使用参数调用页面中的方法时,除非我再次传递 uri 的参数,否则不会调用该方法。例如,如果我有:
http://maywebsite/myapp/mypage.xhtml?mykey=myvalue
此方法会导致错误(显然是因为它在没有参数的情况下再次呈现页面,但从未调用方法 foo):
<h:commandLink value="Do Action" actionListener="#{mybean.foo}"/>
所以我添加了一个 ajax 来只更新组件,但按钮没有被触发:
<h:commandLink value="Do Action" actionListener="#{mybean.foo}">
<f:ajax render="somecomponent"/>
</h:commandLink>
当我再次传递参数值时,按钮调用该方法就好了:
<h:commandLink value="Do Action" actionListener="#{mybean.foo}">
<f:param name="mykey" value="myvalue"/>
<f:ajax render="somecomponent"/>
</h:commandLink>
但是,此按钮包含 (ui:include) 在具有不同参数键和值的许多页面中。如何在不传递参数值的情况下调用该方法?
我正在使用 glassfish 3.1.2、jsf 2.0