Вы ссылаетесь на путь локального диска (C:\...
), который: a) не будет работать за пределами вашей машины;б) даже если это сработало, браузер не покажет его из-за ограничений безопасности (откроет только локальные файлы, если исходная страница также загружена с диска).
Не, когда-либо , используйте локальные машинные пути в веб-приложении.Только не делайте этого, это зло, и ваши потомки будут прокляты в течение 7 поколений.
Если вы хотите, чтобы изображение отображалось в вашем веб-приложении, переместите его в папку внутри контекста приложения или вclasspath и сделайте так, чтобы ваша страница указывала туда.
Предположим, что макет вашего проекта выглядит следующим образом:
myapp/
src/
myapp/
MyApplication.java
MyPage.java
MyPage.html
web/
WEB-INF/
web.xml
Вы можете создать папку myapp/web/images
и скопировать свое изображение (скажем, logo.png
) в него:
myapp/
src/
myapp/
MyApplication.java
MyPage.java
MyPage.html
web/
images/
logo.png
WEB-INF/
web.xml
В MyPage.html
разметка будет выглядеть примерно так:
<img src="images/logo.png">
Другой подход заключается в добавлении изображений из кода Java с сохранением изображений/ resources вместе с вашими .java
файлами:
myapp/
src/
myapp/
images/
logo.png
MyApplication.java
MyPage.java
MyPage.html
web/
WEB-INF/
web.xml
Тогда объявление в MyPage.html
будет
<img wicket:id="logo">
И MyPage.java
будет содержать
add(new Image("logo", new PackageResourceReference(HomePage.class, "images/logo.png")));
означает, что файл logo.png
находится в папке 'images' относительно пакета HomePage
class '.
Аналогичный подход (использование вкладов заголовка вместо Image
) можно использовать для файлов CSS и javascript.
Это намного более многословно, ноЭто может быть очень полезно, особенно если вы объединяете многократно используемые компоненты в библиотеку, так как затем вы можете объединить все ресурсы (изображения, файлы CSS и JavaScript и т. д.) в один файл.