jsp与javabean例子 求三角形、圆、梯形面积

Area2.java代码如下packagehtl;publicclassArea2{doublesideA=0,sideB=0,sideC=0;doubleresult=... Area2.java 代码如下

package htl;

public class Area2
{ double sideA=0,sideB=0,sideC=0;
double result=0;
boolean triangle;

String boy;
public double setSideA(double a)
{sideA=a;
return sideA;

}

public double setSideB(double b)
{sideB=b;
return sideB;
}

public double setSideC(double c)
{sideC=c;
return sideC;

}

public String setBoy(String b){
boy=b;
return boy;

}

public void getResult(){

if(boy.equals("sanjiaoxing")){
if(triangle){
double p=(sideA+sideB+sideC)/2.0;
result=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
System.out.println(result);

}
}else if(boy=="yuan"){
result=Math.PI*sideA*sideA;
System.out.println(result);
}else if(boy=="tixing"){
result=(sideA+sideB)*sideC/2;
System.out.println(result);
}

}

public boolean isTriangle()
{ if(sideA<sideB+sideC&&sideB<sideA+sideC&&sideC<sideA+sideB)
triangle=true;
else
triangle=false;
return triangle;
}
}
area2.jsp代码如下

<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="htl.Area2" %>
<jsp:useBean id="boy" class="htl.Area2" scope="page"/>
<html>
<head>

<title>一个表单,计算三角形、圆、梯形的面积</title>

</head>

<body bgcolor=cyan><font size=2>

<form action="" method=post >
请输入边长值:
<br>边长A(上底、半径): <input type="text" name="sideA" size=5>
边长B(下底):<input type="text" name="sideB" size=5>
边长C(高):<input type="text" name="sideC" size=5>
<br><br>请选择要计算的形状:
<br><select name="boy">
<option value="sanjiaoxing">三角形
<option value="yuan">圆
<option value="tixing">梯形
</select>
<br><br><input type="submit" name="submit" value="提交">
</form>

<%boy.getResult(); %>

</font>
</body>
</html>
出错提示:
org.apache.jasper.JasperException: An exception occurred processing JSP page /area2.jsp at line 30

30: <%boy.getResult(); %>
展开
 我来答
huanyingqiao
推荐于2017-09-12
知道答主
回答量:19
采纳率:0%
帮助的人:8.6万
展开全部
用表单向bean提交数据,只有提交了和该beans相对应的表单后,该指令标签才被执行。。。
当然还有其他的,如String boy="";
boy=="yuan" if(boy=="tixing")。。。
String 比较是要用equal()的,等,都是细节,需要耐心和细心的。

一下为修改程序:

package htl;

public class Area2
{ double sideA=0.0,sideB=0.0,sideC=0.0;
String boy="";
public void setSideA(double a)
{sideA=a;
}
public double getSideA(double a)
{return sideA;
}
public void setSideB(double b)
{sideB=b;
}

public void setSideC(double c)
{sideC=c;
}

public void setBoy(String b){
boy=b;
}

public double getResult(){
double result=0.0,p;
if(boy.equals("sanjiaoxing")){
if(isTriangle()){
p=(sideA+sideB+sideC)/2.0;
result=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
}
}else if(boy.equals("yuan")){
result=Math.PI*sideA*sideA;
}else if(boy.equals("tixing")){
result=(sideA+sideB)*sideC/2.0;
}
return result;
}

public boolean isTriangle()
{ boolean triangle;
if(sideA<sideB+sideC&&sideB<sideA+sideC&&sideC<sideA+sideB)
triangle=true;
else
triangle=false;
return triangle;
}
}

<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="htl.*" %>
<jsp:useBean id="boy" class="htl.Area2" scope="page"/>
<html>
<head>

<title>一个表单,计算三角形、圆、梯形的面积</title>

</head>

<body bgcolor=cyan><font size=2>

<form action="" method=post >
请输入边长值:
<br>边长A(上底、半径): <input type="text" name="sideA" size=5.0>
边长B(下底):<input type="text" name="sideB" size=5.0>
边长C(高):<input type="text" name="sideC" size=5.0>
<br><br>请选择要计算的形状:
<br><select name="boy">
<option value="sanjiaoxing">三角形
<option value="yuan">圆
<option value="tixing">梯形
</select>
<br><br><input type="submit" name="submit" value="提交">
</form>
<jsp:setProperty name="boy" property="*" />
<br>
<%=boy.getResult()%>

</body>
</html>
TableDI
2024-07-18 广告
**Excel表格中的COUNTIF函数**在Excel表格中,`COUNTIF`函数是一个强大的工具,用于统计满足特定条件的单元格数量。这个函数的基本语法是`=COUNTIF(range, criteria)`,其中`range`表示要统... 点击进入详情页
本回答由TableDI提供
年欣祎P1
2008-09-27 · TA获得超过751个赞
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
我告诉你你的错误原因:
String boy;
没有赋初值,所以在 boy.getResult()时候会报错,因为boy是null 所以你把上边那句改成:
String boy = "";就行了 就可以看到你想要的页面了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnaning
2008-09-27 · 贡献了超过165个回答
知道答主
回答量:165
采纳率:0%
帮助的人:0
展开全部
有耐心
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式