如下是Servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
//String account = (String) request.getAttribute("account");
String account = request.getParameter("a");
System.out.println("--------------------------------"+account);
List<Teacher> oneTeaInfo = new ArrayList<Teacher>();
try {
oneTeaInfo = new TeacherDao().queryTeaInfo(account);
session.setAttribute("oneTeaInfo", oneTeaInfo);
request.getRequestDispatcher("/teacher_info.jsp").forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
如下是JSP的相关代码:
<input type="text" name="a" value="666666" />
我是把值写死的,不写死的情况下,代码如下:
<c:set var="account" value="${sessionScope.account}" scope="request"/>
居然运行结果是空值,如下图所示:
请问各位大神,应该如何解决这个问题?
要嘛是input提交的时候没包含在form里面,要嘛是提交之前把a的值覆盖了
是POST方法提交的数据么
你可以把前台的代码也贴出来吗
前台代码贴出来
应该是提交数据时出的错
这个看最后的sql应该是,前台没有把account参数传过来 报了sql错误
你把name的封装变为 account
post提交数据有问题
如果是post提交的,并且a在form表单中,后台用request.getParameter("a") 取值的,
就一定能够获取到
request.getAttribute("") 是根据标签的 name 属性中的字符串来拿值的。你没有对应上
应该是没有放到form表单里面