Java 重新加载jsp并在servlet上丢失request.getParameter(“…”)
我有两个jsp页面。在第一个jsp页面中,我使用combobox来选择主题,几个单选按钮用于操作。在这个页面上,我得到了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
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”)在if(){}和下一步之前使用testName编码>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>