【问题标题】:Pass parameters from one jsp to another using post method使用 post 方法将参数从一个 jsp 传递到另一个
【发布时间】:2012-04-11 06:18:44
【问题描述】:

我想将参数从一个 jsp 传递到另一个。

我尝试过使用 post 方法 <jsp:forward/>,但它不起作用。

我在 html 中创建了一个 <form>(使用 POST 传递的参数),它被提交给一个处理请求的 servlet 并将其转发给另一个显示页面的 servlet。

从这个 servlet 我创建了指向另一个 jsp 的链接,通过 URL 中的 GETs 参数传递。不过我其实是想用POST把参数传给另一个jsp,然后再传给另一个jsp。

您有什么解决方案或这个问题?

【问题讨论】:

  • 欢迎来到 Stack Overflow!一般来说,您在问题中投入的工作越多,越详尽并显示您尝试过的实际代码,但没有奏效,您将获得更好的答案。此外,在编写或编辑问题时,请注意文本区域右侧的方便 如何格式化 框,以及其上方的 [?] 链接。那里有非常有用的信息(比如我如何为您修复 <jsp:forward/> 的东西 - 它最初没有出现在您的问题中)。

标签: java jsp servlets


【解决方案1】:

您为什么不通过创建单击提交按钮来调用页面 以下格式的网址(在 javascript 中):- var url="your_page_name.jsp?value1="+encodeURIComponent(document.getElementById("your_text_field_or_any_other_field_id"));

然后使用你的 url 调用页面

document.your_form_name.action=url;

document.your_form_name.submit();

然后在 servlet 中使用 request.getParameter() 方法 或在您在 url 中提到的 jsp 中(servlet 或 jsp,您将 通过你的 jsp 调用)。

【讨论】:

  • 这种情况下用户可以很容易的通过右键查看源码看到,JSP比什么都需要,它只是简单的java脚本。
【解决方案2】:

听起来您正在创建一个跨多个不同页面从用户那里收集信息的多页表单。在这种情况下,一种选择是使用表单上的隐藏字段来存储先前的值。这当然意味着随着页面的进展,从客户端到服务器来回传递的数据量会增加。

您可以考虑一种服务器端方法,例如将中间值存储在数据库中,然后仅将令牌传递回客户端。提交下一个 JSP 页面时,使用令牌在数据库中查找值。

【讨论】:

    【解决方案3】:

    查看请求调度程序。您需要将请求转发到登陆 JSP。

    http://docs.oracle.com/javaee/6/api/javax/servlet/RequestDispatcher.html

    【讨论】:

      【解决方案4】:

      JSP内置了request对象,当一个jsp通过某个参数重定向到另一个jsp时,可以通过这个request对象获取参数值。

             <%
      String param1 = request.getParameter("parameter_name");
      
        %>
      

      你可以在这里找到例子 -

      http://www.roseindia.net/jsp/RequestObjectInJSP.shtml

      【讨论】:

      • 但这只有在您通过表单传递参数时才有帮助,否则无济于事。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 2021-01-14
      相关资源
      最近更新 更多