那就换成其他的字符串传进去,然后在bean里面将这个特定的字符串还原成“”比如,如果在页面是“”就把“isNull”这个字符串传给bean,在bean中把“isNull”还原成“”如果没有其他可行的办法的话,那只好这样了!

解决方案 »

  1.   

    to rainshow(要学习的那样多,时间却那么的少) :
    晕~~~,这样html的页面上需要充斥很多的JavaScript,这可不是想要的结果。
      

  2.   

    <jsp:useBean id="BeanId" scope="session" class="test_project.MarkBean" />
    <jsp:setProperty name="BeanId" property="sample" value="" />
    <%
       String str1 = BeanId.getSample()+"kdfdfdfdfds";
       out.println(str1);
    %>空字符串不可以吗?
    我这里可以的啊!
      

  3.   

    to nql10(林)我的看法:<jsp:setProperty name="BeanId" property="sample" value="" />
    是把null传给了BeanId。所以如果你的bean包括null情形的话,那就可以传。
    如果这样的话,那传“”和不传任何值给bean的结果是一样的。
      

  4.   

    更正一下to nql10(林)我的看法:<jsp:setProperty name="BeanId" property="sample" value="" />
    是把null传给了BeanId。所以如果你的bean包括null情形的话,那就可以传。------------------------------------------------------------
    所以建议楼主将在bean中做个是否为null的判断。
    我的意思是:当value=""的时候,实际上是把null传给bean。
    未经证实,请楼主自己尝试一下!!!!!!!!!!!
      

  5.   

    事实上,setProperty是这么转换成Java文件的:        
            _jspParam = request.getParameter("fromDate");
            if (_jspParam != null && ! _jspParam.equals(""))
              aBean.setFromDate(_jspParam);
    如果页面上无此参数或者为空,根本就不调用相应的setter。问题是,如果没有这个参数,可以接受。我有这个参数只是为空,不调用就不爽了!!!!
      

  6.   

    忘了说明,我用的是linux + resin,各位可以自己看jsp转换后的java文件。
      

  7.   

    如果愿意写servlet的话,我自己调用所有的setter行了。:)
    只所以想用setProperty * 就是想代码简洁省事点。没想到居然在传送""时,它就不调用了。:(
      

  8.   

    TO: rainshow(要学习的那样多,时间却那么的少):
    你的Bean不包括NULL吗?
    如果在Bean中没有定义构造函数的话,就不包括NULL,
    定义了,再NEW一下不就有NULL了!
      

  9.   

    难道你们写jsp这么久,用了这么多的setProperty就没发现这个问题吗?
      

  10.   

    我很少用setProperty,基本上都是用<% bean.setXXX();%>
      

  11.   

    同楼上.
    set/getProperty只能传递String,不爽,故一般不用setProperty这类方法唯美观而已,头一次看到觉得很好,第二次看到感到太烂。