java - 如何在 View 中获取 Spring 项目的名称?

标签 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我认为是来自 spring 的变量,所以这里的完整路径将是 http://localhost:8080/apple-store/assets/<some asset> -- 因为 webapp = http://localhost:8080 .

有更好的方法吗?也许是一种像 webappRoot 这样的“变量”这会显示我的项目名称或路径 http://localhost:8080/apple-store

最佳答案

我不知道 spring 是否有那种变量,我不能告诉你,但我可以告诉你一些关于 jTwig 的酷事。它可以让你找到你的 Assets 在哪里,如何?你必须有这样的东西:

<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.xml 上或 servlet-context ,以同样的方式你可以做到这一点:

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

这告诉您您的观点,所有 Assets 都在 http://localhost/apple-store 下,因此在您看来,您必须这样写:

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

就是这样,干杯!

哦,万一你的 Assets 不在 assets/<url> 之下呢? ,假设您的 Assets 在 public/assets/<url> 下,您可以像这样更改您的配置:

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

关于java - 如何在 View 中获取 Spring 项目的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27409507/

相关文章:

java - 我可以使用哪个框架在网络应用程序中进行插件处理

java - 删除 Controller 不起作用

java - Jtwig 如何获取HttpSession/HttpServletRequest?

Java Spring MVC 模板引擎

java - 无参数构造函数的替代品

java - 通过正则表达式从字符串中删除文本

java - 无法使用 Spring 在 AppFog 上维持 session

java - Spring Boot Tiles - java.lang.NoClassDefFoundError : org/apache/commons/beanutils/MethodUtils

java - Gradle 'war' 插件如何知道调用 Spring Framework?

java - 如何以编程方式编写指向 Android 启动器主屏幕上特定页面的快捷方式?