Servlet怎样获取EL表达式的值

如下面代码所示:
1.JSP页面的标签

 <input type="text" name="account" value="${sessionScope.account}" />

2.Servlet的取值

 String account = request.getParameter("account");

但运行结果是account取值为空,请问大家,应该如何正确的取值?谢谢!

首先看jsp页面中,是否得到了那个session域中的对象,如果对象得到了,就看你是怎么提交的是post还是get。使用getParameter()方法,不是getAttribute("account")

看下你的servlet代码吧

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// String account = (String) request.getAttribute("account");
System.out.println("--------------------------------"+account);
List<Teacher> oneTeaInfo = new ArrayList<Teacher>();
try {
oneTeaInfo = new TeacherDao().queryTeaInfo(account);
HttpSession session = request.getSession();
session.setAttribute("oneTeaInfo", oneTeaInfo);
request.getRequestDispatcher("/teacher_info.jsp").forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
`


 public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // String account = (String) request.getAttribute("account");
        System.out.println("--------------------------------"+account);
        List<Teacher> oneTeaInfo = new ArrayList<Teacher>();
        try {
            oneTeaInfo = new TeacherDao().queryTeaInfo(account);
            HttpSession session = request.getSession();
            session.setAttribute("oneTeaInfo", oneTeaInfo);
            request.getRequestDispatcher("/teacher_info.jsp").forward(request,response);
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }

那个JSP的值是从session里传过去的,不是写死的

说明你传到页面的 sessionScope.account 值本来就为空;或者你重新编辑后value还是为空

刚才看了下的代码,发现了错误点,应该是 getParameter()方法获取表单参数值

属性名的获取应该是getParameter(),从域中获取应该是getAttribute()

同样的问题,我也遇到了,根据上面说的还是拿到的是null值,请问楼主当初是怎么解决的呀?