gpt4 book ai didi

java - JSP 中的隐藏输入在将其传递给 servlet 时会产生 null

转载 作者:行者123 更新时间:2023-11-28 05:03:12 24 4
gpt4 key购买 nike

在我的 JSP 中,我执行以下操作:

<!-- Bank manager's permissions -->

<!--more stuff goes here -->
<fieldset>
<legend>To open a new account</legend>
<form action="blablabla">
<input type="hidden" name="hdField" value="myValue" /> // note I pass a "myValue" as string
<a href="employeeTransaction1">Press here to continue</a>
</form>
</fieldset>

然后在我的 Servlet 中获取隐藏的输入:

@WebServlet("/employeeTransaction1")
public class Employee1 extends HttpServlet {
private static final long serialVersionUID = 1L;


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String getHiddenValue=request.getParameter("hdField");
System.out.println("Hidden field Value :"+getHiddenValue);
// forwards to the page employeeOpenNewAccount.jsp
request.getRequestDispatcher("/WEB-INF/results/employeeOpenNewAccount.jsp").forward(request, response);
}



}

并且 System.out.println 在控制台生成:null

为什么我得到的不是我传递的实际值的 null

问候

编辑:

更改为之后:

<fieldset>
<legend>To open a new account</legend>
<form action="/employeeTransaction1" method="GET">
<input type="hidden" name="hdField" value="myValue"/>
<a href="employeeTransaction1">Press here to continue</a>
</form>
</fieldset>

null 仍然出现在控制台上。

最佳答案

您要做的是向服务器发送一个表单。但是,事实上,你不会那样做。您只需发出 GET 请求(当用户单击您的链接时:<a href="employeeTransaction1">Press here to continue</a>)

如果要发送表单,请确保正确设置表单标签的属性并向表单添加提交按钮:

 <form action="/employeeTransaction1" method="GET">
...
<input type="submit" value="Submit" />
...
</form>

根据您发送表单的首选方式,您可以更改 method="GET"参数为 method="POST"并确保在 servlet 中处理 doPost() 中的表单方法

或者,如果您的目的不是将 from 发送到服务器而只是传递隐藏输入的值,您应该将其值添加为 GET 请求中编码的参数。像这样的东西:

  /employeeTransaction1?hdField=myValue

为此,您需要进行一些客户端处理,即当用户单击链接时,应将隐藏输入添加到 get 中,然后发出请求。

关于java - JSP 中的隐藏输入在将其传递给 servlet 时会产生 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com