在我的主页上有两个链接。单击其中应显示包含一些预定义数据的表。以下是主页面的代码 -
adminHomeContent.jsp
<body>
<div id="page-wrapper" >
<div id="page-inner">
<a href="getfeedbackList">Get List Normal</a>
<div class="row text-center pad-top">
<a ng-click="setRoute('feedbacklist')">Get List Angular JS</a>
</div>
</div>
</div>
</body>
问题是如果我点击Get List Normal
。它正确显示结果,但在不同的页面上不会进行部分页面更新(尽管可以使用iframe
完成)。如果我点击Get List Angular
它会转到该页面,但我无法将任何数据发送到新页面。
对于Get List Normal
,我们在控制器中映射了url -
HelloController .java
public class HelloController {
@Autowired
FeedbackServices feedbackServices;
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView getData() {
System.out.println("Home Controller");
ModelAndView model = new ModelAndView("adminHome");
return model;
}
@RequestMapping(value = "getfeedbackList", method = RequestMethod.GET)
public ModelAndView getfeedbackList(ModelAndView model) throws IOException {
System.out.println("getfeedbackList Controller");
List<FeedbackBean> listFeedback = feedbackServices.getFeedbacklist();
return new ModelAndView("feedbacklist", "listFeedback", listFeedback);
}
}
在角度js中,页面导航正在由此完成 -
successLadder.js
angular.module('successladder', [])
.config(function ($routeProvider)
{
$routeProvider
.when('/feedbacklist', {template: 'partial/pages/feedbacklist.jsp'})
.otherwise({redirectTo: '/adminHomeContent', template: 'partial/pages/adminHomeContent.jsp'});
});
function MainCtrl($scope, $location)
{
$scope.setRoute = function (route)
{
$location.path(route);
};
$scope.showModal = false;
$scope.toggleModal = function () {
$scope.showModal = !$scope.showModal;
};
}
我可以用iframe
来实现它,但我想用angualr js来做。知道如何在angualr js中实现这个吗?
答案 0 :(得分:0)
我并不完全遵循您的用例,但创建一个服务来保存数据,然后在多个控制器中注入所述服务是否有意义?此外,如果此列表视图在不同位置相同,则编写指令以处理所述数据的实际呈现可能是最有意义的。
答案 1 :(得分:0)
查看创建AngularJS服务。服务以单身形式存在,因此在您的应用中是全球性的。因此,如果您要保留要在服务中共享的数据,您将能够跨不同页面访问它。
首次了解服务时,这对我有很大帮助:https://www.airpair.com/angularjs#6-services-and-factories
希望这会有所帮助。