0

私は基本的に.net開発者であり、jsfを初めて使用するため、非常に基本的な質問であり、その答えは非常に明白である可能性があります。申し訳ありません。

私はjsfアプリケーションを開発しました。ここには、個人データと他の機能のためのリンクボタンが記載されたフォームがあります。個人データが入力されてjsfに表示されたら、そのリンクボタンをクリックします。これにより、いくつかのBean機能が呼び出されます。しかし、私の以前の「個人データ」のデータは損失です。または、私のjsfページのポストバックデータで失われた/リセットされたと言うことができます。

編集:これが私のjsfとbeanです

<f:view> 
<h:form> 
<h:inputText value="#{myBean.name}"/>
<h:commandButton action="#{myBean.getInfo}/>
<h:outputText value="#{myBean.fullName}"/> 
<h:outputText value="#{myBean.contactNo}"/> 
<h:commandLink action="#{myBean.changeContactNo"}/> 
</h:form> 
</f:view> 

およびmyBean:

 public class myBean
    {
        private String name;
        private String fullName;
        private String contactNo;

        public myBean()
        {
        }

        public String getInfo()
        {
            String endName = getname();
            fullName = "Prof"+ endName;
            contactNo = "12345";
        }

        public String changeContactNo()
        {
            contactNo = "999999";
        }
    }

コマンドボタンをクリックすると、フルネームと連絡先番号が設定されます。
しかし、リンクボタンをクリックすると、連絡先番号のみが変更されます。ただし、outputTextの「fullName」値は失われます。

4

1 に答える 1

0

おそらくBeanスコープを探す必要があります。現在、リクエストスコープのBeanを使用している可能性があります。ビュースコープまたはセッションスコープに切り替えてみてください。

編集:そして、ゲッターとセッターを使用して、バッキング Bean の html フォーム要素に関連する対応するデータ フィールドが必要です。

于 2012-06-29T06:29:42.313 に答える