在form中定义一string类型的属性aaa,
页面上一<html:text property="aaa"/>与之对应,
aaa text中什么都不输入,当我submit时,
在对应的action中System.out.println("aaa()----------"+xxxForm.getAaa());
控制台输出aaa()----------
而不是aaa()----------null
在form中string默认值好象是null,怎么会是""
如果想得到期望结果aaa()----------null,应该怎么做,请高手指导

解决方案 »

  1.   

    你在form中有没有aaa这个属性,并且要有它的get 和set方法如果还是不行,你把值都打出来,看是那里出了问题
      

  2.   

    form中有aaa这个属性,并且有它的get和set方法
    我已经在对应的acion中System.out.println出来了
    实在是不知道哪里出了问题
    另外说明一点,我用的struts版本是1.2.4的
      

  3.   

    在页面有aaa这个对象你得到的就是空
    如果想得到NULL那就把页面的aaa对象去掉
      

  4.   

    只要页面有 <input   type="text"   name="aaa"   value=""> 之类的元素,那么获取到的aaa就不会为null 
    而<html:text   property="aaa"/>就是生成这样的页面元素
      

  5.   

    参见http://topic.csdn.net/u/20071126/17/f134c998-2552-4bea-bbd8-de79b5c3201d.html
      

  6.   

    只要页面有   <input       type="text"       name="aaa"       value="">   之类的元素,那么获取到的aaa就不会为null   
    而 <html:text       property="aaa"/> 就是生成这样的页面元素
    我已经把<html:text property="aaa"/>该成<input type="text" name="aaa" id="aaa">还是不行,form中取到的值还是"",而不是想要的null,难道text默认值都是"".郁闷中..............
      

  7.   

    是这样的.除非你的页面没有aaa这个元素.要不你不输值后台取的就是""
      

  8.   

    恩,struts你没有输入时,他传递form对应的属性不是null,而是""
    你可以这样判断
    if(属性==null||属性.trim().length==0)用户没有输入。
      

  9.   

    页面上的不输入肯定是""
    当页面没有你要的元素才是NULL