繁体   English   中英

extjs和struts集成

[英]extjs and struts integration

我正在尝试使用struts2-json-plugin集成struts动作和extjs。 我想将json从extjs发送到struts2动作。 这个json包含了我的bean(UserEntity)的所有字段。 但动作类的设置器不会调用。 这是我的代码:

UserAction.java

public class UserAction extends BaseAction {

      private UserEntity userEntity = new UserEntity();

      public UserEntity getUserEntity() {
           return userEntity;
      }

      public void setUserEntity(UserEntity userEntity) {
           this.userEntity = userEntity;
      }

      ...
}

struts.xml

     <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="default" namespace="/" extends="struts-default,json-default">

        <action name="saveOrUpdateUserAction" class="ir.emad.action.UserAction" method="saveOrUpdateUser">
            <result name="success" type="json">
                <param name="root">userEntity</param>
            </result>
        </action>

    </package>

</struts>

和我的UserStore.js

    Ext.define('AM.store.UserStore', {
    extend: 'Ext.data.Store',
    model: 'AM.model.UserModel',
    autoLoad: true,

    proxy: {
        type: 'ajax',
        api: {
            read: 'listAllUsersAction',
            update: 'saveOrUpdateUserAction'
        },
        reader: {
            type: 'json',
            root: 'users',
            successProperty: 'success'
        },
        writer: {
            type: 'json',
            root: 'userEntity',
            successProperty: 'success',
            encode: true
        },
        contentType: 'application/json'

    }
});

我的问题是从未调用过userEntity的设置器。如果我将设置器更改为以下代码,那么一切都很好。 但我想直接将json对象设置为UserEntity bean。

public void setUserEntity(String userEntity){
   ...
}

任何帮助将不胜感激预先感谢

ExtJS和Struts是在不同计算机上运行的不同进程。

浏览器是否将正确的信息发送到服务器上的正确URL? 您可以使用Chrome开发者工具进行检查。

服务器可以接受独立于ExtJS的正确URL上的正确信息吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM