如何动态设置 JSP 隐藏值



我有一个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() 之间的区别

最新更新