2017-02-17 3 views
0

Ich arbeite mit angular JS und JSP. Ich muss die Sitzungsattributvariable von der JSP zu meinem Controller abrufen. Mein Code ist untenZugriff auf JSP-Variable von Javascript [Angular JS]

JSP

<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> 

JS

var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    // i want to get the JSP variable here 
}); 

Antwort

0

können Sie die Ausgabe der Variable Ausdruck Sprache als Datenattribut, wie folgt aus:

<div data-my-variable="${myVariable}" id="myDiv"></div> 

Und wenn Sie verwenden JQuery, können Sie die attr-Funktion:

var output = $("#myDiv").attr("data-my-variable"); 
0

Try (Ich habe dies nie versucht - einfach und Idee ... schreiben Sie bitte, ob es funktioniert):

<script> 
angular.module('jspVariablesService', []) 
.value("valueName",${yourVariable}); 
</script> 

in <head></head> oder am Anfang des Körpers und importieren dann jspVariableService in

var app = angular.module('myApp', ["jspVariableService"]); 

und es verwenden, in der Steuerung:

app.controller('myCtrl', ["$scope", "valueName" function($scope,valueName) { 
    //use your value! 
}); 
0

Sitzungswert auf versteckten Eingang setzen.

<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> 

und bekommen Wert

app.controller('myCtrl', function($scope, $document) { 
    $scope.data = $document[0].getElementById("sessionData").value; 
    console.log($scope.data); 
}); 
Verwandte Themen