【问题标题】:Set Session value from input box while form submitting in JSP在JSP中提交表单时从输入框中设置会话值
【发布时间】:2013-10-31 06:20:12
【问题描述】:

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

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

【问题讨论】:

  • 如果值被提交到服务器,您是否在浏览器中进行了检查?

标签: jsp servlets


【解决方案1】:

有错别字
改变

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

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

你正在使用searchtxt

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

另请参阅

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-08-24
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多