我有一个简单的JSR 286
portlet,显示用户手册(纯HTML
代码,而不是JSP
)。在doView上编辑响应内容()
其实,我doView
方法,只是包含此:
public class UserManualPortlet extends GenericPortlet
{
@Override
protected void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException
{
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
"/html/usermanual.html");
rd.include(request, response);
}
}
可正常工作,但包括图像,当我遇到麻烦。我知道,路径图像应该是这样的:
<img src='<%=renderResponse.encodeURL(renderRequest.getContextPath() + "/html/image.jpg")%>'/>
然而,包含用户手册我的HTML文件在其他地方使用,所以我想保存它作为一个纯HTML文件。
有没有办法动态取代我的经典images urls
通过类似上面的例子吗?也许使用PrintWriter
的回应?
如果这样的事情是不可能的,我需要在我的Maven
构建过程中生成一个JSP
文件。
欢迎任何解决方案或想法。
不错,但你是什么意思*自己加载*? –
使用'PortletContext.getRealPath(“/ html/usermanual.html”)'知道文件的确切位置,然后创建一个'BufferedReader'来加载内容,解析和替换,然后将结果写入到portlet的输出流或作家。 –