から Bean プロパティを設定する方法はありValidator
ますか?
私の場合、validator
データベースに接続していくつかの検証を実行する があります。
検証が成功したら、データベースから受け取ったオブジェクトを Bean プロパティ内に保存したいと思います。
現在、バリデーターから Bean の静的プロパティを設定することでこれを行っています。
ここに私のバリデーターメソッドがあります
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
//perform validation
if(isValidated) {
Referral ref = database.getReferral(value.toString()); //receive referral object from batabase
RegistrationBean.staticReferral = ref; // Set ref to RegistrationBean's static property
} else {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_FATAL, "Invalid Referral!", "Referral does not exist!");
throw new ValidatorException(msg);
}
}
そしてここに私のRegistrationBean
@ManagedBean
@ViewScoped
public class RegistrationBean implements Serializable {
//other bean properties
private Referral referral;
public static Referral staticReferral;
public RegistrationBean() {
//default constructor
}
public Referral getReferral() {
this.staticReferral = referral;
return referral;
}
// other getters, setters and methods
}
したがって、私の頭の中の質問は次のとおりです。
- Bean プロパティを Bean から直接設定する方法はありますか? (静的プロパティを使用しない場合)
- 既存のアプローチを使用すると、同時実行の問題 (あるユーザーが他のユーザーの選択した参照オブジェクトを受け取るなど) はありますか?
ありがとう