gpt4 book ai didi

javascript - 从 Struts 2 获取值到 AngularJS

转载 作者:行者123 更新时间:2023-11-29 17:56:39 26 4
gpt4 key购买 nike

我的目标是在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com