【问题标题】:session in jsp getting null value on getAttributejsp中的会话在getAttribute上获取空值
【发布时间】:2013-06-18 02:59:46
【问题描述】:

我有addit.jsp页面

我在 textarea 中插入 myinput 的位置

your input
    <input id="thistextfield" type="text"  name="ruleField" size="20" >
    <input type = "submit" name = "submit" value = "submit">

<a href="SaveName.jsp">to savename</a>

我的会话存储在此页面中

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.lang.String" %>

<%
    String ruleField = request.getParameter( "ruleField" );
    session.setAttribute( "theName", ruleField );


%>
<html>
<head>
    <title></title>
</head>
<body>
<a href="test2.jsp">Continue</a>
</body>
</html>

这是我的 text2 页面。 我应该在哪里恢复会话

Hello,<textarea > <%= session.getAttribute("theName")%>  </textarea>

但问题是我在文本区域中得到了一个空值。 我正在使用 IntelliJIdea 12,getParameter 和 getAttribute 显示为红色,因为无法解析方法。

【问题讨论】:

    标签: jsp session session-variables


    【解决方案1】:

    您错过了addit.jsp 中的HTML 表单标签。因此,当您单击“to savename”链接时,您没有发送表单数据“ruleField”作为请求中的参数,您没有发送任何数据,这就是它为空的原因。

    对addit.jsp做如下修改:

    <form method="GET" action="SaveName.jsp">
        <input id="thistextfield" type="text"  name="ruleField" size="20" >
        <input type = "submit" name = "submit" value = "submit">
    </form>
    

    并删除以下 HTML(这是多余的):

    <a href="SaveName.jsp">to savename</a>
    

    我曾认为您可能希望使用链接而不是按钮来提交表单。这是使用链接提交表单的替代代码。

    <form method="GET" action="SaveName.jsp" id="form1">
        <input id="thistextfield" type="text"  name="ruleField" size="20" >
    </form>
    
    <div onclick="document.getElementById('form1').submit()">to savename</div>
    

    【讨论】:

    • 我还没有显示表单标签,但我已经写好了。 savename.jsp 我用这个代替了这个。但它也没有工作
    • 在浏览器的地址栏中,您是否看到附加到 URL 的查询字符串,例如:SaveName.jsp?ruleField=testtest 是文本输入中输入的值。
    • 谢谢 alex,收到错误,有一个嵌套表单,我忘记删除了。
    猜你喜欢
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    相关资源
    最近更新 更多