2015-10-22 20 views
-1

我正尝试创建一个简单的导航栏,其中包含使用Spring Boot和Thymeleaf的其他网站/服务器的链接。我想将这些URL存储在我的'application.properties'中,并通过th:href访问它们。当我尝试访问它们时,它不会将我重定向到此URL。如何将URL存储在属性文件中并使用Spring和Thymeleaf在模板中访问它们

下面是HTML:

<li class="dropdown-submenu"> 
    <a tabindex="-1" href="#">Menu</a> 
    <ul class="dropdown-menu"> 
     <li><a th:href="#{foo.bar}">Selection 1</a></li> 

在application.properties:

foo.bar=http://www.example.com 
+0

收紧HTML – Rob

回答

3

事实证明,这个符号的作品:

<li class="dropdown-submenu"> 
<a tabindex="-1" href="#">Menu</a> 
<ul class="dropdown-menu"> 
    <li><a th:href="@{${@environment.getProperty('foo.bar')}}>Selection 1</a></li> 
0

/#{foo.bar}应指向其不被配置在填充你的MessageSouce值(即Spring Boot中的application.properties),而是查看MessageSource文件(即Spring Boot中的messages.properties)。这会让你的模板不变。

否则,如果你在配置foo.bar,并希望不要重复属性你可以注入foo.bar这样

//内部控制器类

@Value("${foo.bar}") 
String myUrl; 

@RequestMapping("/mine") 
public ModelAndView viewWithFooBarLink() { 
    ModelAndView mav = new ModelAndView("templateWithFooBarReference"): 
    mav.put("linkRef", myUrl); 
    return mav; 
} 

你的看法

<li class="dropdown-submenu"> 
     <a tabindex="-1" href="#">Menu</a> 
     <ul class="dropdown-menu"> 
      <li><a th:href="${linkRef}">Selection 1</a></li> 

此信息的良好参考。 http://www.thymeleaf.org/doc/articles/standarddialect5minutes.html

相关问题