Wicket和CSS资源

我一直在四处寻找,我找不到将我自己的CSS添加到Wicket网站项目的虚拟指南。 但在我开始之前……我对正确的java开发相当新,所以当我说“Dummy的指南”时,我的确是这个意思! 这里简单明了的解释非常感谢!

我从这里开始使用这个指南( http://wicket.apache.org/start/quickstart.html )并且运行正常。 接下来,我想添加自己的CSS并开始搞乱它。 我无法快速前进。 主要是因为我不知道如何在java中做到这一点(我来自C#/ asp.net背景)。

无论如何,那些了解Apache Wicket的人都会知道这一点,但快速入门的源代码会在如下project/src/main/java/com/xyz之类的地方创建代码

我猜想我能做的就是在这里添加一个CSS文件夹…所以我创建了一个示例CSS,我把它粘在这里:

 project/src/main/java/com/xyz/css/conor.css (containing something real simple like the following) h2 { font-family: tahoma; } 

然后我删除了我的homepage.html中的Wicket默认css并将其更改为引用我的如下:

  

但是我的页面没有注意到conor.css …显然我做错了什么,但找不到java虚拟(也就是我!)的分步指南。

我已经阅读过你需要为eclipse安装web工具的内容。 我不知道这对我有什么用处,或者为什么它会指示我的页面使用CSS。

很感谢任何forms的帮助!

当Wicket解析标记并试图找到适当的链接时,你必须帮助Wicket理解你的标记。

在您的情况下,您尝试链接到位于Java类路径中的资源。 这与Web上下文根(位于src / main / webapp中)不同。 类路径资源和Web上下文资源之间的区别在于Wicket负责并控制对类路径资源的访问,并且您的容器(即jetty,tomcat,glassfish等)负责并控制对Web上下文资源的访问。

例如,当资源属于Wicket的范围时,我们可以使用它做各种事情,例如变量替换,压缩,缩小,聚合。 这些东西都是Wicket的一部分。

现在问题就在眼前,因为你没有告诉Wicket链接的资源在它的控制之下,Wicket认为你希望容器能够处理它们。 要缓解这种情况,您应该在标记周围添加标记。

  ...   ...   

标记告诉Wicket查找所附资源并尝试在Java类路径上解析它们。

一般来说,你应该在project / src / main / webapp / css中添加你的css然后它将被css / conor.css访问

您可以在您的wicket java页面中加载您的css文件:

 @Override public void renderHead(IHeaderResponse response) { response.render(CssHeaderItem.forReference(new CssResourceReference(myCssFile.class, "myCssFile.css"))); } 

如果项目中有css文件,则可以先加载。