steve_yanrun
Ray-Yan
2016-09-25 14:02
采纳率: 65.9%
浏览 3.2k
已采纳

Servlet获取不到JSP页面上的值

如下是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"/>

居然运行结果是空值,如下图所示:
图片说明
图片说明
请问各位大神,应该如何解决这个问题?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • qq_15617533
    浊世清欢 2016-09-25 15:56
    已采纳

    要嘛是input提交的时候没包含在form里面,要嘛是提交之前把a的值覆盖了

    点赞 评论
  • Message_lx
    chinesszz 2016-09-25 14:05

    是POST方法提交的数据么

    点赞 评论
  • qq_22946541
    流年丶只是记忆 2016-09-25 14:25

    你可以把前台的代码也贴出来吗

    点赞 评论
  • niaonao
    niaonao 2016-09-25 14:46

    前台代码贴出来
    应该是提交数据时出的错

    点赞 评论
  • sj18182656342
    黄河默默 2016-09-26 00:16

    这个看最后的sql应该是,前台没有把account参数传过来 报了sql错误
    你把name的封装变为 account

    点赞 评论
  • z991876960
    JAVA-ZHUANG 2016-09-26 03:20

    post提交数据有问题

    点赞 评论
  • quasimodo_es
    「已注销」 2016-09-26 04:46

    如果是post提交的,并且a在form表单中,后台用request.getParameter("a") 取值的,
    就一定能够获取到

    点赞 评论
  • ios_king
    果冻剑客 2016-09-27 03:49

    request.getAttribute("") 是根据标签的 name 属性中的字符串来拿值的。你没有对应上

    点赞 评论
  • u013835855
    山洼之神 2016-09-27 10:42

    应该是没有放到form表单里面

    点赞 评论

相关推荐