1

我在这里看到了一些类似的问题,但它们都没有真正帮助解决我的问题。

我在页面上有一个表格和一个需要在点击时重新呈现表格的按钮(使用不同的分页参数、排序等)。

我尝试了几种方法,并且成功地将值传递给具有嵌入式 js 路由器的控制器,但是由于这些值是通过 ajax 调用传递给后端的,因此我无法重新呈现表。

我的嵌入式路由器看起来像:

@helper.javascriptRouter("jsRoutes")(
    routes.javascript.UserController.getUsers
)

我将从页面中调用它,例如: $.ajax(jsRoutes.controllers.UserController.getUsers(3, true, "login"));

现在,最后但并非最不重要的一点是,我想用 getUsers() 调用的结果重新渲染表格。

简单地调用:

public Result getUsers(int size, boolean isAsc, String sortBy) {
    ......
    Logger.info("Returning " + size + " users");
    return Results.ok(usersPage.render(userDtos));
}

对我不起作用。

4

1 回答 1

0

有几种方法。

最简单的方法是拥有一个播放控制器,它以 HTML 格式呈现表格,然后使用$('#mytable').load(...)将其拉到您的页面上。

更灵活的是有一个播放控制器,它以JSON 格式返回数据,然后在浏览器中将其转换为 HTML。这可以手动完成,使用客户端模板引擎(例如http://handlebarsjs.com/)或使用完整的 javascript 框架(如 AngularJS 或 Ember.js)。

于 2015-01-19T14:40:22.633 回答