Я пытаюсь отображать файлы изображений на странице JSP с помощью JavaBean и Struts 2 путем извлечения пути из базы данных. Тег <img>
не распознает путь изображения.
Когда я пытаюсь отобразить путь, он показывает правильный путь, используя эту строку:
<s:property value='%{path}'/>
<s:property value='#{path}'/>
# Displays
C:\Users\Admin\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\File_Demo\1011_1.png
При написании этого выражения тегом <img>
ничего не отображается.
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<body>
<img alt=":p" src="<s:property value='%{path}'/>"/>
</body>
</html>
Поэтому сначала проверьте на отображаемой странице, что тег img содержит правильный параметр пути (вы сказали, что пытались распечатать его, но лучше проверить dbl). (Просмотр источника или в Firefox, правый clikc и элемент проверки).
Но главная проблема - ваш фактический путь. Из вопроса это абсолютный путь к некоторому директору на вашем диске C :. Но это не ваш браузер, который извлекает этот файл непосредственно с диска, но он является сервером, который обслуживает его, поэтому ваш сервер (tomcat, я думаю?) Должен иметь возможность разрешить путь к определенному файлу. Обычно веб-сервер использует относительные пути не абсолютные, поэтому он не сможет обслуживать весь контент вашей машины.
В webapp это будут файлы, относящиеся к вашей подпапке webapp: глядя на ...\org.eclipse.wst.server.core\tmp0\wtpwebapps\File_Demo\1011_1.png
. Я думаю (я сам не использую eclipse), что ваш сервер находится под org.eclipse.wst.server.core\tmp0
, а ваш webapp называется File_Demo
.
поэтому правильный путь к изображению должен быть только 1011_1.png
(или ../1011_1.png
если ваше действие ../1011_1.png
находится внутри некоторого пакета).
%{path}
а не${path}