【发布时间】:2016-07-13 08:10:32
【问题描述】:
我是 ExtJS 的新手。我使用 ExtJS 设计了一个登录页面,其中一个值从 servlet 响应成功返回到 JS 文件,如下所示。
LoginServlet.java
String user_role = "User1 - Admin";
myObj.addProperty("success", true);
myObj.addProperty("user_role", user_role);
out.println(myObj.toString());
out.close();
login.js
buttons: [{
text: 'Login',
handler: function(button)
{
var formData = this.up('form').getForm();
formData.submit({
clientValidation: true,
url: '/LoginServlet',
method: 'POST',
success: function(form, action) {
user_role = Ext.JSON.decode(action.response.responseText);
Ext.MessageBox.alert('User_Role', user_role.user_role);
window.location = 'userhome.jsp';
},
failure: function(form, action) {
}
});
}
}
在Ext.MessageBox.alert('User_Role', user_role.user_role);,我收到如图所示的警告消息。
我需要将值分配给一个全局变量,以便我可以在我的整个 ExtJS 应用程序中访问它(我有一个名为 header.js 的通用 js 文件,它包含在应用程序的所有 JSP 文件中,我想在 header.js 中显示 'user_role' 的值,以便它显示在所有 JSP 文件中)。
注意:我已将“user_role”变量定义为单独文件 globalVar.js(代码如下)中的全局变量,并且我已将 globalVar.js 作为所有 JSP 文件中的第一个 js 文件包含在内。
var user_role;
我正在使用 ExtJS 4.2。请提出一种方法来实现这一点。
【问题讨论】:
-
您可以使用 LocalStorage (docs.sencha.com/extjs/4.2.5/#!/api/Ext.util.LocalStorage") 或 Cookies (docs.sencha.com/extjs/4.2.5/#!/api/Ext.util.Cookies) 存储 user_role。然后用一个静态类包装该功能,该类从那里存储/检索值。 (extjsexamples.blogspot.com/2014/01/…)
标签: java extjs extjs4 extjs4.1 extjs4.2