1. 程式人生 > >兩個jsp頁面間帶參跳轉

兩個jsp頁面間帶參跳轉

a.jsp頁面 中 通過超連結跳到 b.jsp頁面:
通過 a標籤 中href=…?a=1&b=2 攜帶引數跳轉。
那麼在b頁面中如何取出所攜帶的引數a、b中的值?
就我所知,有兩種方式:

  第一種:
         在b.jsp頁面中,直接使用EL表示式,${param.a}  、${param.b};即可取出引數的值
         其中的 param表示引數。
   第二種:通過request.getParameter()的方式。如下
   
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
%>

<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <!--上面的三個meta元標籤必須放在最前面,別的東西必須在它們三的後面-->
    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <script src="../js/jquery-3.2.1.min.js"></script>這個檔案要在下面這個檔案之前匯入,不然報錯
    <script src="../js/bootstrap.min.js"></script>
    <title>main.jsp</title>
    
  </head>
  <body>
     	<h1>main.jsp</h1>

     	此時登入賬戶為:${sessionScope.login.loginname }
      	<%
        //下面的param是從index.jsp頁面(相當於我在上面舉例用的a.jsp頁面)傳過來的引數,這裡的param並沒有別的意思,只是我在index.jsp頁面的超連結中起的名字就叫param。僅僅只是一個名字而已。
     	String param=request.getParameter("param");

     	param=new String(param.getBytes("ISO8859_1"), "utf-8");//對可能出現的亂碼進行處理
     	String [] s=param.split("。");
     	String [][]a=new String[s.length][2];
     	int i=0; 
     	for(String str:s){
     		 String [] h=str.split("@");
     		 a[i][0]=h[0];
     		 a[i][1]=h[1];
     		 i++;
     	}
     	request.setAttribute("a", a);

	%>
     	
      	 <br/>	 <br/>	 <br/>	 <br/>	 <br/>

         //會根據使用者許可權 動態生成許可權路徑的按鈕
      	 <div align="center">
	     	 <c:forEach var="i" begin="0" end="${fn:length(a)-1 }">
	     	       <c:if test="${requestScope.a[i][0] == '1'}">
	     	             <a href="${requestScope.a[i][1] }" target="abc"><button class="btn btn-info">普通員工路徑</button></a>
	     	       </c:if>
	     	        <c:if test="${requestScope.a[i][0] == '2'}">
	     	             <a href="${requestScope.a[i][1] }" target="abc"><button class="btn btn-warning">部門經理路徑</button></a>
	     	       </c:if>
	     	        <c:if test="${requestScope.a[i][0] == '3'}">
	     	             <a href="${requestScope.a[i][1] }" target="abc"><button class="btn btn-success">總經理路徑</button></a>
	     	       </c:if>
	     	       
	     	 </c:forEach>
     	 </div>

     	 <div align="center"> 
     	 	 <iframe  name="abc"  width="90%" height="600" frameborder="1"></iframe>
     	 </div>
     	 
     	 
     	 
     	
  </body>

下圖就是這個專案中 XxxxAction類中
在這裡插入圖片描述

下圖就是index.jsp頁面:(可以看到,我給要傳遞的那個引數命名為param,僅僅是隨意起的名字,不必在意)
在這裡插入圖片描述