0

我有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 显示为红色,因为无法解析方法。

4

1 回答 1

1

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

对 addedit.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>
于 2013-06-17T18:59:46.490 回答