比如说某网站的会员注册页面,里面放了一个表单,表单中是会员注册的相关信息,如:用户名,密码,性别等等很多属性,要一个一个的传很麻烦,能不能把表单的信息封装成一个对象(VIP)传到action中?如果能,该怎么做?请各位大侠指点一二...
请注意:(1)用的是struts2,(2)是表单传值到action,并非是action传值到表单.(3)已经写好了VIP的model.

解决方案 »

  1.   


     很感谢上面那位朋友的回答,虽然没解决问题,但是说明了我问题没提好...
    问题补充:一点击提交数据是传过去了,但是我只知道一个一个的在action中接收数据,能不能把传过来的数据当成一个对象一次全部接收?在action里面又该怎么接收?
      

  2.   

    你在action里面定义一个对象 比如User user;
    页面上就通过user.name,user.password赋值就好了
      

  3.   

    当然可以啦
    你在acton中定义 private User user;,public 的get,set、class User ,private userId,public 的get,set、
    然后在jsp页面
    <s:text name="user. userId"/>
      

  4.   

    让你的ACTION实现ModelDriven 
    加上这些
    private User user = new User()
    public User getModel(){
       return user
    }
    模型驱动,行不?action里没有get set方法
      

  5.   

    对于表单上传复杂对象利用 Struts2 有两种方式 : 
      1. 使用 OGNL 表达式完成 
      2. 使用 Struts2 的 Type Conversion 来完成;对于使用 OGNL 表达式来完成 ,就和 warison2008 说的一样,这样是最简单的;对于使用 Type Conversion 来完成, 就需要你自己写一个转换器了, 不过并不建议这样,虽然这样能够坚决表单数据传递到 Action 中的问题,但是对于表单的回显就成了一个问题了....
        在自定义转换器中获取的 name 属性的参数值是一个数组,而在转换回去的时候(从 String-->Object 一个方法, Object ---> String 一个方法),返回的是一个 String ... 没办法回显到表单的各个字段(我没有想出来如何操作- -||)
      

  6.   

    struts2的model层的功能和职责,LZ看看
      

  7.   

    STRUTS2中的,ACTION类中如果有对应该的GET ,SET 方法,其会把页面对应的值直接写进对应的应该中。
      

  8.   

    在actioin页面写 private Vip vip;  然后为vip设置set和get方法;
    在jsp页面 比如:<s:textfield name="vip.属性" />
    就可以了
      

  9.   

    我是按照ognl的方式写的,可还是获取不到对象。请高人指点一下。在此先谢过了。