[英]pass parameter from jsp to another jsp dynamically
我正在使用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" alt="Smiley face" width="142" height="142">
</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,iam用盡了所有想法,因此將不勝感激。
您可以使用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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.