我正在尝试使用Vaadin7‘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() %> 所以你可以看到它根本没有被渲染。
我使用的是运行在Tomcat 7.0.47上的Magnolia 5.2.5。
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链接的,但作者没有具体说明具体的解决方案。
有人知道我的问题的解决方案吗?提前谢谢。
发布于 2014-09-18 22:14:41
您的问题与您链接的问题无关。那里的人正在尝试构建一个模板以在Magnolia powered web上呈现,而您正在构建要在Magnolia的UI中呈现的资源。他的问题通过在他的模板配置中指定{renderType=jsp}得到了解决。您甚至没有模板,只有JSP。尝试直接呈现该JSP。它被渲染了吗?我不这么认为,我认为您得到的是普通的JSP内容。如果我没记错的话,您的JSP位于JSP编译器不需要它的地方,因此它不会被编译。至少,您需要在Magnolia的过滤器链中为此页面配置旁路,以确保Magnolia不会尝试呈现JSP本身。
HTH,Jan
发布于 2014-10-02 17:13:33
不要更改web.xml,尝试将jsp文件添加到/docroot并调用http://host/docroot/test.jsp
https://stackoverflow.com/questions/25910536
复制相似问题