2013-10-31 20 views
0

我有一个文本框。提交表单时,它会导航到另一个JSP文件。在那个文件上,我想设置会话值,并在下一行我想获得该会话值。在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

你在浏览器中查看是否值获得提交给服务器,则可以改变吗? – Uooo

回答

0

有错字错
变化

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

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

您正在使用searchtxt

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

0

见Aniket是正确的,你必须在你的代码错字错。

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

当你输入任何值时,它的工作正常,你的价值正确。

编辑:
以下,以避免Exception

String text= session.getAttribute("searchtxt")!=null?session.getAttribute("searchtxt").toString():"";