内容:编写两个tag文件Rect.tag和Circle.tag。Rect.tag负责计算并显示矩形的面积,Circle.tag负责计算并显示圆形的面积。编写一个jsp页面,该jsp页面使用tag标记调用Rect.tag和Circle.tag。调用Rect.tag时,向其传递矩形的两个边的长度;调用Circle.tag时,向其传递圆的半径。
一、Rect.tag
<%@ tag pageEncoding="utf-8" %>
<h4>这是一个tag文件负责计算长方形的面积</h4>
<%@ attribute name="sideA" required="true"%>
<%@ attribute name="sideB" required="true"%>
<%! public String getArea(double a, double b)
{
if(a>0&&b>0){
double area = a*b;
return "<br>长方形的面积是:"+ area;
}
else{
return("<br>"+a+","+b+"不能构成长方形");
}
}
%>
<%
out.print("<br>jsp传过来的两边是:"+sideA+","+sideB);
double a = Double.parseDouble(sideA);
double b = Double.parseDouble(sideB);
out.println(getArea(a,b));
%>
二、Circle.tag
<%@ tag pageEncoding="utf-8" %>
<h4>这是一个tag文件负责计算圆形的面积</h4>
<%@ attribute name="radius" required="true"%>
<%! public String getArea(double r)
{
if(r>0){
double area = Math.PI*r*r;
return "<br>圆形的面积是:"+ area;
}else{
return "<br>wrong";
}
}
%>
<%
out.print("<br>jsp传过来的边长是:"+radius);
double r = Double.parseDouble(radius);
out.println(getArea(r));
%>
三、jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="rec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>调用tag文件</title>
</head>
<body>
<%-- <rec:Rect sideA="5" sideB="6"/> --%>
<rec:Circle radius="5.0" />
</body>
</html>
四、运行结果
五、总结
本次实验完成得很坎坷,内容不算难,但是一不小心错了就很麻烦了,比如这次我把
<%@ taglib tagdir="/WEB-INF/tags" prefix="computer" %>中的taglib写成tablib然后就一直找不到错误所在。。。