當使用 動作標記引入的是一個能動態執行的程序時,如 Servlet 或 JSP 頁面,可以通過使用動作標記向這個程序傳遞參數信息。
其語法格式如下:
<jsp:include page="relativeURL | <%=expression%>">
<jsp:param name="pName1" value="pValue1 | <%=expression1%>" />
<jsp:param name="pName2" value="pValue2 | <%=expression2%>" />
...
</jsp:include>
說明:<jsp:param>動作的 name 屬性用于指定參數名,value 屬性用于指定參數值。在<jsp:include>動作標記中,可以使用多個<jsp:param>傳遞參數。另外,<jsp:forward> 和<jsp:plugin>動作標記中都可以利用 <jsp:param> 傳遞參數。
【例1】使用<jsp:param>動作標記向被包含文件傳遞參數。
① 創建主頁面 2-21.jsp,用<jsp:include>包含用于對三個數進行排序的頁面 order.jsp,并且使用<jsp:param>向其傳遞 3 個參數。具體代碼如下:
<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title> param 動作標記應用示例 </title>
</head>
<body>
使用<jsp:include>包含用于對三個數進行排序的頁面order.jsp,<br>
并利用<jsp:param>把等排序的三個數8,3,5傳給order,jsp后,<br>
并得結果如下:
<hr/>
<jsp:include page="order.jsp">
<jsp:param name="num1" value="8"/>
<jsp:param name="num2" value="3"/>
<jsp:param name="num3" value="5"/>
</jsp:include>
</body >
</html>
② 創建用于對三個數進行排序的頁面 order.jsp,具體代碼如下:
<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title> param 動作標記應用示例 </title>
</head>
<body>
<%
String str1=request.getParameter("num1"); //取得參數num1的值
int m1=Integer.parseInt(str1); //將字符串轉換成整型
String str2=request.getParameter("num2"); //取得參數num2的值
int m2=Integer.parseInt(str2); //將字符串轉換成整型
String str3=request.getParameter("num3"); //取得參數num3的值
int m3=Integer.parseInt(str3); //將字符串轉換成整型
int t;
if(m1>m2)
{
t=m1;
m1=m2;
m2=t;
}
if(m2>m3)
{
t=m2;
m2=m3;
m3=t;
}
if(m1>m2)
{
t=m1;
m1=m2;
m2=t;
}
%>
<font color="blue" size="4">
</font>
這三個數從小到大的順序為:<%=m1%>、<%=m2%>、<%=m3%>
</body>
</html>
③ 運行 2-21.jsp,運行結果如圖 1 所示。
圖1 使用<jsp:param>動作標記向被包含文件傳遞參數