我使用Java Struts2来开发一个简单的项目,我刚刚得到一个有线空指针错误,围绕这个问题有两个jsp文件和一个Java文件。
在第一个jsp文件中,我想向java文件 传递一个参数在java文件中,基于这个值,我设置了另一个参数的值,该参数将在第二个jsp文件中使用。我可以在其他项目中成功地使用这种方法,但同样的方法不适用于这个项目。
详情如下:
我的配置struts.xml:
<action name="create_little_thing_choose_table" class="little_thing_create.choose_table_java" method="execute">
<result name="SUCCESS">/create_little_thing_choose_table.jsp</result>
</action>
在第一个jsp中,我向java传递了一个参数:
<form action=create_little_thing_choose_table>
<p>User <input type="text" name="user_id" value="1999"> Create new thing</p>
<input type="submit" value="Create" />
</form>
在我的java文件中,我赋值一个参数"table_list"
//do something here to get table_list
//I have tried to print table_list here, it shows that the table_list is good here.
ServletRequest request=ServletActionContext.getRequest();
HttpServletRequest req =(HttpServletRequest) request;
HttpSession sesssion=req.getSession();
sesssion.setAttribute("table_list",table_list);
return "SUCCESS";
在第二个jsp文件中,我想知道table_list的值,使用下面的代码:
<%
String a=request.getAttribute("table_list").toString();
out.print(a);
%>
但是我刚刚得到了一个500错误,说有一个空指针错误在代码中,为什么是错误?有人能帮我吗?
我现在知道原因了,在我的java文件中,我应该直接使用
table_list="blablabla" ;
来赋值,而不是
String table_list="blabla";