struts2 select 默认选中
2015-07-04 22:26
357 查看
需求: 在查询页查询出数据后,点击修改,将对应的值在修改界面展示,对应某些属性为select ,需要在修改界面默认对某个值进行选中。
方案:
1、跳转新增的action处理:
定义一个list,在新增界面使用
private List isMainList= new ArrayList();
public List getIsMainList() {
return isMainList;
}
public void setIsMainList(List isMainList) {
this.isMainList = isMainList;
}
跳转新增的方法中进行:
this.setIsMainList(BaseData.getSysBaseTypeList(IS_MAIN_KEY)); // 此处获取到的list为一个bean的list bean中有属性code_value cname
2、新增界面展示:
<td>
<s:select
name="rmBean.is_main" id="rmBean.is_main" list="isMainList"
listKey="code_value" listValue="cname" headerKey="0"
headerValue="--请选择--"
cssClass="vocation"></s:select>
</td>
3、修改时在action中增加修改对象:
utilsBean含有2个属性 key value
private UtilsBean modIsMain = new UtilsBean() ;
public UtilsBean getModIsMain() {
return modIsMain;
}
public void setModIsMain(UtilsBean modIsMain) {
this.modIsMain = modIsMain;
}
跳转到修改界面的方法中进行设置:
this.setIsMainList(BaseData.getSysBaseTypeList(IS_MAIN_KEY));
int isMain=0;
if(!"0".equals(modBean.getIs_main())) // modBean为要修改的bean
isMain =Integer.valueOf(modBean.getIs_main()).intValue();
modIsMain.setKey(isMain+"");
List tmpList = BaseData.getSysBaseTypeList(IS_MAIN_KEY);
for(int i=0 ; i<tmpList.size(); i++){
RmSysBaseTypeBean sbtBean = (RmSysBaseTypeBean)tmpList.get(i);
if(sbtBean.getCode_value() ==isMain){
modIsMain.setValue(sbtBean.getCname());
break;
}
}
对modIsMain对象进行赋值,在前台界面使用
3、前台修改界面:
<s:select
name="rmBean.is_main" id="rmBean.is_main" list="isMainList"
listKey="code_value" listValue="cname" headerKey="%{modIsMain.key}"
headerValue="%{modIsMain.value}"
cssClass="vocation"></s:select>
如果使用这段代码,修改数据中选中的属性会展示2次。
修改采用下面的代码,展示成功:
<s:select
name="rmBean.is_main" id="rmBean.is_main" list="isMainList"
listKey="code_value" listValue="cname" value="%{modIsMain.value}"
cssClass="vocation"></s:select>
</td>
方案:
1、跳转新增的action处理:
定义一个list,在新增界面使用
private List isMainList= new ArrayList();
public List getIsMainList() {
return isMainList;
}
public void setIsMainList(List isMainList) {
this.isMainList = isMainList;
}
跳转新增的方法中进行:
this.setIsMainList(BaseData.getSysBaseTypeList(IS_MAIN_KEY)); // 此处获取到的list为一个bean的list bean中有属性code_value cname
2、新增界面展示:
<td>
<s:select
name="rmBean.is_main" id="rmBean.is_main" list="isMainList"
listKey="code_value" listValue="cname" headerKey="0"
headerValue="--请选择--"
cssClass="vocation"></s:select>
</td>
3、修改时在action中增加修改对象:
utilsBean含有2个属性 key value
private UtilsBean modIsMain = new UtilsBean() ;
public UtilsBean getModIsMain() {
return modIsMain;
}
public void setModIsMain(UtilsBean modIsMain) {
this.modIsMain = modIsMain;
}
跳转到修改界面的方法中进行设置:
this.setIsMainList(BaseData.getSysBaseTypeList(IS_MAIN_KEY));
int isMain=0;
if(!"0".equals(modBean.getIs_main())) // modBean为要修改的bean
isMain =Integer.valueOf(modBean.getIs_main()).intValue();
modIsMain.setKey(isMain+"");
List tmpList = BaseData.getSysBaseTypeList(IS_MAIN_KEY);
for(int i=0 ; i<tmpList.size(); i++){
RmSysBaseTypeBean sbtBean = (RmSysBaseTypeBean)tmpList.get(i);
if(sbtBean.getCode_value() ==isMain){
modIsMain.setValue(sbtBean.getCname());
break;
}
}
对modIsMain对象进行赋值,在前台界面使用
3、前台修改界面:
<s:select
name="rmBean.is_main" id="rmBean.is_main" list="isMainList"
listKey="code_value" listValue="cname" headerKey="%{modIsMain.key}"
headerValue="%{modIsMain.value}"
cssClass="vocation"></s:select>
如果使用这段代码,修改数据中选中的属性会展示2次。
修改采用下面的代码,展示成功:
<s:select
name="rmBean.is_main" id="rmBean.is_main" list="isMainList"
listKey="code_value" listValue="cname" value="%{modIsMain.value}"
cssClass="vocation"></s:select>
</td>
相关文章推荐
- java学习10--循环结构for语句
- 【阿里巴巴】集团客户服务事业部招聘实习生
- Java的多线程机制下
- Struts2 单个文件上传/多文件上传
- java String部分源码解析
- 2015年7月4日解决问题:eclipse连接access数据库问题//java五中布局及其应用方法//equals()与==的区别等
- Java中的浅拷贝与深拷贝
- java 反射详解
- mac系统eclipse用android第三方模拟器genymotion调试程序
- 堆排序 java实现
- 2015070412 - EffactiveJava笔记 - 第62条 每个抛出的异常都要有文档
- java 运行参数设置
- java基础学习笔记汇总之面向对象
- 关于java Date和时区的问题
- SpringMVC——接收请求参数和页面传参
- Java常见错误
- [转]java基本类型(内置类型)取值范围
- java学习10--循环结构while练习
- 《Java课程实习》日志(周六)
- GIT基本概念和用法总结