首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在html单击时运行java方法?

如何在html单击时运行java方法?
EN

Stack Overflow用户
提问于 2020-02-16 20:53:21
回答 1查看 74关注 0票数 0

我想添加一个排序按钮到我的数据显示在我的屏幕上。在莫奈,我把我的回购安排如图所示。

代码语言:javascript
复制
@Repository
public interface PlayerRepository extends JpaRepository<Player, Long> {

Player findAllById(Long id);
List<Player> findByOrderByPlayerNameAsc();
}

在我的控制器类中,它是这样的:

代码语言:javascript
复制
@GetMapping("/player")
public String displayPlayer(Model model) {

    model.addAttribute("player", service.findAll());

    return "/player";
}

我希望能够创建一个新方法,并将其作为一个新方法,这样当我单击应用程序html上的一个按钮时,它就会调用该方法并对数据进行排序。在加载屏幕时,它会显示所有未经过滤的数据,如果我将其更改为使用加载时自动过滤的"findByOrderByPlayerNameAsc“数据。但我希望只有当一个按钮被点击时才会发生这种情况。

代码语言:javascript
复制
 public String displayPlayerFilteredByName(Model model) {

    model.addAttribute("player", service.findByOrderByPlayerNameAsc());

    return "/player";
}

这可以简单地使用java和html吗?或者是否有使用JS的替代方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-16 21:22:43

唯一的方法,避免JavaScript和动态前端,将是请求从后端新生成的视图或.html的球员。

需要设置新映射的

  1. (如

)。

代码语言:javascript
复制
@GetMapping("/players/asc-names")
public String displayPlayersByPlayerNameAsc(Model model) {
   ...
}

其中按钮不只是指向新端点的链接。

  1. 的另一种方式是向您提供更多信息,获取/player请求,并在后端通过@RequestBody提取该请求。但是,如果您的应用程序还不太复杂的话,这已经请求在按钮上设置一些JavaScript。
  2. 。我会检查前端框架,比如角,这样可以使将来更容易扩展。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60253092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档