java - 我可以在 View 层中找到 spring mvc Controller 的 URL

我认为我需要的是 Django 中的反向 url 解析。假设我有一个像这样的 AddUserController:

@Controller
@RequestMapping("/create-user")
public class AddUserController{ ... }

我想要的是某种方式来动态地找到这个 Controller 的 url,或者从 View (JSP) 中形成一个带有参数的 url,所以我不必在各处硬编码到 Controller 的 url。这在 Spring MVC 中可行吗?

最佳答案

从 Spring 4 开始,您可以使用 MvcUriComponentsBuilder .

对于最类型安全的方法:

String url = fromMethodCall(on(MyController.class).action("param")).toUriString();

请注意,此示例要求该方法返回可代理类型 - 例如ModelAndView,不是 String 也不是 void


自 4.2 起,fromMappingName方法被注册为一个名为 mvcUrl 的 JSP 函数:

<a href="${spring:mvcUrl('MyController#action').arg('param').build()}">Login</a>

此方法没有代理限制。

关于java - 我可以在 View 层中找到 spring mvc Controller 的 URL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1082759/

相关文章:

java - QueryDsl 对 Map 字段键的 Web 查询

java - Spring Batch 异步处理器配置以获得最佳性能

json - 如何在 Spring Boot Actuator 的 Trace 中包含 JSON 响

java - 为什么 PropertyDescriptor 行为从 Java 1.6 更改为 1.7

java - 如何在 Hibernate 中使用临时表批量删除记录?

java - Spring 启动 : How to setup test data with liq

java - 在没有 Spring 身份验证的情况下通过 web-socket 多次回复

java - Hibernate 和 PostgreSQL 中具有 UserType 的数组 -->

java - Spring @Transaction 未启动事务

java - 更改 GET 页面请求上的数据(处理预加载请求)