我表单的文本框的数据有几个是INT的,没设置值的时候是默认为0
1.请问除了设置为String外怎么使它不显示0;
2、我在登录的时候用实体类getId了,在servlet里用Student s=new Student()调用getId时为NULL
请问是作用域问题还是new关键字把Student里的数据清空了?

解决方案 »

  1.   

    java来说,所有基本类型都一定会有默认值,数值就是0,对象来说,全是null,你不想要java给你的默认值,那就你给程序设一个默认值
      

  2.   

    1。页面可以判断为0 value为空
    2。new关键字把Student里的数据清空了
      

  3.   

    第一个问题,帮忙顶一下,第二个问题我认为可能是new关键字的原因,你是否可以代码贴出来,看看,这样也是不好说的
      

  4.   

    第一个 当然都有默认值的 第二个问题 new是给你新的对象创建一块新的内存 这样数据肯定是清空了 以前的数据都没有了!
      

  5.   

    我感觉new 一个实体类  就是给对象创建一个新的内存空间  是用来作为存放对象里的数据的
      

  6.   

    首先id是主键,绝大多数是由数据库保存时候生成的
    Student s=new Student()
    这只是一个VO,并没有保存到数据库中,所以id肯定是NULL
    只有将VO->PO(也就是通过中间件保存数据库)这时候id才会存在
      

  7.   

    这个基本数据类型的,不给值肯定会有默认值的,还是在获取值的时候去判断一下吧.....用下Integer这类型看看...
      

  8.   

    Integer i这个是对象如果这样弄的话
    会导致数据库和实体类的诸多问题吧  
      

  9.   

    1.如果用的是jsp,可以用<C:if>标签进行判断,若是获取的为0,为它赋一个你想要显示的值,若是什么也不显示,赋值为空字符串就行了。
    2.你new了一个新对象,没有赋值,用get方法是获取不到的,你若想获取原来的id,可以用setAttribute方式或传参的形式把id传过来。
      

  10.   

    这个是不会有问题的,java有自动装拆箱操作的,我觉得lz的问题应该已经解决了啊,楼上各位的解决方案已经可以帮你解决问题了!如果说还有问题的话,那不妨把你的代码贴出来看一下!
      

  11.   

    1.int没设值就默认为0 
      既然你用的文本框 就判断当为0的时候 文本框的值为空2 new出来的是个新的东西 啥都没有 是要你填东西的
      怎么可能会取得到东西呢
      

  12.   

    最后附加的问下request.setAttribute和request.getSession.setAttribute的实现的结果一样吗?
      

  13.   

    基本上相同,request应该只是在一次请求中有效。session是在一次会话中有效。
      

  14.   

    如果以前登录的时候设置了request.getSession.setAttribute("Login");
    在另外一个servlet里request.getSession.setAttribute("Login")和request.setAttribute("Login")都能覆盖掉原来的Login吗?
      

  15.   

    在jsp页面
    <%
    ${Logineduser.grade}=${Logineduser.grade}==0?"":${Logineduser.grade};
    %>
    怎么不能识别$