作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是在 JSP 页面中单击按钮时显示值。控制返回到 $http.get("angularAction.action").success(
,但在控制台中值显示为
function(data)null
Action
private LoginModel personData=new LoginModel();
private JSONObject jSONObject;
public String returnDetails(){
System.out.println("in returnDetails");
personData.setFirstName("James");
personData.setLastName("John");
jSONObject=new JSONObject();
jSONObject.put("result",personData);
return SUCCESS;
}
XML
<action name="angularAction" class="com.scrolls.AjsStruts.login.action.LoginAction" method="returnDetails">
<result type="json">
<param name="root">jSONObject</param>
<param name="excludeNullProperties">true</param>
<param name="noCache">true</param>
</result>
</action>
JSP
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="ISO-8859-1">
<title>AjsStruts</title>
<script type="text/javascript" src="./js/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
function MyController($scope, $http) {
$scope.getDataFromServer = function() {
$http.get("angularAction.action").success(
function(data) {
console.log(data.result);
$scope.person = data.result;
}).error(function(data) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
};
};
</script>
</head>
<body>
<h1>Get Data</h1>
<div data-ng-app="myApp">
<div data-ng-controller="MyController">
<button data-ng-click="getDataFromServer()">
Fetch data from server
</button>
<p>First Name : {{person.firstName}}</p>
<p>Last Name : {{person.lastName}}</p>
{{person}}
</div>
</div>
</body>
最佳答案
三个页面都有问题,修改后的代码是
Action
public String returnDetails(){
personData.setFirstName("James");
personData.setLastName("John");
return SUCCESS;
}
需要创建personData的getters和setters
XML
<action name="angularAction" class="com.scrolls.AjsStruts.login.action.LoginAction" method="returnDetails">
<result type="json">
<param name="root">personData</param>
<param name="excludeNullProperties">true</param>
<param name="noCache">true</param>
</result>
</action>
JSP
<script>
var app = angular.module('myApp', []);
function MyController($scope, $http) {
$scope.getDataFromServer = function() {
$http.get("angularAction.action").success(
function(response) {
console.log(response);
$scope.person = response.data;
}).error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
};
};
</script>
关于javascript - 从 Struts 2 获取值到 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38521020/
我是一名优秀的程序员,十分优秀!