我在action里定义了一下User类做为属性,在前台表单里的文本框里是<input type="text" name="user.id"/>
但提交到action后,取User的时候怎么是这种形式呢 User$$EnhancerByCGLIB$$a379bb44

解决方案 »

  1.   

    换成 <s:textfield> 标签
      

  2.   

    可以试试将name=一个el表达式   ${user.id}
      

  3.   

    如果你这样做的话,要用 <s:textfield> 标签
      

  4.   

    User$$EnhancerByCGLIB$$a379bb44
    是user.id的值?
      

  5.   

    主要取的这样的类,在hibernate保存的时候,保找不到实体类
      

  6.   

    <s:input type="text" name="user.id"/>
      

  7.   

    我传到action里的User类,在做hibernate保存的时候保 Unknown entity: User$$EnhancerByCGLIB$$a379bb44
      

  8.   

    把你的标签换成struts标签 或者你自己从request里面获取数据组装成user对象
      

  9.   

    <input type="text" name="user.id"/>
    这种命名的类.属性的方式和那个struts2的标签作用不是一样的吗
      

  10.   

    action
     继承 extends ActionSupport 了吗
      

  11.   

    恩, 我有些晕了, 
      现在是在页面上输入了值 (输入值是什么),为什么又和hibernate有关系啦, 你所得到的结果是直接控制台输出的,还是怎么得到的User$$EnhancerByCGLIB$$a379bb44
    action里有没有set get 方法呢
      

  12.   

    你在action里声明:private User user;//这个user就是你页面上写的user.id那个user
                    然后提供user的get和set方法,必须提供。这样你在JSP页面上输入的指都可以在action里以对象的形式得到了。
      

  13.   

    不好意思,我发现这个ACTION被SPRING代理了,所以这里初始化的变量都是这种形式的,这种形式用hibernate保存都就会出错了
      

  14.   

    应该写成user_id