
jsf中 点击按钮后跳转 复选框选中的 没存住
用的是复选框这个样子的<t:column><t:selectBooleanCheckboxforceId="true"id="xzbz"value="#{zdzdBean...
用的是复选框 这个样子的
<t:column>
<t:selectBooleanCheckbox forceId="true" id="xzbz" value="#{zdzdBean.selectedId[row.YWLSH]}" style="width: 3em" >
</t:selectBooleanCheckbox>
</t:column>
<td>
<t:commandButton id="save" value="存盘" action="#{zdzdBean.zdzdSave}"
styleClass="button" style="top:10px position: relative; width: 99px" />
</td>
下面是存盘 本来页面上 选中了几条记录 进行存盘 但点击后 后台 得不到选中了 哪些记录
private Map<String,Boolean> selectedId;
public void setSelectedId(String a,boolean b){
selectedId.put(a, b);
}
public Map getSelectedId(){
return selectedId;
}
肯定是点击按钮的时候 页面跳转 重新new了一个bean 然后重新初始化了 请问如何保存 我选中的值 然后跳转后 能把这么复选框给勾上
对了 是先new 一个bean对象 还是先 set 和 get值呀 请看到的帮帮忙 展开
<t:column>
<t:selectBooleanCheckbox forceId="true" id="xzbz" value="#{zdzdBean.selectedId[row.YWLSH]}" style="width: 3em" >
</t:selectBooleanCheckbox>
</t:column>
<td>
<t:commandButton id="save" value="存盘" action="#{zdzdBean.zdzdSave}"
styleClass="button" style="top:10px position: relative; width: 99px" />
</td>
下面是存盘 本来页面上 选中了几条记录 进行存盘 但点击后 后台 得不到选中了 哪些记录
private Map<String,Boolean> selectedId;
public void setSelectedId(String a,boolean b){
selectedId.put(a, b);
}
public Map getSelectedId(){
return selectedId;
}
肯定是点击按钮的时候 页面跳转 重新new了一个bean 然后重新初始化了 请问如何保存 我选中的值 然后跳转后 能把这么复选框给勾上
对了 是先new 一个bean对象 还是先 set 和 get值呀 请看到的帮帮忙 展开
2个回答
展开全部
<t:selectBooleanCheckbox forceId="true" id="xzbz" value="#{zdzdBean.selectedId[row.YWLSH]}" style="width: 3em" valueChangeListener="#{zdzdBean.applySelected}">
</t:selectBooleanCheckbox>
value="#{row.YWLSH}" 这样写 你的table 中var=row是这样的吧
valueChangeListener是JSF中提供的值变更监听事件 是细粒度的action提交无返回值,request请求触发zdzdBean的applySelected()方法去操作结果集
类里的方法这样写
/**
* 页面中checkbox值变监听器
*
*
*/
public void applySelected(ValueChangeEvent event) {
HtmlSelectBooleanCheckbox checkBox = ((HtmlSelectBooleanCheckbox) event
.getComponent());
SimplyApplyBasicInfoVO resultItem = (SimplyApplyBasicInfoVO) resultModel
.getRowData();
if (checkBox.getValue().equals((Object) true)) {
if (!selectedApply.contains(resultItem))
selectedApply.add(resultItem);
} else {
if (selectedApply.contains(resultItem))
selectedApply.remove(resultItem);
}
}
</t:selectBooleanCheckbox>
value="#{row.YWLSH}" 这样写 你的table 中var=row是这样的吧
valueChangeListener是JSF中提供的值变更监听事件 是细粒度的action提交无返回值,request请求触发zdzdBean的applySelected()方法去操作结果集
类里的方法这样写
/**
* 页面中checkbox值变监听器
*
*
*/
public void applySelected(ValueChangeEvent event) {
HtmlSelectBooleanCheckbox checkBox = ((HtmlSelectBooleanCheckbox) event
.getComponent());
SimplyApplyBasicInfoVO resultItem = (SimplyApplyBasicInfoVO) resultModel
.getRowData();
if (checkBox.getValue().equals((Object) true)) {
if (!selectedApply.contains(resultItem))
selectedApply.add(resultItem);
} else {
if (selectedApply.contains(resultItem))
selectedApply.remove(resultItem);
}
}
展开全部
应该是bean里面没有对应get / set 方法,可以这样试一下先:〔
<t:selectBooleanCheckbox forceId="true" id="xzbz" value="#{zdzdBean.selectedId[row.YWLSH]}" style="width: 3em" >
中的value="#{zdzdBean.selectedId[row.YWLSH]}更改成
value="#{zdzdBean.selected}
其中的selected为bean的属性,并且有get /set方法。
<t:selectBooleanCheckbox forceId="true" id="xzbz" value="#{zdzdBean.selectedId[row.YWLSH]}" style="width: 3em" >
中的value="#{zdzdBean.selectedId[row.YWLSH]}更改成
value="#{zdzdBean.selected}
其中的selected为bean的属性,并且有get /set方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询