如何在视图中获取Spring项目的名称?

时间:2014-12-10 19:42:40

标签: java spring-mvc jtwig

我使用jTwig templates,我有以下一个:

<!DOCTYPE HTML>
<html>

  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    {% block title %}
      <title>{{ title }}</title>
    {% endblock %}

    <!-- Bootstrap stylesheet-->
    <link rel="stylesheet" href="{{webappRoot}}/apple-store/assets/css/bootstrap.min.css">

    <!-- Custom favicon -->
    <link rel="shortcut icon" href="{{webappRoot}}/apple-store/assets/img/favicon.png?v=2" />
  </head>

  <body>

    <div class="container">

         {% block content %}{% endblock %}

    </div>

    <script src="{{webappRoot}}/apple-store/assets/js/jquery-1.11.1.min.js"></script>
    <script src="{{webappRoot}}/apple-store/assets/js/bootstrap.min.js"></script>

  </body>

</html>

其中apple-store是我的项目的名称,webappRoot是我认为的春天变量,因此这里的完整路径为http://localhost:8080/apple-store/assets/<some asset> - 因为webapp = http://localhost:8080

有更好的方法吗?也许是一种变量&#34;比如webappRoot,它会为视图提供项目名称或路径http://localhost:8080/apple-store

1 个答案:

答案 0 :(得分:1)

我不知道春天是否有这种变量,我无法告诉你这件事,但我可以告诉你一些关于jTwig的事。它可以让你找到你的资产在哪里,如何?你必须有这样的东西:

<beans:bean class="com.lyncode.jtwig.mvc.JtwigViewResolver">
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".twig" />
</beans:bean>

applicationContext.xmlservlet-context,就像你可以这样做:

<beans:bean class="com.lyncode.jtwig.services.impl.assets.BaseAssetResolver">
</beans:bean>

这说明你认为所有资产都在http://localhost/apple-store之下,所以在你的观点中你必须把它放在:

<!-- Bootstrap stylesheet-->
<link rel="stylesheet" href="{{ asset 'assets/css/bootstrap.min.css' }}">

全部,干杯!

哦,如果您的资产不在assets/<url>之下,假设您的资产位于public/assets/<url>之下,则可以更改您的配置:

<beans:bean class="com.lyncode.jtwig.services.impl.assets.BaseAssetResolver">
    <beans:property name="prefix" value="/public/" />
</beans:bean>