当前位置: 首页 > 知识库问答 >
问题:

需要与Thymeleaf中的JSP标记等效

齐航
2023-03-14

我是新来的百里香。在jsp世界中,我可以使用jsp“head”中的以下标记更改Springboot Web应用程序的主题:

<spring:theme code="stylesheet" var="themeName" />
<link href='<spring:url value="css/${themeName}"/>' rel="stylesheet" />

如果我要使用“Thymeleaf模板”而不是jsp,我应该写什么“与上述完全相同”?我正在使用(而且必须使用)spring boot(带有web和数据)。谁能给我指出一条出路吗?

使现代化

添加更多信息。

我有我的配置和bean如下:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**")
            .addResourceLocations("/resources/static/css**", "/resources/static/**", "/static/")
            .setCacheControl(CacheControl.maxAge(2, TimeUnit.HOURS).cachePublic());
}

@Bean
public ThemeSource themeSource() {
    ResourceBundleThemeSource themeSource = new ResourceBundleThemeSource();
    themeSource.setBasenamePrefix("theme/");
    return themeSource;
}

@Bean
public ThemeResolver themeResolver() {
    CookieThemeResolver resolver = new CookieThemeResolver();
    resolver.setDefaultThemeName("cosmo");
    return resolver;
}

而且我在themes文件夹下还有很多(例如Cosmo.BootStrap.min.css)。当我从JSP中选择主题名称时,整个webapp的主题都会发生变化。

简而言之,使用Thymeleaf,在我的“header.html片段”中,我试图获得类似的东西(${someame})-

<link href="css/${somename}.css" rel="stylesheet" type="text/css" />

现在我还不知道。请给出一些指导。

共有1个答案

胡桐
2023-03-14

您可以始终在Thymeleaf中构建动态URL,如:

<head th:with="themeName=${'stylesheet'}">
  <link th:href="@{|/css/${themeName}|}" rel="stylesheet"/>
</head>

现在,可以从模型或模型映射类中的控制器填充主题名,或者在模板HTML中计算主题名。

 类似资料:
  • 问题内容: 您是否需要在标签末尾添加一个?我在W3schools.com上看到了一个不带的示例: 我知道没有必要至少在浏览器中自动关闭标签,但是我应该这样做吗? 问题答案: 该只需要XHTML和XML。 如果您使用的是HTML5文档类型,则 无需以 这种方式 终止自动关闭标签 。 这适用于,,等。 即只要使用,和。 如果您需要一个空元素(如),请不要使用,而应使用。这很重要,因为在HTML5中,斜

  • (仅限类和接口,必需) (仅限类和接口,必需。请参见脚注1) (仅限方法和构造函数) (仅限方法) (是Javadoc 1.2中添加的同义词) (或或) (请参阅如何以及何时弃用API) 在这里,似乎被标记为“required”,即使不是这样。这在我看来很奇怪。事实上,后来在同一份文件中,我发现了以下陈述: 您可以提供一个@author标记、多个@author标记或不提供@author标记。

  • 问题内容: 我想知道是否有必要使用完。该标记的信息,这是一个样式表-所以就我而言,实际上并没有添加任何东西。 HTML唯一使用的样式表格式仍然是CSS,因此对浏览器“说”什么?某些网站似乎添加了属性,而其他网站则没有。 那么,什么是使用的元素,是有必要包括它? 问题答案: HTML5规范不是必需的,但对于旧版本的HTML是必需的。 HTML 4 W3.org规范 Type代表样式表的MIME类型。

  • null null 这里,我试图给提供边距,但它不起作用...我使用的定位有效,但margin-top不起作用。请告诉我为什么中的margin-top属性不起作用。这是我在stackoverflow中的第一个问题,如果问题问错了,请原谅。:)

  • 希望有人能提供帮助,我正在使用以下代码在React应用程序的endpoint执行抓取: 并返回错误:

  • 我试图在我的应用程序中实现react-native-modal-datetime-picker 道具 源代码 const{cdate,isVisible,setDate,setVisible}=this.state; aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa