最近在用struts2,发现了一个问题,在提交表单时,它总会把表单里的空文本域转换成0长度的字符串,这样的话结合hibernate的示例查询就会出现很大的问题,能否让struts2将空文本域转成 null 呢(感觉struts2在这点上的设计很傻啊)

解决方案 »

  1.   

    struts2会将表单里面的属性自动设置成空字符串(“”)的。因为当你加载页面时,就会默认给它们赋值成空字符串(“”),你如果想将它们转换为null,到后台的get方法里面坐下判断就行了!
      

  2.   


    这个方法属性比较少的时候还行,可是我现在类中有十多个String属性,这个要一个个判断... 你懂的
      

  3.   

    这样其实更好,相比之下,允许数据库里有null字段的做法更不好
    null的鲁棒性不如“”哦
    如果你一定要这样,可以在拦截器里通过反射把所有页面传来的""属性改为null
      

  4.   

    判断的时候 null != 属性 && !"".equals(属性)用null 很不友好 因为如果你要将查询条件传回页面的时候 有的不能为null
      

  5.   

    感觉没有必要吧。一般为空的判断是要作null与""这两种都要排除在外的。