编写两个jsp页面:main.jsp和lader.jsp,将两个jsp页面保存在同一Web服务目录中。main.jsp使用include动作标记动态加载lader.jsp页面。lader.jsp页面可以计算并显示梯形的面积。当lader.jsp被加载时获取mian.jsp页面中include动作标记的param字标记提供的梯形的上底、下底和高的值。
基于之前的程序作了个修改,添加了个form表单,可以根据自己需要输入梯形的上底、下底和高,然后输出梯形面积。
main.jsp 页面:
<%@ page contentType = "text/html; charset=GB2312" %>
<HTML>
<BODY>
<form>
请输入梯形上底边:<input type = "text" name="up"><br>
请输入梯形下底边:<input type = "text" name="down"><br>
请输入梯形的高:<input type = "text" name="hight"><br>
<input type = "submit" value = "计算" name = submit>
<%
String up = request.getParameter("up");
String down = request.getParameter("down");
String hight = request.getParameter("hight");
if(up==""||down==""||hight =="")
{
out.print("必须输入上底边,下底边和高");
}
else{ %>
<jsp:include page = "lader.jsp">
<jsp:param name = "a" value = "<%=up%>" />
<jsp:param name = "b" value = "<%=down%>" />
<jsp:param name = "h" value = "<%=hight%>" />
</jsp:include>
<%}
%>
</form>
</BODY>
</HTML>
lader.jsp页面:
<%@ page contentType="text/html; charset=GB2312" %>
<HTML>
<BODY>
<%
String strA = request.getParameter("a");
String strB = request.getParameter("b");
String strH = request.getParameter("h");
double a = Double.parseDouble(strA);
double b = Double.parseDouble(strB);
double h = Double.parseDouble(strH);
double area = (a+b)*h/2;
%>
<P>梯形面积<%=area%>
</BODY>
</HTML>
运行结果: