如下面代码所示:
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值,请问楼主当初是怎么解决的呀?