我是一名服务器端Java程序员,正在尝试学习Web开发,并且一直在试验Wicket,CSS,Tomcat,MySQL&使用Maven进行Hibernate构建。我找不到CSS文件的问题,但我不确定它是Wicket还是Tomcat,甚至可能是导致问题的托管服务提供商。这是设置:
页面LoginPage.html的HTML包含以下内容:
<head>
<title wicket:id="pageTitle"></title>
<link wicket:id="stylesheet"/>
</head>
使用以下命令填充相应的LoginPage.java代码:
public LoginPage(final PageParameters parameters)
{
// Setup page
add(new StyleSheetReference("stylesheet",
AppUserPage.class, "default.css"));
我使用“mvn package”创建“.war”文件。一旦我将.war文件部署到托管网站,HTML文件就可以通过Wicket加载了,但没有应用CSS 。
如果我使用“查看源”,我会看到以下内容:
<head>
<title wicket:id="pageTitle">HR-Box Login</title>
<link wicket:id="stylesheet" rel="stylesheet" type="text/css"
href="resources/ca.svarb.hrbox.web.appuser.AppUserPage/default.css"/>
</head>
我认为关键是现在在defult.css文件的href中添加了“资源”路径。奇怪的是,如果我将.war文件部署到本地默认Tomcat6安装或使用“mvn jetty:run”运行,这两个都可以正常工作 - 我可以加载“http:// localhost:8080 / mywebapp-1.0- SNAPSHOT /?wicket:bookmarkablePage =:ca.svarb.hrbox.web.login.LoginPage“并且它使用CSS文件渲染得很好。
我的问题:
如果有帮助,应用程序的源代码在sourceforge上:
https://wicket-hr-box.svn.sourceforge.net/svnroot/wicket-hr-box/branches/mysql
在这里从SVN签出并使用“mvn jetty:run”应该构建并运行应用程序,CSS工作正常。
现场网站就在这里:
答案 0 :(得分:0)
“资源”是Wicket中的一条特殊路径。通过这种方式,Wicket知道它必须使用特殊的RequestTarget来处理此资源请求。