我有BasePage.java
(和a一起BasePage.html
).我的基页基本上是一个CSS菜单mycssmenu.com
(我不熟悉CSS).我想将我的大学徽标添加到基页:
<ul>
<li><a href="MainPage.html"wicket:id="home">Home</a></li>
<li><a href="LecturerPage.html"wicket:id="lect">Lecturer Page</a></li>
<li><a href="StudentPage.html"wicket:id="stud">Student Page</a></li>
</ul>
</li>
<li><span class="qmdivider qmdividery" ></span></li>
<li><a class="qmparent" href="javascript:void(0)">About</a>
<ul>
<li><a href="About.html"wicket:id="about">About</a></li>
</ul>
</li>
<li class="qmclear"> </li>
</ul>
<script type="text/javascript">qm_create(0,false,0,500,false,false,false,false,false</script>
</div>
<div id= "body">
<img src="C:\Users\Eliezer Shindler\Desktop\cityunilogo.jpg"alt="City Logo"/>
<wicket:child />
Run Code Online (Sandbox Code Playgroud)
简而言之,当我在Web浏览器中打开页面时,会显示City徽标,但在运行Wicket时则不会显示.为什么,以及如何使其与Wicket一起使用?我对Wicket很新.
您正在引用本地驱动器路径(C:\...
),其中:a)无法在您的计算机外工作; b)即使它有效,浏览器也不会显示它,因为安全限制(如果原始页面也是从磁盘加载的话,只会打开本地文件).
不要,永远,在Web应用程序中使用本地计算机的路径.只是不,它是邪恶的,你的后代将被诅咒7代.
如果您希望在Web应用程序中显示图像,请将其移动到应用程序上下文或类路径中的文件夹中,并使页面指向该处.
假设你的项目布局是这样的:
myapp/
src/
myapp/
MyApplication.java
MyPage.java
MyPage.html
web/
WEB-INF/
web.xml
Run Code Online (Sandbox Code Playgroud)
您可以创建一个myapp/web/images
文件夹,并将图像(例如logo.png
)复制到其中:
myapp/
src/
myapp/
MyApplication.java
MyPage.java
MyPage.html
web/
images/
logo.png
WEB-INF/
web.xml
Run Code Online (Sandbox Code Playgroud)
在MyPage.html
,标记将是这样的:
<img src="images/logo.png">
Run Code Online (Sandbox Code Playgroud)
另一种方法是从Java代码添加图像,保持图像/资源与.java
文件并排:
myapp/
src/
myapp/
images/
logo.png
MyApplication.java
MyPage.java
MyPage.html
web/
WEB-INF/
web.xml
Run Code Online (Sandbox Code Playgroud)
然后,声明MyPage.html
将是
<img wicket:id="logo">
Run Code Online (Sandbox Code Playgroud)
而且MyPage.java
会包含
add(new Image("logo", new PackageResourceReference(HomePage.class, "images/logo.png")));
Run Code Online (Sandbox Code Playgroud)
意味着该logo.png
文件位于'images'文件夹中,相对于HomePage
类'包.
类似的方法(使用标题贡献而不是Image
)可以用于CSS和javascript文件.
这是非常冗长,但是非常有用,特别是如果您将可重用组件模块化到库中,因为您可以将所有资源(图像,css和javascript文件等)捆绑到一个jar中.