我试图嵌入我的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相关联,但作者没有指明详细的解决方案。
有谁知道我的问题的解决方案?提前谢谢。
答案 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