我正在使用角度JS和JSP。我需要从JSP中检索会话属性变量到我的控制器。我的代码在
之下JSP
53543d31d3b73703d31363b
JS
<html lang="en" ng-app="myApp">
<body>
<div data-ng-controller="myCtrl as vm" style="height:100%">
<md-content layout="row" style="height:100%">
<div class="widget">
<h2>Header</h2>
<div ui-view></div>
</div>
</md-content>
</div>
<script type="text/javascript" src="/root/script/script.js"></script>
<%
String policy = session.getAttribute("POLICY_CHANGE");
%>
</body>
</html>
答案 0 :(得分:0)
您可以使用表达式语言作为数据属性输出变量,如下所示:
<div data-my-variable="${myVariable}" id="myDiv"></div>
如果您使用的是Jquery,则可以使用attr函数:
var output = $("#myDiv").attr("data-my-variable");
答案 1 :(得分:0)
尝试(我从来没有尝试过这个 - 只是想法......如果有效,请发帖):
<script>
angular.module('jspVariablesService', [])
.value("valueName",${yourVariable});
</script>
在<head></head>
或正文的开头,然后在
var app = angular.module('myApp', ["jspVariableService"]);
并在控制器中使用它:
app.controller('myCtrl', ["$scope", "valueName" function($scope,valueName) {
//use your value!
});
答案 2 :(得分:0)
将会话值设置为隐藏输入。
<div data-ng-controller="myCtrl as vm">
<input type="hidden" id="sessionData" />
</div>
<script>
var data = '<%=request.getSession().getAttribute("POLICY_CHANGE")%>';
document.getElementById("sessionData").value = data;
</script>
获得价值
app.controller('myCtrl', function($scope, $document) {
$scope.data = $document[0].getElementById("sessionData").value;
console.log($scope.data);
});