【问题标题】:Send value from 1 jsp to another jsp将值从 1 个 jsp 发送到另一个 jsp
【发布时间】:2013-11-11 20:13:09
【问题描述】:

我有 1 个 JSP,比如 1.jsp,其中我有一个从动作类的 request.getAttribute("testvalue") 获得的值,因为我使用的是 Struts 框架。我需要将此值从1.jsp 发送到另一个2.jsp。请告诉我该怎么做?

同样,我需要将此值从2.jsp 发送到3.jsp。 我试图避免在会话中使用设置值。 那么请告诉我该怎么做?

【问题讨论】:

标签: java jsp struts


【解决方案1】:

从请求中获取价值,您应该为请求赋予价值。这段代码

request.getAttribute("testvalue");

正在获取一个值,但该代码

request.setAttribute("testvalue", value);

正在放它。

这是因为您想避免使用 HTTP 会话。

【讨论】:

    【解决方案2】:

    如果这是在单个请求中,则请求属性可用于转发链中的所有页面。这意味着所有 servlet 和 JSP 都可以访问。因此,在请求周期的任何时候,属性被设置之后,可以使用 request.getAttribute(String) 检索该值。

    【讨论】:

      【解决方案3】:

      这是我知道的另外 4 种方法:

      使用get参数:例如你有一个指向第二个jsp文件的链接。在链接末尾添加您的参数。像这样:mysite.com/second.jsp?param1=value1&param2=value2

      在 firstjsp 页面中使用表单,并在此使用隐藏输入:

      <form action="second.jsp" method="post">
      <input type="hidden" name="param1" value="value1" />
      <input type="hidden" name="param2" value="value2" />
      <input type="submit" name="next" value="Next Page" />
      </form>
      

      使用应用程序变量,但如果您的数据对所有人都是通用的,或者使用特殊参数名称来存储您的值。例如,您可以使用:

      <% application.setAttribute("user1_param1","value1"); %>
      

      在您的代码中使用 RequestDispatcher。并将您的参数设置在请求对象而不是会话中。

      <%
      request.setAttribute("param1","value1");
      RequestDispatcher r=request.getRequestDispatcher("second.jsp");
      r.forward(request, response);
      %>
      

      请Subtilize你们可以在不同的状态下互相使用。例如,当您在发送任何结果 ro 用户之前转发请求时,您可以使用 RequestDispatcher。以及其他方式使用时,您将在下一次使用请求的第二页中将当前数据返回给您。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-16
        • 2014-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多