我是JSF的新手,正在尝试了解操作与结果属性之间的区别是什么?这不是按钮和命令按钮之间的区别,而是相同按钮标记上的结果属性与操作属性之间的区别。
例如,我可以拥有:
<h:button value="Go" outcome="<value>" />
或者
<h:button value="Go" action="<value>" />
我不确定何时使用哪个。另外,如果
<value>
是<#{bean.methodThatReturnsStringInNavigationRule}>
或<string literal in navigation rule>
,这也会有所不同吗?谢谢你。
最佳答案
不同之处在于,虽然操作定义了要执行的服务器方法,但结果指定了将作为页面目标的 View 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方法返回“用户管理”值即可。
关于jsf - JSF行动与结果属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035232/