Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重新加载jsp并在servlet上丢失request.getParameter(“…”)_Java_Jsp_Servlets_Request_Httpsession - Fatal编程技术网

Java 重新加载jsp并在servlet上丢失request.getParameter(“…”)

Java 重新加载jsp并在servlet上丢失request.getParameter(“…”),java,jsp,servlets,request,httpsession,Java,Jsp,Servlets,Request,Httpsession,我有两个jsp页面。在第一个jsp页面中,我使用combobox来选择主题,几个单选按钮用于操作。在这个页面上,我得到了request.getParameter(“subjectID”) 如果我显示servlet和jsp,效果会更好 <form action="/TutorWebApp/controller" method="POST" name="editTestForm"> <p> Choose

我有两个jsp页面。在第一个jsp页面中,我使用combobox来选择主题,几个单选按钮用于操作。在这个页面上,我得到了
request.getParameter(“subjectID”)

如果我显示servlet和jsp,效果会更好

<form  action="/TutorWebApp/controller" method="POST" name="editTestForm">
                <p>
                    Choose subject 
                    <select name='subject'>
                        <c:forEach items="${subjects}" var="subject" >                  
                            <option value="${subject.key}">
                                ${subject.value.getName()}
                            </option>                    
                        </c:forEach>
                    </select>  
                </p>                
                <input type="radio" name="command" value="add_test">
                Add test <br />
                <input type="radio" name="command" value="add_subject">
                Add subject <br />                
                <input type="submit" value="OK"/>                 
            </form>
在那里我可以得到subject的值,如
request.getParameter(“subject”)near-转到下一个jsp

<form  action="/TutorWebApp/controller" method="POST" name="addTestForm">   
            <input type="hidden" name="command" value="add_test" />            
            Name of new test:
            <input type="text" name="testName" value=""/>            
            <input type="submit" value="Add test"/>            
</form> 

新测试的名称:
在jsp中输入数据后,我再次转到同一个servlet。但是我丢失了value request.getParameter(“subject”)

我尝试使用HttpSession,但在第一页我发送了Map。并获取请求,只需从地图中选择主题

我不知道如何解决这个问题。
谢谢,您可以使用隐藏字段为下一个请求保留请求参数。请求参数可通过EL中的
${param}
映射获得。因此,这应该做到:



注意,我使用
fn:escapeXml()
来转义HTML实体;这将防止可能的错误。

只需添加另一个具有该名称和值的隐藏字段?@BalusC on jsp with textField?作为
@BalusC,我不理解。。。你能帮我吗?你好,巴卢斯克,谢谢。我想知道,当最终用户点击URL上的“回车”键而不是按“F5”或单击“刷新”导航器按钮重新加载页面时,为什么这不起作用(确认对话框不会被提示保留请求参数)?
<form  action="/TutorWebApp/controller" method="POST" name="addTestForm">   
            <input type="hidden" name="command" value="add_test" />            
            Name of new test:
            <input type="text" name="testName" value=""/>            
            <input type="submit" value="Add test"/>            
</form>