在Thymeleaf中,我们有:
<a th:href="@{/somepath}">Link</a>
变成:
<a href="http://hostname:port/somepath">Link</a>
我希望在控制器中获取给定路径的完整URL,例如:
@GetMapping(path="/")
public String index(SomeInjectedClass cls) {
String link = cls.someMethod('/somepath');
// expected, link = http://hostname:port/somepath
return "index";
}
@GetMapping(path="/home")
public String home(SomeInjectedClass cls) {
String link = cls.someMethod('/somepath');
// expected, link = http://hostname:port/somepath
return "home";
}
编辑后
这个问题可以理解为:public static String APPLICATION_BASE_URL = "http://hostname:port";
function someMethod(String method){
return APPLICATION_BASE_URL + method;
}
我认为APPLICATION_BASE_URL
很难看,因为我可以在任何地方部署它。 我想知道是否有一个漂亮的函数在Spring Boot甚至Java中可以获取我的应用程序的基本URL。