java web 菜鸟,还是下拉菜单的问题,求高人!
想了很多办法还是没解决这个问题,
jsp页面中关键代码:
<jsp:useBean id="sql" scope="application" class="com.wsy.Sqluser"/>//这句想去掉,希望所有jsp请求是servlet处理,不直接调用javabean。
<form action="../MyTest"  method="post">      //跳转方式
List list=(List) request.getAttribute("bm");      //引用值
System.out.println(list);
<select name="bumen" id="bumen" style="width:140px;">       //javabean引用下拉菜单可以实现
         <option >请选择部门</option>               
     	<%
     		List list=(List) request.getAttribute("bm");           //试着引用一下servlet里面的值,结果是null
     		System.out.println(list);
     		for(int i=0;i<sql.bumenchaxun(sql1).size();i++)          //javabean实现效果成功
     		{ 			
     	%>  
            	<option  value=<%=i%>><%=sql.bumenchaxun(sql1).get(i)%></option>
         <%}%>
          </select>     
<input type="submit" value="确定">
servlet关键代码:
String sql1="select bumenname from bumen where 1=1";                           //查询的语句
		try {
			List<String> list =sqluser.bumenchaxun(sql1);    //这个方法的返回值也是list		
			System.out.println(list);                        //跳转以后有结果
			request.setAttribute("bm", list);			
		} catch (
SQLException e1) {
			e1.printStackTrace();
		}
javabean中相关方法:
public List<String> bumenchaxun(String sql) throws SQLException
{
}
运行结果为:
null
实现的目的,登陆界面包括账号、密码和部门,其中部门必须通过数据库查询,现在是直接调用javabean实现的,我希望能通过servlet,就是jsp请求-servlet调用javabean、处理、传参-jsp赋值给下拉菜单,两个jsp为同一页面。
------解决方案--------------------首先要确定你的页面是否是通过servlet跳转过来的,你这个登陆页面是直接访问的jsp页面吧?
------解决方案--------------------设置一个默认的值
if( list !=null){
//你原来的处理
}else{
//默认结果,也就是给list赋值
}
------解决方案--------------------你可以在一个空页面里写js跳转脚本,执行servlet