[英]Checkbox JSF - not returning correct value
這是我的問題
我正在使用jsf,因此我的表單包含3個字段-h:inputText -h:inputSecret -h:selectBooleanCheckbox
Bean的結構如下:
public class UserBean {
private CustomerData customer;
public CustomerData getCustomer() {
return customer;
}
public CustomerData getCustomer() {
return customer;
}
}
CustomerBean
public class CustomerData implements Serializable {
String email = null;
String password = null;
Boolean keepLogged = false;
public CustomerData() {
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Boolean getKeepLogged() {
return keepLogged;
}
public void setKeepLogged(Boolean keepLogged) {
this.keepLogged = keepLogged;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
因此,當我提交表單時,電子郵件和密碼正確無誤,但keepLogged保持為false則不再檢查或否。 有任何想法嗎?
<h:selectBooleanCheckbox styleClass="checkbox" id="remember" value="#{UserBean.customer.keepLogged}" title="#{res.CommonRememberMeTitle}"/>
這是更多的代碼
<h:inputText value="#{UserBean.customer.email}" binding="#{email}" id="email" tabindex="1" maxlength="250">
</h:inputText>ck
<h:inputSecret value="#{UserBean.customer.password}" binding="#{password}" id="password" tabindex="2" maxlength="50" required="true">
</h:inputSecret>
</span>
問題是當您更改復選框的值以使新值(更改后的值)未在bean變量中綁定或設置時。 可能就是您使用過的表格問題。
我對此有一個解決方案,無論您喜不喜歡。 您可以使用a:support。
這是我的例子
如果您想在h:inputText中使用ajax支持,那么這里是示例
在XHTML文件中
<h:selectBooleanCheckbox
value="#{UserBean.customerData.keepLogged}">
<a:support event="onclick" limitToList="true"
action="#{UserBean.codeValue(UserBean.customerData.keepLogged)}"/>
</h:selectBooleanCheckbox>
在Bean文件中
Class UserBean
private CustomerData customerData = new CustomerData ();
public void codeValue(Boolean value){
info("HERE IS YOUR VALUE : " + value);
customerData.setKeepLogged(value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.