编写三个JSP页面,main.jsp、circle.jsp和ladder.jsp,
将三个JSP页面保存在同一个Web服务目录中,
main.jsp使用include动作标记加载circle.jsp和ladder.jsp页面。
circle.jsp页面可以计算并显示圆的面积,ladder.jsp页面可以计算并显示梯形的面积。
当circle.jsp和lader.jsp被加载时获取main.jsp页面include动作标记的param子标记提供的圆的半径以及梯形的上底、下底和高的值。
1.main.jsp文件的代码编写
<%@page contentType="text/html;charset=utf-8"%>
<html>
<body>
<%
double r=3,a=2,b=5,c=2;
%>
<br>加载circle.jsp计算半径为<%=r %>的圆的面积:
<jsp:include page="circle.jsp">
<jsp:param value="<%=r %>" name="sideR"/>
</jsp:include>
<p>---------------------------------------------------------------------</p>
<br>加载ladder.jsp计算上底、下底、高为<%=a %>,<%=b %><%=c %>的梯形面积
<jsp:include page="ladder.jsp">
<jsp:param value="<%=a %>" name="sideA"/>
<jsp:param value="<%=b %>" name="sideB"/>
<jsp:param value="<%=c %>" name="sideC"/>
</jsp:include>
</body>
</html>
2.circle.jsp文件的代码编写如下
<%@page contentType="text/html;charset=utf-8"%>
<%! public String getArea(double r)
{
if(r>0)
{
double area=r*r*3.14;
return ""+area;
}
else{
return("半径为"+r+"不能为大于0以外的数字,无法计算面积");
}
}
%>
<%
String sideR=request.getParameter("sideR");
double r=Double.parseDouble(sideR);
%>
<br><br>我是被加载的文件,负责计算圆的面积<br>
给我传递的半径是:<%=r%>
<br>圆的面积是:<%=getArea(r) %>
3.ladder.jsp文件代码编写
<%@page contentType="text/html;charset=utf-8"%>
<%! public String getArea(double a,double b,double c)
{
if(a>0&&b>0&&c>0)
{
double area=(a+b)*c/2;
return ""+area;
}
else{
return("梯形的上底、下底、高"+a+" "+b+" "+c+"不能为大于0以外的数字,无法计算面积");
}
}
%>
<%
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><br>我是被加载的文件,负责计算圆的面积<br>
给我传递的上底、下底、高是:<%=sideA%> <%=sideB %> <%=sideC %>
<br>梯形的面积是:<%=getArea(a,b,c) %>