日期:2014-05-18  浏览次数:20626 次

一个javabean问题
我写了一个javabean代码如下:
package test;

import java.io.*;

public class Circle2 {
double r = 1;
double circleArea = 0;
double circleLength = 0;

public double gett() {
return r;
}

public void setr(double nr) {
r = nr;
}

public double getr() {
circleArea = Math.PI * r * r;
return circleArea;
}

public double lengthr() {
circleLength = 2 * Math.PI * r;
return circleLength;
}

}
jsp代码如下
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@page import="test.Circle2"%>
<html>
<head>
</head>
<body>
<jsp:useBean id="apple" class="test.Circle2" scope="page" />
<%apple.setr(100);%>
圆的半径为:<jsp:getProperty name= "apple" property= "r" /> 
</body>
</html>
为什么输出的的数为圆的周长,而且当property=circleArea或者=circleLength时就什么都出不来,我觉得不是代码的问题吧
谢谢!

------解决方案--------------------
因为Bean只输出get和set方法,我觉得楼主看看Bean的语法作用,谢谢!
------解决方案--------------------
你的bean都没有getCircleArea,getCircleLength方法,怎么出来呢,而且出来的是圆的面积吧
------解决方案--------------------
代码中只设置了圆的半径,而没有使用使用求圆周长及面积的方法,这两个参数自然不会有.而且这两个参数是默认的权限,不能被外部访问.圆半径和面积应当用lengthr() 和lengthr() 方法获得.使用<jsp:getProperty >对程序的安全性不够,建议最好不用.