毕设笔记--SSH前台JSP页面下拉列表框的值从数据库动态获取
来源:互联网 发布:node.js promise 编辑:程序博客网 时间:2024/05/22 03:31
今天的遇到的一个问题是:我想在前台JSP页面中做一个下拉列表框,
而这个列表框中显示的值是从数据库的一张表中动态获取的。
比如,表中有北京,上海,广州这三个数据,JSP的下拉框中显示的也是这三个值。
以后再表中新增了杭州,下拉框就相应的显示这四个城市。
对,就是这么简单的一个问题搞了我一上午。。。
-------------------------------------------------------------------------
之后在JSP中,可以用request.getAttribute("XXX")获得这里保存的list
3.3 下拉列表框的写法:
PS. 3.2中的最后一句千万要写。用<c:forEach>这个标签时的数据来源就是这个???
而这个列表框中显示的值是从数据库的一张表中动态获取的。
比如,表中有北京,上海,广州这三个数据,JSP的下拉框中显示的也是这三个值。
以后再表中新增了杭州,下拉框就相应的显示这四个城市。
对,就是这么简单的一个问题搞了我一上午。。。
-------------------------------------------------------------------------
这个应当是在JSP页面加载的时候,下拉列表框就已经有值了。
这些值必然是要从后台取的,写在后台的action中。
1. 在JSP的body标签里面的第一句,加上
<pre name="code" class="html"><body> <s:action name="loadDistrict" namespace="/"></s:action>
这是Struts用来调用action的标签,name属性要在struts.xml中有定义。
比如我的struts.xml中是这样写的:
<action name="loadDistrict" class="com.edu.zjut.action.LoadDistrictInfoAction"> <result name="success">/jsp/college/addCollegeInfo.jsp</result><result name="error">/jsp/college/addCollegeInfo.jsp</result> <result name="input">/jsp/college/addCollegeInfo.jsp</result> </action>
</pre><p>表示从数据库取值的代码写在 LoadDistrictInfoAction.java这个类中。</p><p>addCollegeInfo.jsp就是我最终要展示下拉框的页面。</p><p>在调用的 LoadDistrictInfoAction.java这个类的方法了之后,不管结果怎样,都会跳到addCollegeInfo.jsp页面。</p><p></p><p>2. LoadDistrictInfoAction.java 类中的写法。</p><p>因为项目用的是SSH框架,所以所有层都需要用Spring管理。</p><p>进入action调用的方法代码:</p><p><pre name="code" class="html">public String execute() {HttpServletRequest request = ServletActionContext.getRequest();ArrayList districtList = districtService.getAllDistrictInfos();request.setAttribute("districtList", districtList);return "success";}这里用service获取数据库表中的所有区域信息之后,(是保存在一个list中的),将这个list保存在request中
之后在JSP中,可以用request.getAttribute("XXX")获得这里保存的list
3. addCollegeInfo.jsp JSP页面的写法
3.1 最开头需要导入list的包:
<%@page import="java.util.ArrayList"%>
引入这两个标签库:
<pre name="code" class="html"><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="s" uri="/struts-tags" %>第一个标签库是后面遍历list时用<c:forEach>会用到,第二个标签库是在前面<s:action>会用到
3.2 JSP中嵌入Java代码的写法:
<%ArrayList listCode = (ArrayList<DistrictInfo>)request.getAttribute("districtList") ; //把之前在action类中set的list取出来List newList = new ArrayList<DistrictInfo>();for(int i=0; i<listCode.size(); i++){ //System.out.println("地区:" +i+ ( (DistrictInfo)listCode.get(i) ).getName()); newList.add( (DistrictInfo)listCode.get(i) ); } request.setAttribute("disList", newList); //这里set是后面<c:forEach>标签会用到 %>
3.3 下拉列表框的写法:
<div><label>所在区域:</label> <div class="col-sm-8"><select name="collegeDistrictId" id="collegeDistrictId"><c:forEach items="${disList}" var="item"> <option value="${item.districtId}">${item.name}</option></c:forEach> </select> </div></div>
PS. 3.2中的最后一句千万要写。用<c:forEach>这个标签时的数据来源就是这个???
0 0
- 毕设笔记--SSH前台JSP页面下拉列表框的值从数据库动态获取
- jsp页面加载的时候,从后台获取数据,页面加载完成之后,下拉列表中已经有值
- 动态添加下拉列表框,并从后台获取值
- 下拉框中的值从数据库动态获取
- 从数据库中动态选取下拉列表的方法
- DropDownList从XML配置文件动态获取下拉列表值
- 模糊查询,从数据库获取值,返回前台JSP的方法。
- 动态增删输入框和下拉列表框源代码------下拉列表值从数据库取得(Ajax)
- 从数据库里查询数据,显示在jsp的下拉列表框里
- JSP 如何获取下拉列表的选中的值是数据库表的对应数据
- angularjs 动态从后台获取下拉框的值
- 从数据库中获取值填入下拉列表,然后做二级关联所产生的一系列问题
- loushang5关于DataSet通过后台查询出的数据如何映射到前台JSP页面的下拉列表中
- jsp获取下拉列表select选择的值
- JQuery根据下拉列表的值动态修改页面内容
- 下拉列表select动态初始化 (JSP页面)
- 下拉列表select动态初始化 (JSP页面)
- 前台,js获取选中的下拉框的值
- avformat_find_stream_info接口延迟降低
- 数组的基本概念和初始化方式
- C语言编程程序的内存如何布局
- OC学习笔记(2)——@class指令
- 深入浅出Nodejs
- 毕设笔记--SSH前台JSP页面下拉列表框的值从数据库动态获取
- 修改VLC读缓冲机制
- hdu 1754
- 用 Apache JMeter 测试 WebSphere 性能
- 2014年武汉的IT行情好像不太好(续):20个月过后,再看当时面试过的几个公司--武汉财富基石-崩盘,辣妈萌宝-创业失败,朋友公司转交他人管理
- POJ 1001--Exponentiation
- hdu 2647 Reward
- POJ 1177 Picture
- ZOJ - 3870 Team Formation (位运算)