- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经尝试了我能找到的所有示例,但无法让 struts2 + sitemesh + freemarker 在简单的 jsp 上工作。
我有一个非常简单的 web.xml,一个仅转到 index.jsp 的操作,以及一个简单的 .ftl 装饰器,它仅向结果添加一些文本。
当我点击 index.action
时,页面“似乎”被装饰,但我得到的是文字 ${body}
而不是实际内容。
这是我的设置:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<description>struts2 test</description>
<display-name>struts 2 test</display-name>
<filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.action</welcome-file>
</welcome-file-list>
</web-app>
<struts>
<constant name="struts.devMode" value="true"/>
<package name="basicstruts2" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
<sitemesh>
<property name="decorators-file" value="/WEB-INF/decorators.xml" />
<excludes file="${decorators-file}" />
<page-parsers>
<parser default="true" class="com.opensymphony.module.sitemesh.parser.DefaultPageParser"/>
<parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.HTMLPageParser"/>
</page-parsers>
<decorator-mappers>
<mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="${decorators-file}" />
</mapper>
</decorator-mappers>
</sitemesh>
<decorators defaultdir="/decorators">
<decorator name="main" page="main.ftl">
<pattern>/*</pattern>
</decorator>
</decorators>
<html>
<head>
<title>${title}</title>
${head}
</head>
<body>
I'm Fancy!<br>
${body}<br />
</body>
</html>
<html>
<head>
<title>my title</title>
</head>
<body>
my body
</body>
</html>
有什么想法吗???
最佳答案
参见http://struts.apache.org/2.x/docs/sitemesh-plugin.html用于工作文档。您可能需要添加:
<servlet-mapping>
<servlet-name>sitemesh-freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
到您的web.xml
。
并将index.jsp重命名为index.ftl。顺便说一句,如果您打算使用 sitemesh + freemarker,我通常更喜欢使用 *.dec
作为装饰器,使用 *.ftl
作为 freemarker 模板。
关于java - Struts2 + Sitemesh + Freemarker 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2420752/
在 sitemesh 站点中获取源代码的下载链接无效。有人有替代站点吗? 最佳答案 最新版本是2.4.2 github.com/sitemesh/sitemesh2 关于sitemesh - 在哪里可
我在Spring中使用的是SiteMesh 2.4.2版本 opensymphony sitemesh 2.4.2 我用名称 myApp.w
我想从装饰中排除一组页面(使用 sitemesh 2 和 spring-mvc 3.1)。这是我的decorators.xml: /WEB-INF/view/data/ta
我试图说服 SiteMesh 装饰器更改响应的内容类型,但我并不高兴。内容类型最终总是与装饰的 JSP 相同,而不是装饰器的类型。 例如,假设我有一个带有 header 的 JSP 我还有一个 Si
我有一个页面: 以及带有主体的站点网格布局: 有没有办法让正文的属性出现在最后一页上? 那就是最终的 body 标签看起来像: 最佳答案 尝试像这样设置布局主体标签: >
我正在努力在遗留应用程序中实现 Spring Session。我按照 Spring 文档来实现 session 库,一切似乎都运行良好,除了...... 有一个 UI 元素通过 sitemesh 装饰
我开始使用 Spring MVC 和 sitemesh 作为装饰器的项目,现在规范已更改,他们希望将后端移出前端,并且 我更愿意将其 GUI 拆分为静态 Web,该静态 Web 将调用其他后端 API
我一直在我的项目中使用 Sitemesh 3,到目前为止它运行良好。最近我遇到了一个被困住的情况。 我的最终 View 必须由 2 个 html 文件组成,两个文件都有自己的 和 标签。文件1:
我们有一个系统,它对不同大小的页面使用多个装饰器,同时使用相同的内容页面。我正在尝试设置一个可以传递给内容页面(用 JSP 编写)的变量。例如 此方法不起作用,因为内容页面被发送到装饰器,因此需要首
我曾尝试建立一个简单的 sitemesh 装饰页面,但现在遇到了困难。 首先,我的设置: #decorators.xml * 这里没什么特别的 #web.xm
是否有任何形式可以为 sitemesh 启用日志?我已经将其放入 log4j 配置中,但它不起作用
我已经尝试了我能找到的所有示例,但无法让 struts2 + sitemesh + freemarker 在简单的 jsp 上工作。 我有一个非常简单的 web.xml,一个仅转到 index.jsp
我们最近升级了我们的一个项目。这还涉及 JAR 的新版本。 Sitemesh 就是其中之一。我们从 2.2.1 更新到 2.4.2。 一切停止工作。 我们有一个自定义过滤器扩展了 Sitemesh 的
我有咨询Sitemesh does not decorate returned views ,但这篇文章对我不起作用。 我希望sitemesh只装饰.jsp页,但是当 Controller 返回一个
现在我使用struts、sitemesh、velocity,配置已经可以使用了 在主页中: #parse("common/taglibs.vm") #parse("/ve
我正在运行用 sitemesh 装饰的简单 JSP 页面(在 Spring 3.1 Web 应用程序中),但没有显式包含 sitemesh-decorator.tld 和 sitemesh-page.
我的问候! 问题很短:有没有办法在运行时更 retrofit 饰器?例如,我有一个带有一些“装饰器样式”的下拉菜单,因此当用户选择不同的样式时,它会更 retrofit 饰器。 如果您有关于此主题的任
我对 Struts 2 和 Sitemesh 还很陌生。我是一名前端开发人员,需要更改很多 CSS 和 JS 文件。我想要的是一种方法,在这种方法中,我不必为我在 JS 和 CSS 文件中更改的每个字
我正在尝试在网络系统上应用装饰器,第一步我尝试仅将它应用于一个页面。以下是我的配置 web.xml sitemesh com.opensymphony.module.sitemesh
我想在site-mesh的装饰器文件中使用spring security标签库的几个标签。然而,这些标签内的内容永远不会显示。谁能告诉我这是为什么? 代码: ">
我是一名优秀的程序员,十分优秀!