我刚接触过JSF,并试图了解动作与结果属性之间的区别?这不是按钮和命令按钮之间的区别,而是上相同的按钮标记上的结果与动作属性之间的区别。
例如,我可以:
<h:button value="Go" outcome="<value>" />
或
<h:button value="Go" action="<value>" />
我不知道什么时候该用哪一个。另外,如果<value>
是<#{bean.methodThatReturnsStringInNavigationRule}>
还是<string literal in navigation rule>
,会有什么区别吗?
谢谢。
发布于 2013-02-23 00:40:01
不同之处在于,当action定义要执行的服务器方法时,outcome指定一个视图id,该视图id将是页面的目的地。您必须使用JSF输入,这取决于您要实现的目标:
<h:button outcome="user-management">
的目标是用户管理页面。把它想象成一种联系。<h:commandButton action="#{backingBean.goToUserManagement}"
与结果相同,但允许您在服务器端执行某些逻辑。它必须嵌入到h:form
标记中。<h:button outcome="user-management">
和<h:button outcome="#{backingBean.userManagementNavigationResult}">
之间也没有区别,因为服务器端getter方法返回“用户管理”值。
https://stackoverflow.com/questions/15035232
复制相似问题