设计一个Triangle的JavaBean,并在JSP中进行测试。
属性:三条边:a,b,c (double类型)
方法:不带参数构造函数(使属性值均为0);判断是否是三角形,求周长函数getC();求面积函数getArea()。
注意:录入的数据必须为非0正实数,需要验证。
//out.jsp
<script>
function checkNum(value)
{ var reg=/^\d+(\.\d+)?$/; if (reg.test(value)) return true; else return false; }
function check(obj)
{ if (!checkNum(obj.value))
{
if(obj.name=="a") document.getElementById("e1").innerHTML="请输入正实数";
else if(obj.name=="b") document.getElementById("e2").innerHTML="请输入正实数";
else if(obj.name=="c") document.getElementById("e3").innerHTML="请输入正实数";
}
else
{
if(obj.name=="a") document.getElementById("e1").innerHTML="OK";
else if(obj.name=="b") document.getElementById("e2").innerHTML="OK";
else if(obj.name=="c") document.getElementById("e3").innerHTML="OK";
}
}
</script>
<body>
<form action="index.jsp" >
<label>请输入三条边:</label><br>
a:<input type="text" name="a" οnblur="check(this)"><span id="e1">请输入正实数</span> <br>
b:<input type="text" name="b" οnblur="check(this)"><span id="e2">请输入正实数</span> <br>
c:<input type="text" name="c" οnblur="check(this)"><span id="e3">请输入正实数</span> <br>
<br> <input type="submit" value="提交">
</form>
</body>
//Triangle.java
package javaBean;
public class Triangle {
double a,b,c;
public Triangle()
{
a=0;
b=0;
c=0;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public double getCir()
{
return a+b+c;
}
public double getArea()
{
double p=(a+b+c)/2;
return Math.sqrt(p*(p-a)*(p-b)*(p-c)) ;
}
public boolean isTriangle()
{
return a+b>c&&a+c>b&&b+c>a;
}
}
//index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="javaBean.Triangle;"%>
<HTML>
<BODY>
<jsp:useBean id="triangle" class="javaBean.Triangle" scope="session" />
<jsp:setProperty name="triangle" property="*"/>
a:<jsp:getProperty name="triangle" property="a"/><br>
b:<jsp:getProperty name="triangle" property="b"/><br>
c:<jsp:getProperty name="triangle" property="c"/><br>
<% if(triangle.isTriangle())
{
out.println("你输入的a,b,c构成三角形!<br>");
out.println("此三角形周长为:"+triangle.getCir()+"<br>");
java.text.DecimalFormat df=new java.text.DecimalFormat("0.00");
out.print("此三角形面积为:"+df.format(triangle.getArea()));
}%>
</BODY>
</HTML>