将参数从jsp动态传递给另一个jsp

Posted

技术标签:

【中文标题】将参数从jsp动态传递给另一个jsp【英文标题】:pass parameter from jsp to another jsp dynamically 【发布时间】:2016-07-25 14:42:10 【问题描述】:

我正在开发用户登录和预测足球比赛的 java 应用程序,我创建了一个管理 jsp 以从数据库中存储的表中获取所有球队的名称,以设置本周的比赛,并在比赛结束后设置最终结果以比较它们与用户结果和计算点,***用户等...

我的 admin.jsp 在这里我从 jstl foreach 循环中选择匹配团队,然后设置最终结果以将它们与用户预测结果进行比较。

<%@page import="pws.daoImp.UsersDaoImp"%>
<%@page import="java.lang.String"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="pws.beans.Users"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>


<html>

<%       request.getAttribute("admminresult");
%>

<%
    List<String> teams1 = new ArrayList();


    UsersDaoImp udi = new UsersDaoImp();
    List<String> admminresult = new ArrayList();
    admminresult = udi.getadminresult();
    request.setAttribute("admminresult", admminresult);
    List<String> teams = new ArrayList();
    teams = udi.getallteams();
    request.setAttribute("teams", teams);



%>

<head>
    <link rel="stylesheet" type="text/css" href="css/main.css" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Match Prediction</title>


</head>
<body>





<div>
    <h1 class="title">Welcome to Match Prediction Site </h1>
    <div id="logo" >
        <img src="images/cl.png"   >
    </div>
</div>
<form action ="AdminUserHandling" method = "post" >

    <div class="form-lables">
        <h1><select name="clteam1" >
                <c:forEach items="$teams"  var="teams"  >
                    <option name="clm1g1" value="$teams">
                        $teams
                    </option>
                </c:forEach>
            </select> Vs <select name="clteam1" >
                <c:forEach items="$teams"  var="teams"  >
                    <option name="clm1g1" value="$teams">
                        $teams
                    </option>
                </c:forEach>
            </select> </h1>
        <label for="user_lic">Goals : </label><input id="user_lic" name="clm1g1" type="number" min="" max="10" step="1" value ="1"/>
        <label for="user_lic">Goals : </label><input id="user_lic" name="clm1g2" type="number" min="" max="10" step="1" value ="1"/>
    </div>


    <input type ="submit" value="Submit" />

</form>

</body>
</html>

和我的 servlet 代码

 protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException 


     UsersDaoImp udi = new UsersDaoImp();


    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    String team1 = request.getParameter("clteam1");
    String team2 = request.getParameter("clteam2");
    String team1gl = request.getParameter("clteam1gl");
    String team2gl = request.getParameter("clteam2gl");
     Users user = (Users) request.getSession().getAttribute("user");



    System.out.println(team1);

    System.out.println(team2);

     udi.adminhandling(team1, team2,team1gl,team2gl); //save teams name and goals in database

    processRequest(request, response);




我的问题是我在管理页面 jsp 中设置了团队名称和最终结果,但是在动态地将它们传递给用户 jsp 时遇到了问题,我没有办法这样做,任何帮助都将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用RequestDispatcher

定义一个对象,接收来自客户端的请求并发送 将它们放到任何资源(例如 servlet、HTML 文件或 JSP 文件)上 服务器。 servlet 容器创建 RequestDispatcher 对象,它用作围绕位于的服务器资源的包装器 特定路径或由特定名称给出。

RequestDispatcher rd = request.getRequestDispatcher("/path/to/your/users.jsp"); // mention correct path to your user.jsp here
request.setAttribute("teams",teams);
rd.forward(request, response);

或者

您可以将对象设置为Session

 HttpSession session = request.getSession(false);
 session.setAttribute("teams",teams);

【讨论】:

以上是关于将参数从jsp动态传递给另一个jsp的主要内容,如果未能解决你的问题,请参考以下文章

将锚标记中的值传递给另一个jsp

如何将参数从漂亮的 URL 传递到 JSP 页面?

jsp页面传值给另一个jsp页面,怎么接收

如何将参数从JSP传递给Struts 2动作

如何将数据目标ID传递给另一个jsp引导程序

静态页面可以传递参数给动态页面吗