【问题标题】:How can i get values from one jsp page to another jsp without redirecting to another page?如何在不重定向到另一个页面的情况下从一个 jsp 页面获取值到另一个 jsp?
【发布时间】:2014-03-13 13:42:47
【问题描述】:
<body>
    <input type="button" value="page1">        
</body>

这是我的page1.jsp 页面,当我点击此页面时,我需要在不更改浏览器标题的情况下获取result.jsp 页面中的值。

在我的项目中,我有 4 个名为 page1.jsppage2.jsppage3.jsppage4.jsp 的 jsp 页面

当我点击任何页面时,结果应该出现在result.jsp

假设如果我点击page2,结果应该只出现在result.jsp,所有页面都有相同的输入按钮值是page1、page2、page3和page4

http://localhost:8080/TestProject/result.jsp

这是我的浏览器标题。谢谢你的帮助。

【问题讨论】:

标签: jsp


【解决方案1】:

看看jQuery AJAX,它用于从客户端到服务器的任何页面获取/发布数据值。无需将用户重定向到其他页面(更改地址栏中的 URL)

<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
        <script>
        $(document).ready(function(){ 
            $("button").click(function(){
                var value=$(this).val(); //it will get value of clicked button

                $("#result_div").load('result.jsp?param='+value); //it will make ajax call to result.jsp by GET method
            });
        });
        </script>

    </head>
    <body>
        <input type="button" value="value1" />

        <div id="result_div">
            JSP Result will be loaded here.
        </div>
    </body>
</html>

在此示例中,我使用了 GET 方法并传递了名为 param 的参数,您必须在 result.jsp 中读取该参数。无论result.jsp 给出什么结果,都会加载到#result_div

有用的链接:

https://api.jquery.com/load/

https://api.jquery.com/jQuery.get/

https://api.jquery.com/jQuery.post/

http://www.w3schools.com/jquery/jquery_ref_ajax.asp

https://api.jquery.com/jQuery.ajax/

【讨论】:

  • 你能用这个jsp解释一下同样的逻辑吗?
  • 其实JSP并不是万能的。毕竟,您需要的是客户端的设施。为此,您需要在客户端脚本中编写一些代码。 jQuery 非常简单,您可以对服务器进行异步调用并获取/发布数据。如果您需要示例代码,我可以帮助您。
  • 在我写之前,请澄清一下,您想在result.jsp 页面中传递什么值?是按钮的 value="page1" 吗?还要澄清您在 JSP 中处理的是哪种方法? (GET 或 POST)
  • 使用任何get/post,当我点击page1时,page1的值应该显示在result.jsp中,如果我点击page2,page2的值应该显示在reult.jsp中,反之亦然,
  • 我不想使用 jquery/任何其他技术,我只想使用 jsp,感谢您的帮助
【解决方案2】:

你可以使用:

request.getParameter("<input_name_given_in_previous_page>");

对于发送参数,在 HTML 中使用 form 标签。

示例:

index.jsp

<html>
<body>
<form name="frmLogin" action="redirect.jsp" method="post">
<input type="text" name="user_name">
<input type="submit" value="Submit" name="login_submit">
</form>
</body>
</html>

redirect.jsp

<%
    //it's demo only. 
    String u_n=request.getParameter("user_name");
    out.println("Hello "+u_n);
%>

【讨论】:

  • 提问者不希望用户重定向到另一个页面,他说“标题不应更改”,即地址栏中的 URL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-05
  • 2013-12-13
相关资源
最近更新 更多