用于计算矩形面积与圆形面积
使用方法
矩形计算
- 输入长(2)
- 输入宽(3)
- 点击提交按钮
结果如下:
圆形计算
- 输入半径(3)
- 不填写宽
- 点击提交按钮
结果如下:
主要逻辑
xiti3_6.jsp
- 长和宽都填写的情况:计算矩形面积
- 只填写半径的情况:计算圆形面积
<% String a = request.getParameter("a");
String b = request.getParameter("b");
if (a == null || b == null) {
a = "0";
b = "0";
}
if (a.length() > 0 && b.length() > 0) {%>
<computer:Rect numberA="<%=a%>" numberB="<%=b%>"/>
<br><%=message%>
<br><%=area%>
<%}
if (a.length() > 0 && b.length() == 0) {%>
<computer:Circle radius="<%=a%>"/>
<br><%=message2%>
<br><%=area2%>
<%}
%>
Rect.tag
<%@ tag pageEncoding="gb2312" %>
<%@ attribute name="numberA" required="true" %>
<%@ attribute name="numberB" required="true" %>
<%@ variable name-given="area" variable-class="java.lang.Double" scope="AT_END" %>
<%@ variable name-given="message" scope="AT_END" %>
<% try {
double a = Double.parseDouble(numberA);
double b = Double.parseDouble(numberB);
double result = a*b;
jspContext.setAttribute("area", result);
jspContext.setAttribute("message", "矩形面积");
} catch (Exception e) {
jspContext.setAttribute("area", -1.0);
jspContext.setAttribute("message", "" + e.toString());
}
%>
Circle.tag
<%@ tag pageEncoding="gb2312" %>
<%@ attribute name="radius" required="true" %>
<%@ variable name-given="area2" variable-class="java.lang.Double" scope="AT_END" %>
<%@ variable name-given="message2" scope="AT_END" %>
<% try {
double a = Double.parseDouble(radius);
double result = Math.PI * a * a;
jspContext.setAttribute("area2", result);
jspContext.setAttribute("message2", "圆形面积");
} catch (Exception e) {
jspContext.setAttribute("area2", -1.0);
jspContext.setAttribute("message2", "" + e.toString());
}
%>
注意
- Intellij Idea创建web项目及tomcat部署实战
- 在同一个
.jsp
文件中,使用不同.tag
文件注意variable
名称不得有冲突