<select name="select" id="select">
<c:forEach items="${list}" var="dep">
<option value="${dep.groupNo }">${dep.groupName }</option>
</c:forEach>
JSP页面写了上述一个下拉列表的,值有JSTL取的。我用了struts2框架,请问如何在action里取得下拉列表的value值。。就比如说文本框reqeust.getParameter("username");,如果用EL表达式,该如何取呢?

解决方案 »

  1.   

    reqeust.getParameter("select")就可以取到选中的吧
      

  2.   

    正解,下拉列表框其实就是给select节点赋值(起码我个人这么认为的),不会跟复选框按钮一样对应不同的结点ID,曾经我也在这上面纠结过
      

  3.   

    直接提交到action里,用get 方法不能取出来?
      

  4.   

    <select name="select" id="select">
    名字不要写select 这个是关键字。
    比如是 username
    你在action中写 private string username;封装一下就ok了,就是get()不用.set 我们是取值不是赋值!
      

  5.   

    set也要吧,request把值放入username对象的时候要寻找set()方法的
      

  6.   

    - - 打错了,是username属性
      

  7.   

    不知道我有没有描述清楚:首先我的JSP页面里有这样的代码,已经成功获取到部门信息。
    <select name="select" id="select">
            <c:forEach items="${list}" var="dep">
              <option value="${dep.groupNo }">${dep.groupName }</option>
            </c:forEach>
    </select>然后我在action里这样写的 public String execute() throws Exception {
    HttpServletRequest request=ServletActionContext.getRequest();
    List<UserGroup> list=ugbs.userGroup();
    request.setAttribute("list", list);
    String value=request.getParameter("dept");
    System.out.println(value);
    List<User> list2=ugbs.userGroup(value);
    request.setAttribute("list2", list2);
    if(list!=null){
    return "index";
    }else{
    return "error";
    }
    }第一个LIST返回的部门集合,没有问题,第二个list返回的是部门员工,但是我的value没有从部门列表里获取到,打印的是NULL如果会的,请帮我修改下代码,谢谢!
      

  8.   

    <select name="select" id="select">
    这个已经改成<select name="dept" id="dept">  ..