Extjs 4.2 アプリを Extjs 5.0 にアップグレードしています。
すべての読み取り専用ページを表示できますが、データを更新/保存しようとすると問題が発生します。私は本当にあなたの助けに感謝します!!
モデル データの値がサーバー側に表示されません。console.log(model) を使用してモデルを出力でき、すべての値が含まれていますが、サーバー側では id のみがあり、他のすべてのパラメーターは次のように表示されます。ヌル。
モデルのプロキシは次のとおりです。
Ext.define('MyApp.model.User', {
extend: 'Ext.data.Model',
id: 'user',
proxy: {
type: 'rest',
url : '/rest/update/user',
listeners: {
exception: function(proxy, response, operation) {
Ext.Msg.alert('Failed', 'Save the user Failed!');
}
}
},
fields: [
{name: 'id', type: 'int'},
{name: 'userName', type: 'string'},
{name: 'country', type: 'string'}
]
}
コントローラー:
onUserUpdateAction: function(button, event, action) {
var model = Ext.create('MyApp.model.User');
model.set('id', "123");
model.set('userName', "john");
model.set('country', "usa");
---
model.commit() / without commit() it does not add the id in URL like /user/123
model.save();
}
サーバー側のコードは次のとおりです。
@PUT
@Consumes({ "application/json" })
@Path("/Update/user/{id}")
updateUser(@PathParam("id") final int id, final User record);
実装クラスの最初の行のログ、id はありますが、他のすべての値は null です
*** In updateUser() method, id : 123, record: User(id=123, **userName=null, country=null**)