当使用 <jsp:include> 动作标记引入的是一个能动态执行的程序时,如 Servlet 或 JSP 页面,可以通过使用 <jsp:param> 动作标记向这个程序传递参数信息。
其语法格式如下:
说明:<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>动作标记向被包含文件传递参数