用来在同一个request周期中保存变量使用。比如servlet调用后,推出JSP页面,这是一个request周期,如果在Jsp页面需要servlet中的一些 处理结构,就从request.getAttribute中获取。
第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的 request对象了)。
所以渠道的值为null
当你按下submit开始表单提交的时候已经是一个新的request了
把request改为session吧,这样一定行;
还有就是response.setAttribute但是这个我不熟,我试了一下有问题。
当你的这个页面加载完成的时候,request的生命周期结束了,你点提交按钮是另一个request开始。
建议你选分清楚 Request,Session,ServletContext,page,application等的生命周期。
关于这个不建议你放入session,自己作东西行,实际开发时,这并不是一个好的选择。
建议你用隐藏表单。
当你调用action="MyJsp.jsp"
request 的生命周期就结束了
服务器端 引擎 会根据你的新的请求生成新的requset 和response 你之前放在里面的值当然是拿不到的
session 可以做到 也可以放到表单里
然后再servlet 里面service方法里 用request.getParameter("qweqe")取值
首先呢你的 type="submit" 他是表单的一个特殊的元素
一般来说 取得值是 用request 取值最好先设置一下编码以免乱码
给你个例子