为了减少JSP页面的代码,我用servlet传值到javabean,再传值到jsp。为什么是空值?
servlet里是set数据到javabean。jsp里gei数据。servlet跳转用response.sendRedirect到JSP页面。是不是这个问题?...
servlet里是set数据到javabean。jsp里gei数据。servlet跳转用response.sendRedirect到JSP页面。是不是这个问题?
展开
3个回答
展开全部
估计你对页面地址跳转理解存在一些问题。
在JAVAWEB里面,页面地址跳转有两种方式:
1、消息转发
消息转发的代码是:
request.getRequestDispatcher("/pages/ddd.jsp").forward(request,response);
用这种方法,在当前页面通过request配置的值(request.setAttribute(key,value))在跳转的地址页面能够直接使用(request.getAttribute(key))。
2、页面重定向
response.sendRedirect("pages/ddd.jsp"),页面重定向后,你在当前页面的request设置的任何属性(request.setAttribute(key,value))在跳转到的地址页面都不能访问的。
要解决你的问题,你得改用消息转发。
在JAVAWEB里面,页面地址跳转有两种方式:
1、消息转发
消息转发的代码是:
request.getRequestDispatcher("/pages/ddd.jsp").forward(request,response);
用这种方法,在当前页面通过request配置的值(request.setAttribute(key,value))在跳转的地址页面能够直接使用(request.getAttribute(key))。
2、页面重定向
response.sendRedirect("pages/ddd.jsp"),页面重定向后,你在当前页面的request设置的任何属性(request.setAttribute(key,value))在跳转到的地址页面都不能访问的。
要解决你的问题,你得改用消息转发。
追问
现在用的是消息转发,还是NULL。
用户姓名: name="username">
这事JSP代码。
在servlet里链接数据库等操作,传值到JAVAbean。javabean里只有get、set方法和封装的变量、构造方法。jsp显示还是空值。不解。。。。
追答
你应该在Servlet里面把信息保存在request对象里面,而不是在页面用标签实例化。
另外,你把实例化标签里面的scope写成application做什么?一般建议使用pageContext,或者request(默认是pageContext,也就是scope可以不写的)。
你重新实例化了怎么会出来值呢?它就没有调用你的后台设置的bean实例,不出来值才是正确的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询