JSP无法在Magnolia 5.2.5中呈现

时间:2014-09-18 10:45:15

标签: java jsp tomcat magnolia

我试图嵌入我的jsp脚本' test.jsp'使用Vaadin 7'在我的Magnolia应用程序中进入iframe BrowserFrame:

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() %> 

所以你可以看到它根本没有渲染。

我正在使用在Tomcat 7.0.47上运行的Magnolia 5.2.5。

Tomcat web.xml jsp config:

<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 config:

<jsp-config>
    <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>

我相信我的主题与this相关联,但作者没有指明详细的解决方案。

有谁知道我的问题的解决方案?提前谢谢。

2 个答案:

答案 0 :(得分:0)

您的问题与您关联的问题无关。那里的人试图建立一个模板来在Magnolia驱动的网页上渲染,你正在构建你想要在Magnolia的UI中渲染的资源。他的问题通过在模板配置中指定{renderType = jsp}来解决。你似乎甚至没有模板,只有JSP。尝试直接渲染该JSP。它呈现了吗?我不这么认为,我认为你得到了简单的JSP内容。如果我没弄错,你的JSP位于JSP编译器不期望它的位置,因此它没有被编译。至少,您需要在Magnolia的过滤器链中为此页面配置旁路,以确保Magnolia不会尝试渲染您自己的JSP。

HTH, 扬

答案 1 :(得分:0)

不要更改web.xml 尝试将jsp文件添加到/ docroot 并调用http://host/docroot/test.jsp