<%@ page contentType=&uot;text/html;Charset=GB2312&uot; %> <%@ taglib tagdir=&uot;/WEB-INF/tags&uot; prefix=&uot;computer&uot; %>
<HTML>
输入的三个数值a,b,c(代表三角形的三边或梯形的上底、下底和高):
<BODY color=cyan>
<FORM action=&uot;&uot; method=get name=form> <table>
<tr><td>输入数值a:</td>
<td><INPUT type=&uot;text&uot; name=&uot;a&uot;></td> </tr>
<tr><td>输入数值b:</td>
<td><INPUT type=&uot;text&uot; name=&uot;b&uot;></td> </tr>
<tr><td>输入数值c:</td>
<td><INPUT type=&uot;text&uot; name=&uot;c&uot;></td> </tr> </table>
<INPUT type=&uot;radio&uot; name=&uot;R&uot; value=&uot;triangle&uot;>代表三角形
<INPUT type=&uot;radio&uot; name=&uot;R&uot; value=&uot;lader&uot;>代表梯形 <br><INPUT TYPE=&uot;submit&uot; value=&uot;提交&uot; name=submit>
</FORM>
<% String a=reuest.getParameter(&uot;a&uot;); String b=reuest.getParameter(&uot;b&uot;); String c=reuest.getParameter(&uot;c&uot;); String cd=reuest.getParameter(&uot;R&uot;); if(a==null||b==null||c==null){ a=&uot;0&uot;; b=&uot;0&uot;; c=&uot;0&uot;; cd=&uot;0&uot;; }
if(a.length()>0&&b.length()>0&&c.length()>0){ %> <computer:GetArea numberA=&uot;<%=a%>&uot; numberB=&uot;<%=b%>&uot;
numberC=&uot;<%=c%>&uot; condition=&uot;<%=cd%>&uot;/>
<br><%=message%> <br><%=area%> <% } %>
</BODY></HTML> GetArea.Tag
实验结果图:
<%@ attribute name=&uot;numberA&uot; reuired=&uot;true&uot; %> <%@ attribute name=&uot;numberB&uot; reuired=&uot;true&uot; %> <%@ attribute name=&uot;numberC&uot; reuired=&uot;true&uot; %> <%@ attribute name=&uot;condition&uot; reuired=&uot;true&uot; %> <%@ variable name-given=&uot;area&uot;
variable-class=&uot;https://www.doczj.com/doc/2c18336277.html,ng.Double&uot; scope=&uot;AT_END&uot;
%>
<%@ variable name-given=&uot;message&uot; scope=&uot;AT_END&uot; %>
<%!
public double getTriangleArea(double a,double b,double c){ if(a+b>c&&a+c>b&&c+b>a){ double p=(a+b+c)/2.0;
double area=Math.srt(p*(p-a)*(p-b)*(p-c)); return area; } else
return -1; }
public double getLaderArea(double above,double bottom,double h){
double area=(above+bottom)*h/2.0; return area; } %>
<% try{ double a=Double.parseDouble(numberA); double b=Double.parseDouble(numberB); double c=Double.parseDouble(numberC); double result=0;
if(condition.euals(&uot;triangle&uot;)){ result=getTriangleArea(a,b,c); jspContext.setAttribute(&uot;area&uot;,new Double(result));
jspContext.setAttribute(&uot;message&uot;,&uot;三角形的面积&uot;);
}
else if(co
ndition.euals(&uot;lader&uot;)){ result=getLaderArea(a,b,c);
jspContext.setAttribute(&uot;area&uot;,new Double(result));
jspContext.setAttribute(&uot;message&uot;,&uot;梯形的面积&uot;);
} }
catch(Exception e){
jspContext.setAttribute(&uot;area&uot;,new Double(