JSF行动与结果属性

dev*_*dev 6 jsf jsf-2

我是JSF的新手,并试图了解动作与结果属性之间的区别是什么?这不是按钮和命令按钮之间的区别,而是同一按钮标签上的结果与动作属性之间的区别.

例如,我可以:

<h:button value="Go" outcome="<value>" />
Run Code Online (Sandbox Code Playgroud)

要么

<h:button value="Go" action="<value>" />
Run Code Online (Sandbox Code Playgroud)

我不确定何时使用哪一个.另外,如果<value><#{bean.methodThatReturnsStringInNavigationRule}>或者它会有所作为<string literal in navigation rule>吗?

谢谢.

Xtr*_*ica 13

区别在于,当action定义了要执行的服务器方法时,results指定了一个view-id,它将是你页面的目标.您必须根据您尝试实现的目标使用JSF输入:

  • <h:button outcome="user-management">将您定位到用户管理页面.想象一下它是一种联系.
  • <h:commandButton action="#{backingBean.goToUserManagement}"如果在操作方法中返回"user-management",则与结果相同,但它允许您在服务器端执行某些逻辑.它必须嵌入到h:form标签中.

也有没有区别<h:button outcome="user-management"><h:button outcome="#{backingBean.userManagementNavigationResult}">您的服务器端getter方法返回"用户管理"的价值,尽可能.

  • `<h:button>`可以在`<h:form>`之外使用,而`<h:commandButton>`则不能. (4认同)