将参数从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的主要内容,如果未能解决你的问题,请参考以下文章