我有一些問題從struts2行動中從angularJS接收價值。AngularJs發送價值到Struts2
目標是接收旋轉木馬中當前圖像的索引。
selectArm.jsp
var app = angular.module('menuAPP', ['ui.bootstrap']);
app.controller('mainController', function($scope, $http, $window, $location) {
$scope.hideError=true;
$scope.show = function() {
$scope.currentIndex = $('div.active').index() + 1;//Carousel index
var params = "NSlider :"+ $scope.currentIndex;
var data = angular.toJson(params)
$http({
method: 'post',
url: 'showArm',
data: 'NSlider =' + data
}).success(function(response)
{
post("formShowBrazo");
});
};
ArmAction.java
import javax.servlet.http.HttpSession;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
public class BrazoAction implements Action
{
private static final Logger log = LogManager.getLogger(BrazoAction.class);
private String NSlider;
public String execute() throws Exception {
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("forward","sBrazo");
String aux = NSlider.split(":")[1]; //Receive "NSlider : {int}"
session.setAttribute("id_brazo", aux);
return SUCCESS;
}
public String getNSlider() {
return NSlider;
}
public void setNSlider(String NSlider) {
this.nSlider = NSlider;
}
}
此JSP必須顯示在轉盤選擇的圖像的索引。
showArm.jsp
<body>
<script src="lib/threejs/three.min.js"></script>
<script src="lib/threejs/OrbitControls.js"></script>
<script src="lib/threejs/dat.gui.min.js"></script>
<script src="lib/threejs/stats.min.js"></script>
<script src="js/webGL.js"></script>
<%
out.println(session.getAttribute("id_brazo"));
%>
<div id='container' width=800, height=600>
</body>
如果我調試的動作,我可以看到,我沒有收到任何角度值。
UPDATE 更改了json請願書,更改了get和set的名稱,並且更改爲字符串參數。
現在我收到空值。仍然不能很好地工作。
UPDATE 2 現在顯示最終結果。現在工作正常。
將您的getter和setter更改爲'setNSlider'或更改變量名稱。 –