Tapestry5之css样式引入

Tapestry5中可以使用css,但是它的方式有些不同。

一般情况下,我们把css文件放到WEB-INF文件夹下面,这基本上已经是一个规定了。假如我们把css放到了,WEB-INF下的css文件夹中了,并且文件的名字为stylesheet.css。

那么我们可以在template(.tml)文件中,这样引入:

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

其中的${context}会在render的时候,指定为我们项目的根目录。

另外还有一种方法就是在.java文件中引入:

@Import(stylesheet="context:css/stylesheet.css")

以上这条注解是放到java类的上面的。另外一点儿值得注意的是,stylesheet这个属性是一个String类型的数组,所以说如果引入的css文件有多个时候呢,需要像下面这样实现:

@Import(stylesheet = { "context:css/style.css", "context:css/sheet.css" })

还有一点,是个人发现的,只是根据本人的项目来说的。就是以上两种情况,大部分情况下是一样的,但是如果我们想要override掉Tapestry5框架里面的样式的话,需要按照第二种方式来实现。尽管官方文档中说,我们提供的css会后被加载。

还有一点儿就是说我们可以完全不要Tapestry的样式表。就是在AppModel.java中追加如下的代码:

@Contribute(MarkupRenderer.class)
public static void deactiveDefaultCSS(OrderedConfiguration<MarkupRendererFilter> configuration)
{
    configuration.override("InjectDefaultStylesheet", null);
}
原文地址:https://www.cnblogs.com/voctrals/p/2973445.html