是否可以在angularjs html视图中访问JSP样式标签值?例如,我能得到本金吗?在浏览器中的firstName '值,从下面的标签?Angularjs有没有办法做到这一点?
<sec:authentication property="principal.firstName"/>
或者,我需要访问这个服务器端,并返回JSON吗?如果我确实需要访问它的服务器端,你可以给我指出一个例子,我所发现的一切只是显示如何获得principal.getName()。我试图将我们的jsp页面转换为html。
我能够通过创建一个JSON对象来做本质上相同的事情,该对象的值是这些将由服务器填充的JSP变量。这个JSON对象可以是一个单独的页面,Angular可以通过$http.get()
函数来访问它。
:
{'mySettings': {
'userID': <%=user.ID%>,
'firstName': '<%=user.first_name%>',
'lastName': '<%=user.last_name%>'
}}
服务器将处理<%=whatever%>
指令并将其替换为实际数据。然后你的AngularJS代码会发出一个http。
你可以创建一个指令,它将从sec:authentication标签中读取你的属性,并将其传递给变量。
jsfiddle示例。
angular.module('ExampleApp', [])
.controller('ExampleController', function() {
this.firstName = 1;
})
.directive("myProperty", function() {
return {
scope: {
val: "=myProperty"
},
link: function(scope, elem, attr) {
scope.val = attr.property;
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="ExampleApp">
<div ng-controller="ExampleController as vm">
<sec:authentication my-property="vm.firstName" property="principal.firstName" />{{vm.firstName}}
<div my-property="vm.name" property="john doe"></div>{{vm.name}}
</div>
</div>