JSP 未在 Magnolia 5.2.5 中呈现
Posted
技术标签:
【中文标题】JSP 未在 Magnolia 5.2.5 中呈现【英文标题】:JSP not rendering in Magnolia 5.2.5 【发布时间】:2014-09-18 10:45:14 【问题描述】:我正在尝试使用 Vaadin 7' BrowserFrame 将我的 jsp 脚本“test.jsp”嵌入到 Magnolia 应用程序的 iframe 中:
browser = new BrowserFrame("", new ExternalResource("../VAADIN/test.jsp"));
文件'test.jsp'看起来像:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>My JSP page.</title>
</head>
<body>
Current time: <%= new java.util.Date() %>
</body>
</html>
输出是:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> Current time: <%= new java.util.Date() %>
所以你可以看到它根本没有渲染。
我使用的是 Magnolia 5.2.5,它在 Tomcat 7.0.47 上运行。
Tomcat web.xml jsp 配置:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
magnoliaAuthor web.xml jsp 配置:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
而且我相信我的主题与this 相关,但作者没有指定详细的解决方案。
有人知道我的问题的解决方案吗?提前致谢。
【问题讨论】:
【参考方案1】:您的问题与您链接的问题无关。有人试图构建模板以在 Magnolia 支持的 Web 上呈现,您正在构建要在 Magnolia 的 UI 中呈现的资源。通过在模板配置中指定 renderType=jsp 解决了他的问题。您似乎甚至没有模板,只有 JSP。尝试直接呈现该 JSP。渲染了吗?我不这么认为,我认为你会得到纯 JSP 内容。如果我没记错的话,你的 JSP 位于 JSP 编译器不期望它的地方,因此它没有被编译。至少,您需要在 Magnolia 的过滤器链中为此页面配置绕过,以确保 Magnolia 不会尝试呈现您的 JSP 本身。
HTH, 一月
【讨论】:
【参考方案2】:不要更改 web.xml
尝试将jsp文件添加到/docroot
并调用http://host/docroot/test.jsp
【讨论】:
以上是关于JSP 未在 Magnolia 5.2.5 中呈现的主要内容,如果未能解决你的问题,请参考以下文章
JSP 文件未在 Spring Boot Web 应用程序中呈现
Magnolia CkEditor InternalLink 未在工具栏中列出