我有一个jsp文件,它从AEM中的OSGi配置中获取数据,如下所示
<c:set var="myParam" value="${myConfig.myParam}" scope="request"/>
现在在我的JS文件中,我正在开启我的角度应用程序,如下所示:
var app = angular.module('myapp', []);
app.provider("$provider1", [function () {
// Default configuration
var config = {
key1: 'value'
};
return {
configure: function (params) {
angular.extend(config, params);
},
$get: ['$rootScope', function ($rootScope) {
return {
config: config
};
}]
};
}]);
app.config(['$authProvider', function($authProvider) {
$authProvider.configure({
key1: 'myCustomDataFromJSP'
})
}]);
如何从JSP文件中检索此myCustomDataFromJSP
?在配置阶段,我们无法访问范围。
由于
答案 0 :(得分:1)
我会以下一种方式做到:
<div id="config" data-jspvar="${myParam}"> </div>
像这样:
app.constant('myCustomDataFromJSP', (function() {
// Define your variable
var myCustomDataFromJSP = ...; //you can use smth like this
//window.document.getElementById('config').dataset.jspvar
return myCustomDataFromJSP;
})());
答案 1 :(得分:1)
上面的答案很好,但是在那里有一个隐藏的输入而不是DOM中的div
<input type='hidden' id="config" data-jspvar="${myParam}"> </input >
app.constant('myCustomDataFromJSP', (function() {
var myCustomDataFromJSP = //get the value here
return myCustomDataFromJSP;
})());