在JSP中提交表单时,从输入框设置会话值

时间:2013-10-31 06:20:13

标签: jsp servlets

我有一个文本框。在提交表单时,它会导航到另一个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();
 %>

但即使文本框包含空值或某些值,我总是得到空值。如何解决这个问题?

2 个答案:

答案 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():"";