2 steve yanrun steve_yanrun 于 2016.09.25 22:02 提问

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
qq_15617533   2016.09.25 23:56
已采纳

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

Message_lx
Message_lx   2016.09.25 22:05

是POST方法提交的数据么

qq_22946541
qq_22946541   2016.09.25 22:25

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

niaonao
niaonao   Rxr 2016.09.25 22:46

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

sj18182656342
sj18182656342   2016.09.26 08:16

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

sj18182656342
sj18182656342 或者直接用 request得到这个 name封装的值 让后台直接接受使用
接近 2 年之前 回复
z991876960
z991876960   2016.09.26 11:20

post提交数据有问题

quasimodo_es
quasimodo_es   2016.09.26 12:46

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

ios_king
ios_king   2016.09.27 11:49

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

u013835855
u013835855   2016.09.27 18:42

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Jsp页面获取不到Servlet中session保存的值
登录页面login.jspCode:              String[] userInfo={"",""};          Cookie[] cookie=request.getCookies();          if(cookie!=null) {             for(int i=0; 
关于今天jsp或servlet取不到session的问题
以前没遇到过今天遇到了奇葩了,用redirect或forward跳转居然拿不到session。程序员是不允许有这种奇葩现象不明不白的出现的,如是开始了调试之路,调试了好一阵(可能太粗心了)也没找到原因,于是去网上搜了一下,出现这个问题的人还是挺多的 ,有几种类型: 1、session的过期时间设置有误 2、设置或获取session有误 而我的问题出现在计算机名 和localhost上。其实两
jsp页面通过EL表达式取不到值解决办法
页面通过EL表达式获取值失败解决办法
关于在servlet中创建了cookie,但在jsp中无法读取到该cookie的问题(已解决)
关于在servlet中创建了cookie,但在jsp中无法读取到该cookie的问题(已解决)//servlet中的代码 Cookie c=new Cookie(“userlogin”, ul.toString());//ul是一个实体类的实例,我重写了该类的toString()方法返回的将是”用户名,密码”的字符串 c.setMaxAge(60);
jsp如何获取servlet的值
servlet中: request.getSession().setAttribute("tf", tf); 在jsp中如何获取tf的值,详细步骤。谢谢! 分享到: 2013-03-30 00:24 提问者采纳 servlet中你的这行代码的意思分别是: request.getSession()代表的是获取sessi
jsp中 EL标签获取不到值
初学springMVC,按照模板上编写了个demo。记录下几个问题: 1.第一个问题: 最初的时候,按照示例编写,在控制器Controller类里面写入  request.setAttribute("login_user",login_user); 在jsp中编写   ${login_user.username},但是死活获取不到值,后来改了下方法,使用 User user =
关于request 作用域值用resonse重定向到jsp页面获取不到参数值
把request作用域换成session就行了,resoponse会清空request的值所以换成session即可,即request换成request.getSession即可
JSP中如何把servlet中值传到JSP页面中
1、利用ServletContext这个web全局上下文来共享数据  servlet中getServletContext()可以获得一个ServletContext对象,利用这个对象的getAttribute()/setAttribute()方法可以在整个WEB应该里共享数据,可以实现servlet和jsp之间的数据互传  比如:  在servlet中  getServletContext.set...
jsp获取servlet中数据
1 如果用session,则可为: HttpSession session = request.getSession(); session.setAttribute("name",name); response.sendRedirect(url); jsp页面: session.getAttribute("name"); 2  servlet中 request.se
servlet中获取jsp页面中下拉列表框中的值
如index.jsp中代码所示:                城市:       重庆       成都       北京       上海           地区: <select name="regin" size="1">   d重庆大学西南大学   沙坪坝   北碚      片区:    六公寓    民主湖   一食堂