新增至angularjs。我相信我错过了一些东西。 如果我使用angularjs的$http
指令访问服务器,我无法呈现服务器在jsp页面上发送的响应。SpingMVC + Angularjs + POST与jsp
angularcode
// Read button Handler
$scope.readAll=function(){
readTable($scope.clnfamilyArray);
//send data to server
testAddItem=function(){
$http({
'url' : 'http://localhost:9090/QuantumM/orbital/sendstatement/',
'method' : 'POST',
'headers': {'Content-Type' : 'application/json'},
'data' : $scope.clnfamilyArray
}).success(function(data){
console.log(data);
})
}//end of function
testAddItem();
}////end of readAll
弹簧代码
@RequestMapping(value = "/sendstatement/", method = RequestMethod.POST)
public ModelAndView welcome(@RequestBody String map) {
ModelAndView model = new ModelAndView();
// BL
model.addObject("name",hTable.toHtml());
model.setViewName("test");
return model;
}
test.jsp的
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<h1>Gradle - Spring MVC Hello World</h1>
<h2>Hello ${name}</h2>
</body>
</html>
相反渲染test.jsp的的。我登陆同一页面。但在控制台上,我可以看到预期的输出..
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<h1>Gradle - Spring MVC Hello World</h1>
<h2>Hello <table border=1><tr><td colspan=2>s</td></tr><tr><td colspan=1>f</td><td colspan=1>d</td></tr></table></h2>
</body>
</html>
有什么我失踪? 我想降落在test.jsp
不在我目前的呼叫页面上...
哦。 但是在这种情况下,ModelAndView中的视图在使用angularjs时将无用吗? 如果没有选项,那么我必须打开单个页面...... – sailor
就是这样。你当然可以尝试制作一堆单独的单页应用程序,但这不是AngularJS的真正意义。这将是很多额外的工作和资源,没有任何好处。来自Java自己,我明白异步的Javascript/Angular的思维方式有多不同。下面是一个Plunk演示可能会有所帮助的更多信息:http://plnkr.co/edit/lv8Kyu?p=info –
@sailor我们一直使用SpringMVC将AngularJS添加到现有的基于Java/JSP的Web应用程序中。我们将Spring MVC控制器添加到提供JSON数据的Web应用程序中,然后使用它将交互式方面添加到应用程序中。该公式工作得很好。 –