可是我在action中取得form后,form不为空,可form.getCode()就是空的了,
请问为什么?答,不管你提不提交你的formbean对应的页面,action在perform方法中会自动传递一个formbean过来,是根据struts-config.xml里的配置:在你的例子中就是name="baseInfoForm"指定的baseInfoForm,如果formbean不存在,会自动生成一个,所以不管怎么样form都不为空的原因,但如果是自动生成的情况,那么form.getCode()自然就没有任何数据了。formbean的get,set命名必须遵循什么规则?答:
写formbean的话,变量名一定是它的set和get方法的后缀,
例如:String myuser= "";  ,
那么set和get方法必须是setMyuser()和getMyuser(),注意:变量名的第一个字母不能为大写字母,如果String myuser= "";  改为String Myuser= "";  那么程序将报错找不到它的set和get方法,set和get方法后的第一个字母必须为大写:setXxx()和getXxx()。formbean如何取得客户端提交的form值,如何填充formbean呢,答:是通过struts的标签实现的,这些标签会自动给你绑定的,代码类似:
<html:form ...>
<html:text property="" />
...
</html:form>
你可以在网上找到很多这种资料,再详细看看!

解决方案 »

  1.   

    呵呵,非常感谢你!!!原来我也想到过,你怎么知道下面的回答的,是源代码么?
    答:
    写formbean的话,变量名一定是它的set和get方法的后缀,
    例如:String myuser= "";  ,
    那么set和get方法必须是setMyuser()和getMyuser(),注意:变量名的第一个字母不能为大写字母,如果String myuser= "";  改为String Myuser= "";  那么程序将报错找不到它的set和get方法,set和get方法后的第一个字母必须为大写:setXxx()和getXxx()。
      

  2.   

    那是我前几天给一个人回答时写的,看到你问类似的问题就copy过来了,嘻嘻!
    在这可以看到我的以前给人的回答:
    http://expert.csdn.net/Expert/topic/2186/2186561.xml?temp=.2176782
      

  3.   

    呵呵,分给你了,不过我还是希望你能再回答一个简单问题,即html的页面命名和formbean里面的命令已经getX,setX方法有关系么?
      

  4.   

    不好意思,我看不太懂这句话:
    即html的页面命名和formbean里面的命令已经getX,setX方法有关系么?已经getX,setX方法?为什么要用已经?
    还有就是html的页面命名?要用jsp才可以利用struts的功能,静态的html页面(.htm)tomcat不管得,直接就以html流返回给请求得用户的。所以你最好说清楚些好吗!
      

  5.   

    sorry,就是在html代码的变量命名与formbean的命名有和关系,我找了一些这方面的资料,说是
    如果用tag,最好html页面的命名和formbean命名一样,是不是如此?
      

  6.   

    还是不懂,“html代码的变量”,html代码没有变量的呀!你是说<% %>里面的变量还是说
    <html:text name="xxx" property="">的name或property?