jsp_练习6

这篇博客介绍了如何创建和使用Tag文件来计算矩形和圆形的面积。通过Rect.tag和Circle.tag,分别实现了矩形和圆的面积计算,并在lianxi6.jsp页面中调用这两个Tag进行展示。在代码部分展示了相关JSP和Tag文件的实现细节。

题目

编写两个 Tag 文件 Rect.tag 和 Circle.tag。Rect.tag 负责计算并显示矩形的面积,Circle.tag 负责计算并显示圆的面积。编写一个 JSP 页面 lianxi6.jsp,该 JSP 页面使用 Tag 标记调用 Rect.tag 和 Circle.tag。调用 Rect.tag 时,向其传递矩形的两个边的长度;调用 Circle.tag 时,向其传递圆的半径。

代码

demo.jsp

<%@ page contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8" %>

<html>
  <body>
      <form action="lianxi6.jsp" method="GET" name="form">
        矩形的宽:
          <input type="text" name="width"/>
        <br/>
        矩形的高:
          <input type="text" name="height"/>
        <br/>
        圆形的半径:
            <input type="text" name="radius"/>
        <br/>      
        <input type="submit" value="提交"/>
      </form>
  </body>
</html>

lianxi6.jsp

<%@ page contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<% 
//获取输入的值
  String w = request.getParameter("width");
  String h = request.getParameter("height");
  String r = request.getParameter("radius");

%>
<%-- 引用 tag 文件 --%>
  <tags:Circle radius="<%=r%>"/>
  <tags:Rect width="<%=w%>" height="<%=h%>"/>

Rect.tag

<%@ tag pageEncoding="UTF-8" %>
<%@ attribute name="width" required="true" %>
<%@ attribute name="height" required="true" %>
<%! 
  public String getRectArea(double width, double height){
    //计算面积
    double area = width * height;
    return "矩形的宽为" + width + ",高为" + height + ",矩形的面积为" + area;
  }
%>

<% 
try{
  //转换类型
  double w = Double.parseDouble(width);
  double h = Double.parseDouble(height);
  //调用函数求结果,输出值
  out.println(getRectArea(w, h));
}catch(Exception e){

}
%>

Circle.tag

<%@ tag pageEncoding="UTF-8" %>
<%@ attribute name="radius" required="true" %>
<%! 
  public String getCircleArea(double radius){
    //求圆的面积
    double area = 2 * Math.pow(radius, 2) * 3.14;
    return "圆形的半径为" + radius + ",圆形的面积为" + area + "; ";
  }
%>

<% 
try{
  //转换参数类型
  double r = Double.parseDouble(radius);
  //输出结果
  out.println(getCircleArea(r));
}catch(Exception e){

}
%>

执行结果

页面
结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值