param动作标记(与jsp:include动作标记一起使用时)
可以将param标记中的值传递到include动作标记要加载的文件中去,被加载的JSP文件可以使用Tomcat服务器提供的request内置对象获取include动作标记的param字表记中name属性所提供的值。
使用include动作标记加载JSP文件index2.jsp,jindex2.jsp页面计算并显示三角形的面积,当index2.jsp被加载时获取index.jsp页面include动作标记的param子标记提供的三角形三边的长度。
1.index.jsp文件内容
<%@ page contentType="text/html;charset=utf-8" %>
<html>
<body>
<%
double a=3,b=4,c=5;
%>
<br>加载index2.jsp文件,计算三边为<%=a %>,<%=b %>,<%=c %>的三角形的面积
<jsp:include page="index2.jsp">
<jsp:param value="<%=a %>" name="sideA"/>
<jsp:param value="<%=b %>" name="sideB"/>
<jsp:param value="<%=c %>" name="sideC"/>
</jsp:include>
</body>
</html>
2.index2.jsp文件内容
<%@ page contentType="text/html;charset=utf-8" %>
<%!public String getArea(double a,double b,double c)
{
if(a+b>c&&a+c>b&&b+c>a)
{
double p=(a+b+c)/2.0;
double area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return ""+area;
}
else
{
return (" "+a+","+b+","+c+"不能构成一个三角形,无法计算面积");
}
}
%>
<%
String sideA=request.getParameter("sideA");
String sideB=request.getParameter("sideB");
String sideC=request.getParameter("sideC");
double a=Double.parseDouble(sideA);
double b=Double.parseDouble(sideB);
double c=Double.parseDouble(sideC);
%>
<br><b>我是被加载的文件,负责计算三角形的面积<br>
给我传递的三边是:<%=sideA %>,<%=sideB %>,<%=sideC %></b>
<br>三角形的面积:<%=getArea(a,b,c) %>
3.浏览器显示效果