在三层体系结构和jsp合并项目,如何实现select动态绑定数据和动态选择指定的行?让我们来看看下面的:
1、首先定义一个Bean分类。它用于实例select的结合数据中的每一个id和name:
public class DropDownListBean { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
2、在service业务逻辑层中,要有dropdownlist数据源list的get和set方法:
public class ToDepartmentUpdatePageAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; private DepartmentBean departmentBean; private List<DropDownListBean> list = new ArrayList<DropDownListBean>(); private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } @Resource private IDepartmentManage departmentManage; public DepartmentBean getDepartmentBean() { return departmentBean; } public void setDepartmentBean(DepartmentBean departmentBean) { this.departmentBean = departmentBean; } public IDepartmentManage getDepartmentManage() { return departmentManage; } public void setDepartmentManage(IDepartmentManage departmentManage) { this.departmentManage = departmentManage; } public List<DropDownListBean> getList() { return list; } public void setList(List<DropDownListBean> list) { this.list = list; } @Override public String execute() throws Exception { setDepartmentBean(departmentManage.getDepartments0(" where nid = "+id).get(0)); List tmpList=departmentManage.getddlDepartments(); for (int i = 0; i < tmpList.size(); i++) { Object[] objects = (Object[]) tmpList.get(i); DropDownListBean dropDownListBean = new DropDownListBean(); dropDownListBean.setId((String)objects[0]); dropDownListBean.setName((String)objects[1]); list.add(dropDownListBean); } return "success"; } }
3、在jsp页面中获取list数据源以及bean对象:
<% DepartmentBean departmentBean = (DepartmentBean)request.getAttribute("departmentBean"); String selectParentDeptId = String.valueOf(departmentBean.getParentNo()); List<DropDownListBean> ddlList=(List<DropDownListBean>)request.getAttribute("list"); %>
4、在jsp页面中给select动态绑定数据并动态选中:
<select name="departmentBean.parentNo" id="parentNo"> <% for(int i=0;i<ddlList.size();i++){ DropDownListBean dropDownListBean=ddlList.get(i); %> <option value="<%=dropDownListBean.getId()%>" <%if(selectParentDeptId.equals(dropDownListBean.getId().toString())){out.print("selected");} %> ><%=dropDownListBean.getName()%></option> <% } %> </select>
版权声明:本文博主原创文章,博客,未经同意不得转载。