上代码
lianxi6.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@taglib tagdir="/WEB-INF/tags" prefix="computer" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<form action=" " method="get" name="form" style="margin: 10px"><!-- 页面不跳转 action必须要空一格 -->
<span style="float:left;margin-right: 30px">
以下为矩形的长宽:
<br><br>
输入数值a:<input type="text" name="a">
<br>
输入数值b:<input type="text" name="b">
</span>
<span style="display:inline-block">
以下为圆的半径:
<br><br>
输入数值c:<input type="text" name="c">
</span>
<br><br><br>
<div>
<input type="submit" value="提交" name="submit">
</div>
</form>
<br>
<h3>以下是调用rect.tag文件的结果:</h3>
<%
String a=request.getParameter("a");
String b=request.getParameter("b");
String c=request.getParameter("c");
if(a==null||b==null||c==null){
a="0";
b="0";
c="0";
}
if(a.length()>0&&b.length()>0&&c.length()>0)
%> <computer:rect sideA="<%= a%>" sideB="<%= b%>"/><%--注意<%=是连在一起的 --%>
<computer:circle radius="<%= c%>"/>
</body>
</html>
rect.tag
<%@tag pageEncoding="GB2312" %>
<html>
<body>
<h4>矩形的面积为:</h4>
</body>
</html>
<%@ 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.println("<br>jsp页面传递过来的两条边:"+sideA+","+sideB);
double a=Double.parseDouble(sideA);
double b=Double.parseDouble(sideB);
out.println(getArea(a,b));
%>
circle.tag
<%@tag pageEncoding="GB2312" %>
<html>
<body>
<h4>圆的面积为:</h4>
</body>
</html>
<%@ attribute name="radius" required="true"%>
<%!
public String getArea(double r){
if(r>0){
double area=r*r*Math.PI;
return "<br>圆的面积为:"+area;
}
else{
return("<br>"+r+"不能构成一个圆,无法计算面积");
}
}
%>
<%
out.println("<br>jsp页面传递过来的半径:"+radius);
double r=Double.parseDouble(radius);
out.println(getArea(r));
%>
结果显示