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

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

java--jsp+ssh+select动态结合数据和选择(解)的更多相关文章

  1. Jquery+Ajax实现Select动态添加数据

    https://blog.csdn.net/zhengxiangwen/article/details/46480687 最近在工作中,遇到了一个关于select的问题.一般情况下,select下拉框 ...

  2. 《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)

    1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助. 2.select 下拉框 2.1Select ...

  3. (转)Jquery+Ajax实现Select动态定数据

    解决思路: 在数据库中建立类型字典式表.将下拉框需要添加的项,在数据库表里中文.英文名称对应起来. 下拉框动态绑定数据库表中需要字段. <div id="bgDiv" sty ...

  4. vuejs 中 select 动态填充数据,后台的数据

           selected:"A" 对       selected:A 错.  变量不用引号. 内容一定要引号. https://jsfiddle.net/rgnuaw30/ ...

  5. python爬取动态网页数据,详解

    原理:动态网页,即用js代码实现动态加载数据,就是可以根据用户的行为,自动访问服务器请求数据,重点就是:请求数据,那么怎么用python获取这个数据了? 浏览器请求数据方式:浏览器向服务器的api(例 ...

  6. Java 和 Python 解析动态 key 的 JSON 数据

    一.概述 解析JSON过程中,什么情况都可能遇到.遇到特殊的情况,不会怎么办?肯定不是设计的问题,一定是你的姿势不对. 有这样一种JSON需要解析: { "b3444533f6544&quo ...

  7. bootstrap-multiselect.js如何动态更新select里的数据

    在使用jQuery的bootstrap-multiselect插件时可能会遇到一个问题 就是想要动态的去更新select里的数据 比如我们要使一个id=select的选择框实现多选 那么先用ajax获 ...

  8. java基础之集合框架--使用ArrayList类动态 存储数据

    一.ArrayList是List接口下的一个实现类,实现了长度可变的.连续的数组:拥有数组的特性. 遵循了LIst的规则:不唯一的.有序的. 如果没有增加泛型的话,集合中可以添加任何类型的数据. 使用 ...

  9. [Java] JSP笔记 - Filter 过滤器

    一.什么是Web过滤器 Servlet API 很久以前就已成为企业应用开发的基石,而 Servlet 过滤器则是对 J2EE 家族的相对较新的补充. Servlet 过滤器是可插入的 Web 组件, ...

随机推荐

  1. C语言malloc和free实现原理

    以下是一段简单的C代码,malloc和free到底做了什么? int main() { char* p = (char*)malloc(32); free(p); return 0; } malloc ...

  2. ubuntu_安装aptana3

    下面记录下偶怎么安装aptana3(aptana2应该也适用). 安装java运行时,偷看这里 说明:实际上偶并没有执行这步,因为发现在安装aptana3之前 java的运行时已经安装过了. 貌似是安 ...

  3. MySQL RR隔离 读一致性

    MySQL RR 模式下 事务隔离问题: Session 1: mysql> select * from test; +------+------+ | id | name | +------+ ...

  4. 关于Char* ,CString ,WCHAR*之间的转换问题

    GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*.我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *.得益 ...

  5. uva 10972 RevolC FaeLoN cdoj 方老师和农场

    //自己写的第一发tarjan 解:先进行双连通分解并缩点,分解后一定是一颗树,设叶节点个数为n那么答案就是(n+1)/2 关于双连通分量求解:在跑tarjan时判断每个点连向父节点的边是否是桥,如果 ...

  6. mysql中使用正则表达式时的注意事项

    mysql不支持\d元字符匹配数字 mysql不支持向前.向后查找 regexp不能和not搭配使用

  7. SQLite使用报告

    SQLite简介 SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目. 不像常见的客户-服务器范例,SQLite引擎不是个程 ...

  8. Linux mint 17中文输入法安装,改动linux mint与windows7双系统启动顺序

    安装好linux mint17后,进入mint系统,首先须要一个比較合适的中文输入法. 一.首先迎来的就是安装中文输入法了,之前听说搜狗为ubuntu kinly定制了输入法,所以就想安装搜狗输入法, ...

  9. oauth2认证

    using System; using System.Collections.Generic; using System.Security.Cryptography; using System.Con ...

  10. AngularJs(五)从Controller控制器谈谈$scope作用域

    大纲 用于简单示例和简单应用的controller 应用 多个controller应用的作用域问题 controller继承作用域问题 Controller的创建 AngularJs controll ...