0

我有一个文本框。在提交我的表单时,它会导航到另一个 JSP 文件。在该文件上,我想设置会话值,在行的旁边,我想获取该会话值。

例如:

文件1.JSP

<form action="File2.JSP" method="post">
    <input type="text" name="searchtxt"/>
    <input type=submit value="Save"/>
</form>

文件2.JSP

<% 
    String searxhtxt=request.getParameter("searchtxt");
    if(searchtxt!=null && !searchtxt.equals("")){
        request.getSession().setAttribute("searchtxt",searchtxt);
    }
    String text=session.getAttribute("searchtxt").toString();
 %>

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

4

2 回答 2

0

有错字
更改

String searxhtxt=request.getParameter("searchtxt");
           ↑  

String searchtxt=request.getParameter("searchtxt");

您正在使用searchtxt

if(searchtxt!=null && !searchtxt.equals("")){
       ↑                   ↑
    request.getSession().setAttribute("searchtxt",searchtxt);
                                                      ↑
}    

也可以看看

于 2013-10-31T07:18:18.723 回答
0

Aniket 是对的,您的代码中有拼写错误。

我注意到关于获取空值的另一件事是当您不输入任何字符串(空文本框)时。如果文本框值的条件不为空,并且您将该值存储在会话中,则您已经签入,当值为空时,您的会话不包含searchtxt返回 null 的值或会话变量。

当您输入任何值时,它的工作正常并且您得到正确的值。

编辑:
您可以更改以下内容以避免Exception

String text= session.getAttribute("searchtxt")!=null?session.getAttribute("searchtxt").toString():"";    
于 2013-10-31T08:36:33.303 回答