刷新JSP变量而不重新加载页面

时间:2015-08-10 11:03:30

标签: javascript java html angularjs jsp

在我的网络应用程序中,我使用Java作为后端。在网页上,用户可以选择,删除或编辑一个/多个服务器。从服务器读取有关这些服务器的信息。 Java控制器将JSON文件发送到JSP页面,其中包含服务器'要显示的信息。

@RequestMapping(value = "/configurations.html", method = RequestMethod.GET) public ModelAndView chooseServers(ModelMap model) throws Exception {
    try {
        //reads objects from configuration and sends to the web page as JSON file.
        String result = mapper.writeValueAsString(servers);
        System.out.println(result);
        model.addAttribute("serversList", result);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return new ModelAndView("configurations"); }

数据保存到变量中,如下所示:

<html ng-app="homepage">
    <head>...</head>
    <body id="body" data-serversList='${serversList}' id="configurationsPage">
...</body>
</html>

我在JS中读到这个数据如下:

var items = new Array();
var main = function(){
var information = $("body").attr("data-serversList");
    var serversJson  = JSON.parse(information);
    for (var i = 0; i < serversJson.list.length; i++){
        items.push({id: serversJson.list[i].id, text: serversJson.list[i].name});
    }
}
$(document).ready(main);

这是我更新服务器端数据的方式:

$.ajax({
    url: 'addServer.do',//the value of SpringMVC controller
    data: ({serverObjectString : serverObjectString})
});

用户更改服务器,删除,添加或编辑任何服务器后,数据将在服务器端重新加载。但在用户方面,除非我刷新,否则它保持不变。但是我使用的是AngularJS,这就是我陷入困境的原因 - 如何将所有逻辑保留在同一个JSP上,但重新加载

  

数据serversList =&#39; $ {serversList}&#39;

没有刷新页面?或者还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您正在寻找asynchronous JavaScript and XML AKA Ajax。可以使用纯JavaScript或任何第三方JavaScript库(如JQuery)来实现。