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」式が再び false と評価されます。

なんで?

Faces-config.xml からナビゲーション ルールを削除すると、ボタンを押したときに "adfFacesContext.postback" 式が true と評価されることがわかりました。

正しい結果を得るためにナビゲーション ルールを削除する必要があるのはなぜですか?

4

0 に答える 0