0

朋友们,我想将文本字段值传递给下一个 jsp 页面。当我尝试执行此操作时,下一个 jsp 页面始终显示该变量的空值。请告诉我我该怎么做.......

我的代码是

   <form name="lab" action="second.jsp" method="get">
   <table>
            <tr>

    <td style="margin-left:10px">Enter Lab</td>
    <td><select name="labName">
        <option>--select lab---</option>
        <option>Lab-01</option>
        <option>Lab-02</option>
        <option>Lab-03</option>
        <option>Lab-04</option>
        <option>Lab-05</option>
        <option>Lab-06</option>
        <option>Lab-07</option>
        <option>Lab-08</option>
        <option>Lab-09</option>
        <option>Lab-10</option>
    </select></td>
</tr>
<tr>

    <td  width=100px>Enter Location</td>
    <td> <select name="location">
        <option>--select location--</option>
    <%  
        for(i=1;i<=60;i++)
        {
            %><option><%out.print(i);%></option><%
        }
    %>
        </select></td>
</tr>
<tr>

    <td   width=100px>Enter System ID </td>
    <td><input type=text name=lab name="sysId" value="Sys. Id" size=10></td>
</tr>
<tr>
    <td><hr><b</td>
    <td><hr></td>
</tr>
<tr>
    <td align=center class="cells"  width=100px><input type="submit" name=submit value=ADD hight=10px width=20px onclick="move();"></td>
    <td align=center class="cells"  width=10px ><input type=button name=submit value=cancel>
 </td>
</tr>
</table>
</form>

和下一页 second.jsp

 <%
                String id=request.getParameter("sysId");
                out.print(id);
  %>

它给出 null 作为输出。

4

2 回答 2

0

我在您的代码中没有看到 <form> 元素。您应该用 <form> 包围您的表格并将您的操作更改为 POST。

于 2013-10-17T06:10:09.920 回答
0

在表格中,您使用name了两次属性,这就是您进入null的原因second.jsp

<input type=text name=lab name="sysId" value="Sys. Id" size=10>   
                 ↑        ↑  

使用一个name属性作为

<input type=text name="sysId" value="This is sysId" size=10>  

然后在second.jsp

String id=request.getParameter("sysId");  //make sure you type correct name here
out.print(id);

它将打印:This is sysId


不相关的

我建议不要使用Scriptlet

<select name="location">
    <option>--select location--</option>
<%  
    for(i=1;i<=60;i++)
    {
        %><option><%out.print(i);%></option><%
    }
%>
    </select>

您可以将代码修改为

<select name="location">
    <option>--select location--</option>
    <c:forEach varStatus="i" begin="1" end="60">
    <option>${i.count}</option>
    </c:forEach>
</select>  

它被称为JSTL只需将jstl-1.2.jar放入/WEB-INF/lib

有用的链接

于 2013-10-17T08:02:49.857 回答