这是表单:<input type="text" name="username" id="username"/>
        <s:hidden name="password" value="123456" id="password"/>
        <select name="gid" size="1">
<option value=2>专家</option>
<option value=3>单位</option>
  </select>
   对应的实体例User中的字段有 username,password,gid
     我想在Action直接拿到含有表单数据的User的对象,不会拿。
    哪位高手帮忙给小弟这个问题解答一下?

解决方案 »

  1.   

    先取出3这三个字段,然后再用这3个属性new一个User对象
      

  2.   

    谢谢了,我想用Spring依赖注入方法,但是总是报org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update这样的错误。
      

  3.   

    name="user.username" 
    name="user.*" 
      

  4.   

    [Quote=引用 2 楼 qianxiaopeng 的回复:]
    谢谢了,我想用Spring依赖注入方法你用的是属性驱动还是模型驱动,要是属性驱动的话,你的<input>里面的name要写成“对象名.属性名”(对象名是你在action里面实例化的那个对象)
      

  5.   

     我也不知道是什么模型,下面是我的appllicationcontext.xml里面的一部分配置文件,
    <bean id="user" class="com.ascent.po.User">
       </bean>   
       <bean id="useradminaction" class="com.ascent.action.UseradminAction">
       <property name="useradminboimpl">
       <ref bean="useradminbo"/>
       </property>
      <property name="user">
      <ref bean="user"/>
       </property>
       </bean>
      

  6.   

    在Action里new一个User的对象<input type="text" name="User.username" id="username"/>
            <s:hidden name="User.password" value="123456" id="password"/>
            <select name="User.gid" size="1">
    <option value=2>专家 </option>
    <option value=3>单位 </option>
      </select> 
      

  7.   

    谢了,我的Action里面有
    private User user; 属性和set方法,我想依靠注入直接把user拿出来用,
    我试过了,不在Action里面不new User对象,不能把把它拿出来。
      

  8.   

    一定要注入LZ才肯取值吗?只要在Action里面能拿到值 而且数据交互的效益不低.稍微优化下不就可以了么??
      

  9.   

    可以参考:http://www.jxva.com/framework的源代码
    里面有一个com.jxva.mvc.Form类可以直接使用如下代码:
    User user=form.form2Bean(User.class);来从form表单中获取User对象
      

  10.   

    哈哈,那是配置文件的问题了,要不怎么会是hibernate的异常呢。。