commandButtonがヒットしたときに基本的にユーザーのエントリを処理するWebアプリケーションがあり、トランザクションの応答/結果メッセージを受け取る必要があります。別のJSFページに表示されます。応答中にバッキングBeanからJSFページへのパス/リダイレクト/ディスパッチ方法
は、ここで私が何をしたいのサンプルです:私はJSF2とprimefaces
registration.xhtml使用しています - トランザクションの開始点
RegistrationBeanを - registration.xhtmlが使用するバッキングBeanを - registration.xhtmlのcommanButtonを介して呼び出され、ナビゲーション用の文字列(result.xhtml)を返す "create"メソッド(ResultBeanの入力データを処理し、おそらくResultBeanを設定します)
result.xhtmlから
ResultBean取引の結果UIは - 私はインターネット上でのサンプルのために検索してきたresult.xhtml
で必要な値を保持し、1を見つけることができませんように見えます。これを達成する方法はありますか?それがない場合は、おそらく回避策ですか?私はこれを使って初心者です。どんな助けでも大歓迎です。前もって感謝します! サンプルコードは下記を参照してください。
registration.xhtml:
<h:form style="position: absolute" id="basicPartyRegistration">
<h:panelGroup>
<h:commandButton id="createButton1" action="#{partyRegistration.create}" value="Create">
</h:commandButton>
<h:button outcome="welcome" value="Main Page" id="mainPageButton" />
</h:panelGroup>
<br />
<h:panelGroup>
<p:panelGrid columns="2">
<h:outputText value="Receiver:" />
<h:inputText id="receiver"
value="#{partyRegistration.partyRegistrationInfo.receiverGLN}"
size="15" maxlength="13" />
<h:outputText value="TransmittingData:" />
<h:inputText id="transmittingDataPool"
value="#{partyRegistration.partyRegistrationInfo.transmittingDataPool}"
size="15" maxlength="13" />
<h:outputText value="PartyData:" />
<h:inputText id="partyData"
value="#{partyRegistration.partyRegistrationInfo.partyDataPool}"
size="15" maxlength="13" />
</p:panelGrid>
.....
.....
RegistrationBean:
@ManagedBean (name = "partyRegistration")
@viewScoped //Changed to @ConversationScoped
public class RegistrationBean implements Serializable{
private String receiver
private String transmittingData;
private String partyDataPool;
@ManagedProperty (value = "resultBean")
private Result result;
// more variables
//public getters and setters
public String create(){
// do some processing
// some magic way to set RESULT bean to be used in the next page
return "result";
}
}
result.xhtml
<h:form style="position: absolute" id="partyRegistrationResponse">
<h:panelGroup>
<h:button outcome="welcome" value="Main Page" id="mainPageButton" />
</h:panelGroup>
<br/>
<h:panelGroup>
<p:panelGrid columns="4">
<h:outputText value="Last Date Changed: " />
<p:inputText id="lastDateChg" value="#{partyResponse.lastChangedDateItem}"
title="Last Date Changed" size="15" >
</p:inputText>
</p:panelGrid>
<h4>Response Identification</h4>
.....
.....
ResultBean:()メソッドを作成し、あなたのRegistrationBean年代にResultBeanを作成し、資格の範囲でプログラム的な方法でそれを置くために
@ManagedBean (name = "partyResponse")
@ViewScoped //changed to @ConversationScoped
public Class ResultBean implements Serializable{
private Date lastChangedDateItem;
//more variables
//getters and setters
}
のfaces-config.xmlの
<navigation-rule>
<navigation-case>
<from-outcome>result</from-outcome>
<to-view-id>/result.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
:
とご登録の豆で:セッションでたとえば
は、現在の結果を保持するBeanをスコープ。問題はどこだ? (ナビゲーションルールはJSF 2.0では必要ありません) –
Thanks Matt。ここで達成しようとしているのは、result.xhtmlにResultBean(createButtonで設定されている)が含まれていることです。 result.xhtmlページ –