struts2-json-plugin を使用して、struts アクションと extjs を統合しようとしています。extjsからstruts2アクションにjsonを送りたい。この 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){
...
}
どんな助けでも大歓迎です 事前に感謝します