java--jsp+ssh+select动态结合数据和选择(解)

在三层体系结构和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>


版权声明:本文博主原创文章,博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/hrhguanli/p/4818290.html