我正在使用Liferay和struts 2框架。我想显示一个jpg文件。
我的struts.xml就像:
<action name="searchAllCategoryWiseGraphical" class="com.stp.portal.view.SearchEFormReportPortlet" method="searchAllEFormsCategoryWiseGraphical" >
<result name="success">/WEB-INF/view/GraphicalViewPage.html</result>
</action>
现在生成条形图并以jpg格式保存在指定位置。我正在编写简单的html代码来显示相同的内容:
<%@page import="com.liferay.portal.kernel.search.Document"%>
<%@page import="org.codehaus.groovy.transform.powerassert.Value"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<jsp:include page="/WEB-INF/view/MessagePage.jsp"/>
<html>
<head>
<title>Title</title>
</head>
<s:form name="searchAllCategoryWiseGraphical" action="searchAllCategoryWiseGraphical" method="POST" theme="simple">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<img border="0" src="D:/eFormReport_Vertical.jpg" alt="report" width="600" height="400">
</body>
</html>
</s:form>
</body>
</html>
但图像没有显示。如果我将html代码保存在单独的html文件中(不在liferay门户页面中),则会显示图形。这是一些生命问题还是我错过了什么?
谢谢和问候
------------ ----------- EDITED
感谢您的回复。是的,这是一个路径问题。它现在解决了。现在我又遇到了另一个问题。图表将根据输入值而变化。但它只显示第一张图。我用新的jpg替换旧的jpg保持相同的文件名。但它没有显示最新的jpg。
答案 0 :(得分:2)
我和js和css有同样的问题所以我所做的就是使用相对路径
你可以做同样的事情来获取图像,因为它似乎是你遇到的正常路径问题。
将您的图像放在docroot
目录
<img border="0" src="<%=request.getContextPath()%>/eFormReport_Vertical.jpg" alt="report" width="600" height="400">
希望它有所帮助..
只需从liferay服务器目录中删除临时文件夹,使用缓存版本的portal,或者你可以重新启动服务器并按ctrl + f5浏览器窗口..它将解决问题。