请问关于jsp和servlet 之间传递数据的问题
首先我创建了jsp设置了参数 submit后 转到servlet进行 servlet取得参数后一切正常 处理数据后想通过 javabean来传递数据 在servlet中已经设置ok 然后forward回原来的那个jsp 在其中使用jsp:useBean 的方法取参数 结果无论如何都没有办法取得 请问错在哪里
另外也试过在servlet中
UserSession user = new UserSession();
user.setIsLogin(result);
user.setUserID(loginID);
request.setAttribute( "userInf ", user);
后 forward回原来的jsp 想调用javaBean中的值 会报错
org.apache.jasper.JasperException: Exception in JSP: /home.jsp:91
88: <%
89: UserSession user = (UserSession)request.getAttribute( "userInf ");
90: //if (loginInf.getIsLogin()== 1) {
91: while (user.getIsLogin() == 1) {
92: out.println( "ok ");
93: }
94: out.println( "Hello " + (String)request.getAttribute( "test ") + " " + (String)request.getAttribute( "test1 ")+ " " +UserS.getUserID()+ " " +UserS.getIsLogin());
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handle
JspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NullPointerException org.apache.jsp.home_jsp._jspService(home_jsp.java:160)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
请问这个问题怎么解决阿 谢谢了
------解决方案--------------------javabean的生命周期问题,你把它设成session应该可以~
------解决方案--------------------forward(request, response)
------解决方案--------------------你肯定是对你的返回的页面进行了重定向,如果进行了重定向,当前request就会消失了,当然request中的数据也就消失了。
好好看看response的API,相信你能很快解决问题的。