编写Triangle.tag,利用海伦公式,实现输入三边计算三角形面积
时间: 2024-09-20 19:13:45 浏览: 43
在Struts2框架中,你可以创建一个名为`Triangle.tag`的自定义标签库(Tag Library),以便利用海伦公式(Heron's formula)计算三角形的面积。首先,你需要创建一个Java类来封装计算功能,然后将其注册为标签库。下面是一个简单的示例:
1. 创建`TriangleCalculator.java`文件,实现三角形面积计算:
```java
import org.apache.struts2.ServletActionContext;
public class TriangleCalculator {
public static double calculateArea(double a, double b, double c) {
// 海伦公式:s = (a+b+c)/2
double s = (a + b + c) / 2;
// 计算面积
double area = Math.sqrt(s * (s - c));
return area;
}
}
```
2. 在`struts.xml`配置文件中注册自定义标签库:
```xml
<tags>
<taglib uri="/triangle" name="triangle">
<tag class="com.example.YourPackage.TriangleCalculator" name="calculateArea"/>
</taglib>
</tags>
```
3. 编写`Triangle.tag`文件:
```xml
<taglib xmlns="http://struts.apache.org/tags"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://struts.apache.org/tags http://struts.apache.org/dtds/struts-taglib_2_3.dtd"
prefix="triangle">
<tag name="calculateArea" class="com.example.YourPackage.TriangleCalculator">
<attribute name="a" type="double" required="true" description="三角形第一条边长"/>
<attribute name="b" type="double" required="true" description="三角形第二条边长"/>
<attribute name="c" type="double" required="true" description="三角形第三条边长"/>
<attribute name="result" type="java.lang.String" required="true" description="计算结果,返回值"/>
<body>
<![CDATA[
<#assign result = triangle.calculateArea(a, b, c)>
]]>
</body>
</tag>
</taglib>
```
现在你可以在JSP页面上使用这个自定义标签了:
```jsp
<%@ taglib uri="/triangle" prefix="triangle" %>
...
<triangle:calculateArea a="${sideA}" b="${sideB}" c="${sideC}"
result="${area}"/>
<!-- 输出结果 -->
<p>三角形面积: ${area}</p>
```
阅读全文