以HTML格式显示一些简单数据

时间:2018-04-17 11:07:06

标签: javascript java jquery html spring

activeUsers.getUsers()会在我的应用中返回包含在线用户的列表。

我想在我的HTML中显示它,但我不知道如何做到这一点。我在我的ajax请求上收到错误404但是如果我在控制器中放置一个断点,它会显示在线用户列表。

任何帮助??

控制器

  @RequestMapping(value = "/loggedUsers", method = RequestMethod.GET)
public String getLoggedUsers(Model model) {
    model.addAttribute("loggedUsers", activeUsers.getUsers());
    return "loggedUsers";
}

AJAX

$(document).ready(function () {

//get loggedUsers
$.ajax({
    url: '/loggedUsers',
    type: 'get',
    success: function (loggedUsers) {
        console.log(loggedUsers);
    }
});
});

HTML

<div id="sidebar-right" class="visible">
<ul class="sidebar-nav">
    <li id="dashboard">
        <a href="dashboard">
            <c:forEach var="loggedUser" items="${loggedUsers}">
                <span class="menu-title">${loggedUser}</span>
            </c:forEach>
        </a>
    </li>
</ul>

控制台日志返回:

  

错误404

2 个答案:

答案 0 :(得分:1)

添加@Response正文。您需要使其成为REST API,因为它是AJAX调用。

@RequestMapping(value = "/loggedUsers", method = RequestMethod.GET)
  public @ResponseBody String getLoggedUsers(Model model) {
  model.addAttribute("loggedUsers", activeUsers.getUsers());
  return "loggedUsers";
}

答案 1 :(得分:0)

更改您的控制器并在其上方添加@ResponseBody注释。您的代码应该是

  @RequestMapping(value = "/loggedUsers", method = RequestMethod.GET)
  @ResponseBody
  public String getLoggedUsers(Model model) {
  model.addAttribute("loggedUsers", activeUsers.getUsers());
  return "loggedUsers";
}

这将仅返回内容,并且不会查找jsp。 (你得到404)的原因