jsp表单中如何动态的获取select的值 jsp表单中如何动态的获取select的值,就是用三层架构写了个提交表单,其中有一个下接框,这个下拉框对里面的值想从数据库中查出来,页面上不要写连接数据库的代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是当页面载入时,这个select 正好获取动态的值 汗了。。没看清 其实用一个Servlet jsp页面用jstl标签就能实现跳转到这个jsp页面前 查询数据库 把所有要填充的数据集作为请求范围内参数请求转发到该jsp页面用jstl迭代输出 <select><c:forEach var="item" items="${requestScope.参数名}"> <option value="${item}">${item}</c:forEach></select> 有三种方式:1.用ajax2.如果用到了struts2框架,直接用标签3.如果没有用框架,那就用jstl 用jstl是不是一个引用一个Servlet,以一个.do的形式打开这个提交页面 用jstl是不是一个引用一个Servlet,以一个.do的形式打开这个提交页面 没错转到这个jsp页前 定向到一个Servlet 查询数据库后 返回jsp地址进行显示 在jsp页中调用一个java类是怎么调的 在servlet中封装成集合数据,反馈到jsp页面进行遍历读取,即可。lz所问的调用 Java 类,具体是要实现什么? ajax 前台传入url 到后台 后天接受url里面的参数进行处理 然后回调函数 将后台传回的数据 依次赋给前台的 select 就可以了 见下面的代码: <script type="text/javascript" src="js/jquery-1.2.6.js"></script> <script type="text/javascript" src="js/json2.js"></script> <script type="text/javascript" src="js/prototype-1.4.0.js"></script> <script language="javascript" type="text/javascript" src="js/My97DatePicker/WdatePicker.js"></script> <base href="<%=basePath%>"/> <script type="text/javascript"> getUserName(); function getUserName(){ var url="user.do?action=getUserName"; var myAjax = new Ajax.Request(url, {method:"post", onComplete:depCallback, asynchronous:true}); } function depCallback(originalRequest){ var selectobj=document.getElementById("userId"); var rst = originalRequest.responseText; var linearr = eval('('+rst+')'); for(var i=0;i<linearr.length;i++){ var opt=document.createElement("OPTION"); opt.text=linearr[i].userName; opt.value=linearr[i].userId; selectobj.add(opt); } } 上面这个是前台的代码,用到了prototype-1.4.0.js 这个ajax框架 你最好把那几个js文件都引用后台代码:DAO类/** * ajax的后台 增加日程时下拉列表动态获取用户,自己和所有下属 * @return */ public List<User> getUserName(){ User user=new User(); String grade =user.getGrade(); System.out.println("grade=="+grade); String sql= "select userId,userName from s_user where grade <= '"+grade+"'"; System.out.println("sql=="+sql); List<Map> list = new DBBase().selectQuery(sql, null); List<User> userList = BeanFactory.ListToBean("com.woyi.dto.User", list); return userList; }BO类/*** * ajax 动态取出用户名作为下拉列表的 option * @return */ public List<User> getUserName(){ return factoryDAO.getUserDAO().getUserName(); }Action 类/*** * 动态生成添加日程中用户的下拉列表 * @param mapping * @param form * @param request * @param response * @return */ public ActionForward getUserName(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ List<User> userList=factoryBO.getUserBO().getUserName(); System.out.println("***********"); request.setAttribute("userList", userList); JSONArray ja = JSONArray.fromObject(userList); try { PrintWriter out = response.getWriter(); out.write(ja.toString()); out.flush(); } catch (IOException e) { e.printStackTrace(); } return null; }我的这个ajax 就是从后台取出用户名 加载页面时动态显示在select中的 这个就是ajax lz自己领悟~ 用jquery 获取一列值。 最后的事情就是插入数据库。 grayButton.setMargin(new Insets(0,0,0,0)); 没见得这句代码对按钮外观有什么变化? 请教:有没有什么比较好的方法,可以实现一个文件同时上传到多个服务器? JFrame的设计 制作bat文件运行java程序,怎么去掉后面的黑框啊? 请给位高手 给我指点一下 我要学oracle+java 给我提个路线 容器 喜极而泣!我都要哭了!终于不出现error:cannot read HelloWorldApp.java 高手请进来看看!! C转成java语音的问题 java最终变量问题 急!急!!如何验证xml文件的有效性? 请教一个正则全匹配的问题。
跳转到这个jsp页面前 查询数据库 把所有要填充的数据集作为请求范围内参数
请求转发到该jsp页面
用jstl迭代输出
<select>
<c:forEach var="item" items="${requestScope.参数名}">
<option value="${item}">${item}
</c:forEach>
</select>
1.用ajax
2.如果用到了struts2框架,直接用标签
3.如果没有用框架,那就用jstl
用jstl是不是一个引用一个Servlet,以一个.do的形式打开这个提交页面
用jstl是不是一个引用一个Servlet,以一个.do的形式打开这个提交页面
转到这个jsp页前 定向到一个Servlet 查询数据库后 返回jsp地址进行显示
lz所问的调用 Java 类,具体是要实现什么?
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript" src="js/prototype-1.4.0.js"></script>
<script language="javascript" type="text/javascript" src="js/My97DatePicker/WdatePicker.js"></script>
<base href="<%=basePath%>"/>
<script type="text/javascript">
getUserName();
function getUserName(){
var url="user.do?action=getUserName";
var myAjax = new Ajax.Request(url, {method:"post", onComplete:depCallback, asynchronous:true});
}
function depCallback(originalRequest){
var selectobj=document.getElementById("userId");
var rst = originalRequest.responseText;
var linearr = eval('('+rst+')');
for(var i=0;i<linearr.length;i++){
var opt=document.createElement("OPTION");
opt.text=linearr[i].userName;
opt.value=linearr[i].userId;
selectobj.add(opt);
}
} 上面这个是前台的代码,用到了prototype-1.4.0.js 这个ajax框架 你最好把那几个js文件都引用
后台代码:DAO类
/**
* ajax的后台 增加日程时下拉列表动态获取用户,自己和所有下属
* @return
*/
public List<User> getUserName(){
User user=new User();
String grade =user.getGrade();
System.out.println("grade=="+grade);
String sql= "select userId,userName from s_user where grade <= '"+grade+"'";
System.out.println("sql=="+sql);
List<Map> list = new DBBase().selectQuery(sql, null);
List<User> userList = BeanFactory.ListToBean("com.woyi.dto.User", list);
return userList;
}BO类
/***
* ajax 动态取出用户名作为下拉列表的 option
* @return
*/
public List<User> getUserName(){
return factoryDAO.getUserDAO().getUserName();
}Action 类/***
* 动态生成添加日程中用户的下拉列表
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward getUserName(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
List<User> userList=factoryBO.getUserBO().getUserName();
System.out.println("***********");
request.setAttribute("userList", userList);
JSONArray ja = JSONArray.fromObject(userList);
try {
PrintWriter out = response.getWriter();
out.write(ja.toString());
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
return null; }我的这个ajax 就是从后台取出用户名 加载页面时动态显示在select中的
这个就是ajax lz自己领悟~