【问题标题】:sending variable from one jsp to another jsp将变量从一个 jsp 发送到另一个 jsp
【发布时间】:2013-09-16 18:36:05
【问题描述】:

我有一个 JSP 文件为 jsp 1.jsp 和另一个 JSP 文件为 jsp 2.jsp

我使用<%@include file="jsp 2.jsp" %>

jsp 2.jsp 包含在 jsp 1.jsp

现在我需要某个元素上的点击事件。在那个事件中,我想将一个字符串变量传输到包含的 jsp。

假设我有一个列表,点击它我想将列表的名称转移到另一个 JSP,

在另一个 JSP 中,我尝试使用该字符串来执行某些任务。

我在没有任何 servlet 的情况下完成所有这些工作。 挑战一个!! 我google了很多,但没有找到任何东西。

【问题讨论】:

  • 放置一个隐藏字段 。您将使用 request.getParameter("stringVar"); 在服务器端获取此值
  • @KrsnaChaitanya 你能解释一下吗...谢谢... :)

标签: java javascript jsp session servlets


【解决方案1】:

您有多种选择:

  1. 将其存储在会话中。

    // Memorise any passed in user.
    String username = request.getParameter("username");
    if (username != null && username.length() > 0) {
      session.setAttribute("username", username);
    }
    
  2. 将其存储为表单中的隐藏字段。

    <input name="username" type="hidden" value=""/>
    
  3. 将其存储在 cookie 中。

    username = getCookie(userCookieName);
    
    // Get from cookie.
    function getCookie(name) {
      if (document.cookie) {
        index = document.cookie.indexOf(name);
        if (index !== -1) {
          f = (document.cookie.indexOf("=", index) + 1);
          t = document.cookie.indexOf(";", index);
          if (t === -1) {
            t = document.cookie.length;
          }
          return(document.cookie.substring(f, t));
        }
      }
      return ("");
    }
    
  4. 将它保存在 sessionStorage 中的客户端。详情请见here

    sessionStorage.setItem("username", "...");
    
  5. 不是真正的另一种选择,而是一种机制 - 在 URL 中传递它:

    .... onclick="window.location='details.jsp?username=...'
    

【讨论】:

    【解决方案2】:

    您可以设置jsp:param,如本例中的jsp:param element 或查看此类似帖子Passing parameters between JSP pages

    【讨论】:

      【解决方案3】:

      尝试使用Ajax with JQuery 来实现您的目标,或者您可以简单地将String 对象存储在session 中,并且您可以在使用时将其删除在jsp2.jsp 中。或者您可以简单地将url 附加到query string,其中有多种方法,上述方法很少。

      这些问题可能对你有所帮助

      Question 1

      Question 2

      Question 3

      Question 4

      【讨论】:

        【解决方案4】:

        在 jsp1 中 用这种方式传递价值。

        <form action="">
        <input type="hidden" name="hidden" value="hidden">
        <input type="submit" value="submit"></form>
        

        在jsp2中获取值

        String value=request.getParameter("hidden");
        

        【讨论】:

          【解决方案5】:

          如果在jsp 1 中包含您的jsp 2 的原因是为了发送变量,那么它的not needed。 你只需要在jsp 1 中设置一个hidden 变量,然后在你的jsp 2 中你应该可以通过使用jsp implicit request 对象来访问它。

          【讨论】:

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