当前页面: 开发资料首页 → JSP 专题 → 关于servlet返回的页面的刷新问题!!!急啊
关于servlet返回的页面的刷新问题!!!急啊
摘要: 关于servlet返回的页面的刷新问题!!!急啊
servlet 中对x.jsp中的form的处理:
public void do(HttpServletRequest theRequest,
HttpServletResponse theResponse) {
...
theRequest.setAttribute("Value",value);
theRequest.getRequestDispatcher("xx.jsp").forward(theRequest,theResponse);
...
}
在x.jsp页面
<form method="POST" action="/Test/do">
...
<input type="submit" value="submit" name="Btn">
</form>
在xx.jsp页面
<%response.setHeader("Refresh","5");%>
<%
nr = (value)request.getAttribute("value");
%>
<%= nr.getGcode() %> 当点击x.jsp页面的submit按钮后,网页跳转到http://localhost:8080/test/do
显示结果,但是5秒后刷新就出现问题了,页面为一片空白。
我想问题应该出在theRequest.getRequestDispatcher("xx.jsp").forward(theRequest,theResponse);的执行上面,
运行的时候出错提示是:
Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
请问这个怎么解决阿!
应该是nr没取到值
跟踪一下你的程序
错了,你在servlet 设制了Value,当第一次forward的时候值会存在,当在xx.jsp里自动刷新时取不到value的值 了,所以出了问题
在servlet中Value的值是从x.jsp获取的吗?应该是nr没有取到,theRequest.setAttribute("Value",value)中Value的值是null。x.jsp中的form提交没有错误的话,完整的程序呢?
struts刷新时取不到值引起的
谢谢大家,但是请问: 我怎样才能取到nr的值呢?
servlet中的value不是从x.jsp获取的,是调用EJB得到的值。
空指针说明传回的值是null,ejb中设置的value为空
检查一下ejb中的值
如果允许为空的,那么就在页面上做个判断,如果是空执行另外操作
哎,还是没有解决阿,要是有人有好的方法,我可以另外开贴送分阿。