我有一个文本框。在提交表单时,它会导航到另一个JSP文件。在那个文件上我想设置会话值,然后在我要获得该会话值的行旁边。
例如:
File1.JSP
<form action="File2.JSP" method="post">
<input type="text" name="searchtxt"/>
<input type=submit value="Save"/>
</form>
File2.JSP
<%
String searxhtxt=request.getParameter("searchtxt");
if(searchtxt!=null && !searchtxt.equals("")){
request.getSession().setAttribute("searchtxt",searchtxt);
}
String text=session.getAttribute("searchtxt").toString();
%>
但即使文本框包含空值或某些值,我总是得到空值。如何解决这个问题?
答案 0 :(得分:0)
有错误的错误
改变
String searxhtxt=request.getParameter("searchtxt");
↑
到
String searchtxt=request.getParameter("searchtxt");
您正在使用searchtxt
if(searchtxt!=null && !searchtxt.equals("")){
↑ ↑
request.getSession().setAttribute("searchtxt",searchtxt);
↑
}
另见
答案 1 :(得分:0)
Aniket是对的,你的代码中有错字错误。
我注意到关于获取空值的另一件事是你没有输入任何字符串(空文本框)。您已检入条件是文本框值是否为空而不是在会话中存储该值,当值为空时,您的会话不包含值或会话变量searchtxt
,它将null作为返回值。
当您输入任何值时,其工作正常,您的价值是正确的。
编辑:
您可以更改以下内容以避免Exception
String text= session.getAttribute("searchtxt")!=null?session.getAttribute("searchtxt").toString():"";