[英]How to run a java method on click from html?
我希望在我的屏幕上显示的数据中添加一个排序按钮。 在 monet 我有我的回购设置,如图所示。
@Repository
public interface PlayerRepository extends JpaRepository<Player, Long> {
Player findAllById(Long id);
List<Player> findByOrderByPlayerNameAsc();
}
在我的控制器类中,我有这样的:
@GetMapping("/player")
public String displayPlayer(Model model) {
model.addAttribute("player", service.findAll());
return "/player";
}
我希望能够创建一个新方法并拥有它,以便当我单击应用程序 html 上的按钮时,它会调用此方法并对数据进行排序。 在加载屏幕时,它显示所有未过滤的数据,如果我将其更改为使用“findByOrderByPlayerNameAsc”,它会在加载时自动过滤。 但我希望这仅在单击按钮时发生。
public String displayPlayerFilteredByName(Model model) {
model.addAttribute("player", service.findByOrderByPlayerNameAsc());
return "/player";
}
这是否可以仅使用 java 和 html? 或者是否有使用 JS 的替代方法?
避免 JavaScript 和动态前端的唯一方法是从后端新生成的视图或播放器的 .html 请求。
@GetMapping("/players/asc-names")
public String displayPlayersByPlayerNameAsc(Model model) {
...
}
其中按钮只是指向新端点的链接。
另一种方法是向您提供额外的信息来获取/player
请求并通过后端的@RequestBody
提取它。 但这已经要求在按钮上设置一些 JavaScript。
如果您的应用程序还不是太复杂。 我会检查诸如 Angular 之类的前端框架,这可以使其在未来更容易扩展。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.