1

非常に単純なシナリオがあります。バッキングBeanのプロパティをバインドしようとしています。

<tr:inputText secret="true" id="passw"
                      required="true" binding="#{registrationBean.password}"/>

trはトリニダードタグライブラリです。

RegistrationBean:

public RegistrationBean()
{
   ...
   CoreInputText password = new CoreInputText();
}

...

public CoreInputText getPassword() {
    return password;
}

public void setPassword(CoreInputText password) {
    this.password = password;
}

問題は、検証フェーズ中に、参照パスワードが実際に目的のタグにバインドされているものとは異なるUIInputコンポーネントを指していることです。私はアイデアを使い果たしました。なぜそれがそのように起こっているのですか。助言がありますか?

4

1 に答える 1

1

自分で作成しないでください。JSF に作成させます。

交換

CoreInputText password = new CoreInputText();

CoreInputText password;

そうしないと、リクエストスコープのBeanを使用しているため、リクエストごとに新しいものが作成されます。

于 2012-07-18T00:38:52.603 に答える