1

我创建了一个非常简单的 JSF 来测试什么是回发。JSP 包含一个用于打印“adfFacesContext.postback”表达式的输出文本,以及一个用于提交的按钮。

<f:view>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
  <title>TEST</title>
</head>
<body>
  <af:form>        
    <h:outputText value="#{adfFacesContext.postback}" />
    <h:commandButton value="SUBMIT" action="ok"/>
  </af:form>
  </body>
</html>
</f:view>

我在 faces-config.xml 中创建了一个导航规则:

  <navigation-rule>
    <from-view-id>/test.jsp</from-view-id>    
    <navigation-case>
      <from-outcome>ok</from-outcome>
      <to-view-id>/test.jsp</to-view-id>
    </navigation-case>    
  </navigation-rule>

第一次加载页面时,“adfFacesContext.postback”表达式被评估为 false,所以一切正常。

但是当我按下按钮时,“adfFacesContext.postback”表达式再次被评估为假。

为什么?

我观察到如果我从 faces-config.xml 中删除导航规则,当我按下按钮时,“adfFacesContext.postback”表达式被评估为真。

为什么我必须删除导航规则才能获得正确的结果?

4

0 回答 0