<html:text>property的问题
Struts1.2中遇到的问题,求教高手
关于<html:text>tag的property属性设置的问题
一般的用法是这样
Form的定义中
{
…………
private String userName;
private String userPassword;
…………
}
JSP中
…………
<html:text property="userName" />
<html:password property="userPassword" />
…………
但是我现在后台的Form中,不是单纯的String变量,而是一个对象
首先是
Class User {
…………
private String userName;
private String userPassword;
…………
}
然后Form里面是
{
…………
private User userInfo;
…………
}
这样的话,在JSP里面,我应该怎么写呢?
尝试1
…………
<html:text property="userInfo.userName" />
<html:password property="userInfo.userPassword" />
…………
结果:画面正常显示,翻译出来的html为
…………
<input type=text name="userInfo.userName" />
<input type=password name="userInfo.userPassword" />
…………
并且无法跟后台的Form绑定
尝试2
…………
<html:text property="userName" name="myForm.userInfo" />
<html:password property="userPassword" name="myForm.userInfo" />
…………
结果:画面无法正常显示,找不到名字为"myForm.userInfo"的Bean
这样两种尝试都失败了,那么究竟应该怎么写呢?还是说在Struts1.2下面,根本就无法实现这样的效果呢?
[解决办法]
帮顶,我觉得form里面为什么要传递类对象呢?在什么情况下能用到?
[解决办法]
<html:text property="userInfo.userName" />
<html:password property="userInfo.userPassword" />
这种方式是对的,因为你在form里定义了一个名为userInfo的User对象,
但是要注意,form里得有userInfo的get,set方法
才能将页面上的表单跟userInfo绑定起来
[解决办法]
[解决办法]
首先呢,user对象要实例化;struts1.x是不会帮你创建对象的
private User userInfo = new User();
其次,form中和user中对应的set和get方法是不能少的.
[解决办法]
STRUTS1.X的Form里属性最好都设置为String类型,需要时手动写代码转成对象
[解决办法]
学习
[解决办法]
[解决办法]
对于绝大部分情况而言
property属性都是值formbean中的对应的属性
[解决办法]
其实你可以转换一下思路的
在FORM中定义三个变量 USER name password
name password的get/set方法不变
user的get/set方法自己定义.
GET/
user = new user();
user.name=getName();
user.password = getPassword();
SET类似
试试行否。
[解决办法]
lz为什么要在Form里做一个这样的property呢?非做不可吗?那试试这个方法
下面是你的Form:
private User userInfo = new User();
public void setUserName(String userName){
user.setUserName(userName);
}
public void setPassword(String password){
user.setPassword(password);
}
public String getUserName(){
return user.getUserName();
}
public String getPassword(){
return user.getPassword();
}
因为JSP页面和FORM的对应该只关心getter and setter名,所以这样做应该可以实现。JSP页面的FORM中的property要注意和setter中的名称对应。
[解决办法]
。。。我的思路已经被抢注,哈哈
[解决办法]
我觉得做不到,
因为在From中定义对象,再在JSP页面对这个对象的属性操作的话,那就只属于这个对象的,跟在From中定义的类似对象中的属性完全是两码事吧
如果按LZ这样说,在FromBean中就只定义一个对象就OK了,其他属性就不需要了。