有没有办法从 a 设置 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 属性?(不使用静态属性)
- 使用现有方法是否会出现任何并发问题(一个用户可能会收到其他用户选择的推荐对象等)?
谢谢