javascript - 如何在从 html 中单击时运行 java 方法?
问题描述
我希望在屏幕上显示的数据中添加一个排序按钮。在 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 之类的前端框架,这可能会使将来更容易扩展。
推荐阅读
- https - Flash Builder 中没有 HTTPS 吗?
- python - ValueError:无法将字符串转换为浮点数:Python中的“lisans”
- ios - 检查用户的 Spotify 库中是否存在歌曲
- python - 带有函数和 if/break 语句的 while 循环?
- linux - 静态精灵图像设置的段 %fs 在哪里?
- r - 使用列名作为 ggplot 的 x
- c - 如何只允许浮点数到小数点后两位
- ios - 如何创建 cocoapod 框架并向其中添加文件?
- ios - 如何在水平方向添加节标题
- ios - Siesta-Swift:有没有办法查明 Resource.latestData 是否发生了变化?