比如说某网站的会员注册页面,里面放了一个表单,表单中是会员注册的相关信息,如:用户名,密码,性别等等很多属性,要一个一个的传很麻烦,能不能把表单的信息封装成一个对象(VIP)传到action中?如果能,该怎么做?请各位大侠指点一二...
请注意:(1)用的是struts2,(2)是表单传值到action,并非是action传值到表单.(3)已经写好了VIP的model.
请注意:(1)用的是struts2,(2)是表单传值到action,并非是action传值到表单.(3)已经写好了VIP的model.
很感谢上面那位朋友的回答,虽然没解决问题,但是说明了我问题没提好...
问题补充:一点击提交数据是传过去了,但是我只知道一个一个的在action中接收数据,能不能把传过来的数据当成一个对象一次全部接收?在action里面又该怎么接收?
页面上就通过user.name,user.password赋值就好了
你在acton中定义 private User user;,public 的get,set、class User ,private userId,public 的get,set、
然后在jsp页面
<s:text name="user. userId"/>
加上这些
private User user = new User()
public User getModel(){
return user
}
模型驱动,行不?action里没有get set方法
1. 使用 OGNL 表达式完成
2. 使用 Struts2 的 Type Conversion 来完成;对于使用 OGNL 表达式来完成 ,就和 warison2008 说的一样,这样是最简单的;对于使用 Type Conversion 来完成, 就需要你自己写一个转换器了, 不过并不建议这样,虽然这样能够坚决表单数据传递到 Action 中的问题,但是对于表单的回显就成了一个问题了....
在自定义转换器中获取的 name 属性的参数值是一个数组,而在转换回去的时候(从 String-->Object 一个方法, Object ---> String 一个方法),返回的是一个 String ... 没办法回显到表单的各个字段(我没有想出来如何操作- -||)
在jsp页面 比如:<s:textfield name="vip.属性" />
就可以了