首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Struts中jsp中表单input的name赋值与formBean里的私有成员关系解决办法

2012-01-19 
Struts中jsp中表单input的name赋值与formBean里的私有成员关系其实就是想知道填装的具体细节。比如jsp的for

Struts中jsp中表单input的name赋值与formBean里的私有成员关系
其实就是想知道填装的具体细节。
比如

jsp的form中有这么一个input

HTML code
<input type="text" name=userName>  //1



对应ActionForm中有这么一个私有成员
Java code
private String UserName;   //2public String getUserName() {      return UserName;    }    public void setUserName(String userName) {        UserName = userName;    }


这里1,2前面标注的两个属性名直接是什么关系,必须一致吗?我有试过有的时候不一致也是可以的。

我试着读了下源码,发现太复杂,没看懂。。。。

初学Struts,求高人解释。

[解决办法]
其实struts这个用的是反射的原理。 lz 1中的name 与 2中fromebean里的私有属性的名字不一定要相同。但是私有属性的set方法的名字 必须是 1中 name首字母大写然后加 set。如 1中如果是<input type="text" name=userName> 那么2中formbean中私有属性 名字可以不是userName 但是 必须要有一个setUserName。 
 原因是:struts得到页面input的name属性的值,内部处理调用set+name的值(首字母变大写)这个set方法设置值到formbean里。简单来说就是反射原理。
[解决办法]
探讨
必须一致吗?我有试过有的时候不一致也是可以的。

[解决办法]
探讨
其实struts这个用的是反射的原理。 lz 1中的name 与 2中fromebean里的私有属性的名字不一定要相同。但是私有属性的set方法的名字 必须是 1中 name首字母大写然后加 set。如 1中如果是<input type="text" name=userName> 那么2中formbean中私有属性 名字可以不是userName 但是 必须要有一个setUserName。
原……

[解决办法]
ActionForm里UserName要小写哦

热点排行