私は動的URLを持っていて、コントローラーのトークンを認証し、URLのidから詳細を取得し、詳細をEXt js store /モード/ビュー/コントローラ。しかし、私は、javaコントローラにマップするために、sotreのURLをどのようにフォーマットするのか分かりません。どのように/ url/{}パス変数をExt Js Storeにマップするのですか
Javaのコントローラ:
@Controller
@RequestMapping("/resetPassword")
public class GmiResetPasswordController {
@RequestMapping(value = "/{id}/{token}", method = RequestMethod.GET)
public
@ResponseBody
User getDetails(Model model, HttpServletRequest request, @PathVariable(value = "id") int id, @PathVariable(value = "token") String token) {
// [..]
return details;
EXT JS店:それはビューにロードされるように
Ext.define('resetPassword.store.resetPasswordStore', {
extend: 'Ext.data.Store',
model: 'resetPassword.model.resetPasswordModel',
storeId: 'resetPasswordStore',
autoload: true,
proxy: new Ext.data.HttpProxy({
type: 'ajax',
timeout : 36000,
url: '/resetPassword/{id}/{token}',
reader: {
type:'json'
}
})
});
は、どのように私は店でこれをフォーマットしますか?今は、ユーザーの詳細をページ内の文字列として何も表示しないで表示しています。
loadResetPasswordStore : function(){
var id = 'idVal';
var token = 'tokenVal';
var store = Ext.getStore('resetPassword.store.resetPasswordStore');
if(store != null){
var proxyUrl = '/resetPassword/'+ id + '/'+ token ;
store.getProxy().setUrl(proxyUrl);
}
store.load({
callback : function(records) {
// Code to be executed after store is loaded.
}
});
}
このメソッドを呼び出し、必要に -
実行時にID /トークンが生成されると思われるので、手動でストアロードを行う必要があります(ハードコード値はありません)。ストアのロード前に、これらのストアのプロキシパラメータを置き換える必要があります。 いくつかの懸念がある場合に返信します – Tejas