我有一个JSP,它使用带有隐藏值的标签传递给servlet中的doGet,到目前为止,这运行良好。 但是,我可以动态更改隐藏值吗? 目前它是
<input type="hidden" name="command" value="COMMAND1" />
但我希望COMMAND1是两个命令之一。 我尝试将上面的行更改为此行;
<input type="hidden" name="command" value="<%=request.getParameter
("USE_COMMAND") %>" >
然后 servlet 中的 doGet 调用下面的过程,我尝试设置此处所示的命令,但它不起作用。这能做到吗?
private void processCommand(HttpServletRequest request, HttpServletResponse
response) throws Exception {
....
// dynamically set hidden command for JSP form GET
String useCommand = "COMMAND2";
request.setAttribute("USE_COMMAND", useCommand);
....
// send to JSP page (view)
RequestDispatcher dispatcher = request.getRequestDispatcher
("/theJSPPage.jsp");
dispatcher.forward(request, response);
}
你需要在 JSP 中使用 getAttribute()
方法:
<input type="hidden" name="command" value="<%=request.getAttribute("USE_COMMAND") %>" >
这篇文章解释了区别:getAttribute() 和 getParameter() 之间的区别