繁体   English   中英

从当前JSP到先前JSP的Servlet值的POST

[英]POST from current JSP to Servlet values from a previous JSP

简介: JAVA Web应用程序中包含的服务器式Servlet。 有一些值可用于所有servlet,而其他仅与指定的servlet相关。 因此,使用一个输入表单(JSP),然后将这些值/表单输入发布到另一个“新” JSP。 在此JSP中,应将先前表单(JSP)中的值发布到servlet中(有时还会添加新表单中的其他值)。

使用简单的HTML表单,来自JSP的值已成功发布到另一个JSP。

问题:喜欢使用“第二个” JSP将先前JSP的值(输入字符串)发送到JAVA Servlet(使用POST方法)。 但是失败了,因为它们没有从“第二” JSP发送到Servlet,即使“第二” JSP可以从“第一” JSP获取它们。

第一个JSP:

 <form name="calca" action="math.jsp" method="POST">
        <br>
        <input type="text" name="Number1" value="0" />
        <br><br>
        <input type="text" name="Number2" value="0" />
        <br><br><br><br>
        <input type="submit" value="Update" name="update" />
    </form>

第二个JSP:(math.jsp)

  <form name="calcsum" action="PlusServlet" method="POST">
        <% String Number1 = request.getParameter("Number1"); %>
        <% String Number2 = request.getParameter("Number2"); %>
        <br>
        <span>Number1= <%= Number1 %> from calc.jsp form. </span>
        <br>
        <span>Number2= <%= Number2 %> from calc.jsp form. </span>
        <br><br><br><br><br>

        <input type="submit" value="Plus-Calc" name="Plus-Calc" />
        </form>

Servlet进程请求:

String num1=request.getParameter("Number1");
String num2=request.getParameter("Number2");

结果:在第一个JSP与第二个JSP之间发布的值,但不在第二个JSP与Servlet之间发布的值。

如何使用“第二个” jsp将先前form / jsp中的值“发送” /发布到servlet?

您可以将它们以如下形式放在隐藏字段中:

<form name="calcsum" action="PlusServlet" method="POST">
        <% String Number1 = request.getParameter("Number1"); %>
        <% String Number2 = request.getParameter("Number2"); %>
        <br>
        <span>Number1= <%= Number1 %> from calc.jsp form. </span>
        <br>
        <span>Number2= <%= Number2 %> from calc.jsp form. </span>
        <br><br><br><br><br>
        <input type="hidden" value="<%= Number2 %>" name="Number1" />
        <input type="submit" value="Plus-Calc" name="Plus-Calc" />
</form>
 <input type="hidden" name="number1" value="<%=request.getParameter("Number1")%>" />
 <input type="hidden" name2="number2" value="<%=request.getParameter("Number2")%>" />

将隐藏的输入字段添加到表单,该表单会将数据提交到servlet

是的,上面回答的其他人是正确的。 您需要记住,“ HTTP POST”请求时仅发送表单元素。 如果不添加隐藏字段,则打印的数字只是文本。 干杯,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM