我有一个动态URL,它在控制器中验证令牌,从URL中的id获取详细信息,并将详细信息传递给EXt js store / mode / view / controller。但是,我不知道如何格式化sotre中的url以映射到java控制器。
java controller:
@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 store:
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'
}
})
});
如何在商店中对其进行格式化以便将其加载到视图中?现在它只是在页面中显示用户详细信息作为字符串,其中没有任何内容。
答案 0 :(得分:1)
您需要在需要时明确加载此商店 -
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.
}
});
}
在需要的时间和地点调用此方法。 如果这有帮助,请告诉我。