鉴定完毕,javabean没错,能看一下jsp代码?
或者你重启一下tomcat

解决方案 »

  1.   

    UP,這個JAVABEAN的使用是沒有問題的。
      

  2.   

    package beans;
    public class Test {
        int num;
        public void setNum(String a) {
    num = Integer.parseInt(a);
    //num = a;
        }
        public int getNum() {
    return num;
        }
    }
    你的num是整形的,当用setProperty的时候你赋给它的是一个字符串,编译器就认为是不匹配
    尽管你的代码里面有转换,但是编译器是按对应的数据类型来匹配的所以你必须修改一边
    赋值的时候转换成整形或者把bean里面的数据类型改成字符串
      

  3.   

    to: classjava(原始野人)  最上面3行就是jsp代码:JSP可以传的默认都是字符型,但它有自动类型转换的机制,可以把传入的值转为属性的类型。
    要是num是double 传入的形参类型也是double,就也可以的。
    难道Beans属性必须和形参的类型一样。
      

  4.   

    临时文件清过了,服务器也重起了,不行!
    编写Beans挺郁闷,它老显示修改前的页面,有时候刷新、删临时文件都不行,要重起tomcat才行,大家有什么好的办法没?
      

  5.   

    ^_^,jsp2.0的确有了这个功能,莫非真的是默认转型这个功能搞鬼
    呵呵,但是从理论上是对的
    实践上(我没试过)怎么会出现这种问题,^_^跟你一样纳闷
      

  6.   

    TO: jFresH_MaN()(AbsolutelyFresh)(java欣人) ( ) 你说的转换是在JSP页面中将String转为int,这样就可以传过去了吗?
      

  7.   

    package beans;
    public class Test {
        int num;
        public void setNum(String a) {
    num = Integer.parseInt(a);
    //num = a;
        }
        public int getNum() {
    return num;
        }
    }<jsp:setProperty name="practice2" property="num" value="100" />
    感觉是先在bean中找到 int num这个变量 确定是int再找相应的setNum方法,且参数为int型
    我试了 一下,别的类型不行你可以使用practice2.方法
      

  8.   

    我想了一下,还是应该修改你的bean
    把类型和setter和getter方法的类型对应
    这样符合规范,而且肯定没问题
      

  9.   

    TO: jFresH_MaN()(AbsolutelyFresh)(java欣人)
    你上面说的是什么意思,是属性和形参写为同一类型吗?
      

  10.   

    但我想不用errorpage页处理NumberFormatException错误,我想在beans里处理,
    num = Integer.parseInt(a);
    写在bean里,我可以加catch语句。
    没别的办法吗?
      

  11.   

    现在不是很清楚你的想法在beans里处理,错误信息你还返回吗应该在jsp中做处理,确定它是int<jsp:setProperty name="practice2" property="num" value="100" />
    可以不用这个

    practice2.setNum()
      

  12.   

    解决了,这样就可以了!jsp页<form action="t.jsp">
    <input type=text name="num" value=100>
    <input type=submit >
    </form>
    <jsp:useBean id="practice2" scope="request" class="beans.Test" />
    <% 
    String s = request.getParameter("num");
    practice2.setNum(s); %>
    <jsp:getProperty name="practice2" property="num" />Beans为
    ---------------
    package beans;
    public class Test {
        int num;
        public void setNum(String a) {
    try {
        num = Integer.parseInt(a);
      } catch(Exception e) {}
        }
        public int getNum() {
    return num;
        }
    }
      

  13.   

    我又在catch 里加了句话:
    System.out.print("有问题" + e.getMessage());但为什么不显示出错信息呢??但在tomcat里有错误提示!
      

  14.   

    怎么能把错误返回到网页上,而不是虚拟机上.
    ---------------------------------------------
    用out.print