问题标签 [tiles2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring + Tiles2 + Freemarker - 通过 Freemarker Servlet 或 Spring 的 FreeMarkerViewResolver 集成?
我今天正在努力从 Freemarker 迁移到 Tiles2 + Freemarker。
我的 freemarker 模板使用来自 spring.ftl 的宏。
如果我在 web.xml 中提供一个 fremarker servlet,我的模型对 freemarker 是可见的,但特定的 spring 变量(自然)不会填充到模型中,因为 springs FreemarkerView 对此负责。
如果我为特定的 url(比如“/tpl/*”)配置一个单独的 DispatcherServlet,并将 freemarker 解析器配置为该 servlet 的默认视图解析器,并提供 UrlFilenameViewController 作为默认控制器,则特殊的 spring 变量确实会填充到模型中,但我自己的模型是不可见:它被绑定为请求属性。我可以通过 ${Request.mymodel.myvar} 访问我的模型,但这样我必须更改我所有的 freemarker 模板,并且我发现这个想法有些异味。
现在我的解决方案是扩展 UrlFilenameViewController 并将我的模型从请求添加到 ModelAndView:
但是这个解决方案也有点臭——如果我在我的业务控制器的模型中添加一些东西,我必须在这里添加它。
我的问题有优雅的解决方案吗?
spring - 集成 Spring Webflow 2 和 Apache Tiles
我最近开始升级一些应用程序以使用 Spring Webflow 2,并且我想利用 Webflow 2 附带的新 Ajax 功能。有人可以指导我学习将 Tiles 2 与 Spring Webflow 集成的教程(因为这显然是他们推荐什么)。我发现 Webflow 2 附带的文档在这方面完全没用。
struts2 - 渲染完整页面而不是“渐进式”(使用 struts 2 / tile)
有没有办法让 struts 2(使用磁贴)在将整个页面发送到浏览器之前构建整个页面?我不希望页面一次在浏览器中“逐步”构建。
我要解决的主要问题是,即使只有部分内容发生变化,Internet Explorer 7 也会闪烁/闪烁页面(Firefox 会更顺利地做到这一点)。
所以如果我有一个页面:
标题
一些内容
页脚
并且“一些内容”区域仅在页面加载之间发生变化,FOOTER 部分仍然闪烁白色背景,然后用页脚的背景颜色填充它。我坚持认为,也许通过让 struts 发送完整的页面,它的加载速度会足够快以消除“闪烁”。现在 FOOTER 来自服务器的时间比它之前的部分晚一点,所以它会闪烁(在 Internet Explorer 中,Firefox 可以流畅地显示页面)。
注意:这是网站的一项重要要求,使用 ajax 加载中间内容已经过时(框架或其他“黑客”也是如此)。该网站是使用 CSS 而不是表格布局构建的,也许我将不得不使用表格布局来让它工作......
关于使用 tiles flush 参数:我试过了,但它不能按我的需要工作。我需要整个页面的刷新参数。我已经尝试过正常的 jsp 页面指令“autoFlush=false”,但它不起作用。我在我的主模板页面上设置了这个指令(而不是在磁贴中)。
这是主模板中的一个示例,它使用页眉、正文和页脚模板。使用 Thread.sleep() 我添加的问题很容易发现。页脚的呈现时间比页面的其余部分晚 2 秒。
更新
感谢您的评论。该要求实际上几乎是合理的,因为这不是一个普通的网页,认为是嵌入式的。
但显然没有办法配置 IE 在一些延迟后开始渲染(比如 Firefox 有大约 100 毫秒的可配置延迟)?
我试图拦截 TilesResult 但方法 doExecute 在显然评估整个内容之前运行,因此在评估 jsp 之前该方法已经退出(我的 Thread.sleep() 测试)。我想知道如何将整个响应呈现为字符串,然后一次将其全部输出到浏览器。
我知道这不是万无一失的,网络延迟等可能是其中的一个因素,但是如果我可以一次获得对输出的响应并且可能使用基于表格的布局(IE 可能仅在表格关闭后才呈现表格)这可能合理工作。
或者然后尝试将其切换到Firefox,或者可能忘记这个小故障......
更新 2
这开始困扰我,所以我做了一些调查。如果我有一个普通的 jsp 页面(没有图块),则缓冲工作(使用 buffer 属性),所以如果我有我的 Thread.sleep() 如果页面大小低于缓冲区大小,则在两秒钟后呈现整个页面。但是,如果我在页面中使用图块(如上面的示例),我无法同时渲染页面(我什至在我的所有图块模板/“组件”中都包含了页面指令,没有帮助)。所以瓷砖可能会在某处刷新响应?
此外,“有问题的瓷砖”是我的身体部分,其中包含一个 struts:form 标签。我用普通的表单标签替换了它,它可以按我的意愿工作......
更新 3
好的,似乎没有人知道瓷砖或支柱标签的内部工作原理......没有大问题,因为这是一个非常具体的案例和要求。我通过在应用程序前面使用 apache 作为 proxt 并使用 apache 的代理配置选项来指定一个大缓冲区来解决它。我会将其标记为已回答。
apache - 嵌套 Apache Tiles 模板
所以我发现了这个:http ://tiles.apache.org/framework/tutorial/advanced/nesting-extending.html
这是示例:
所以我定义了这个:
但有趣的是,即使是他们自己的文档也是错误的:
2009-05-12 11:20:56,088 [main] 错误 - org.apache.commons.digester.Digester.error(Digester.java:1635):第 17 行第 68 列解析错误:属性“名称”是必需的且必须为元素类型“定义”指定。org.xml.sax.SAXParseException:属性“名称”是必需的,并且必须为元素类型“定义”指定。
即使我为它定义了一个名称,它仍然会给出以下错误:
2009-05-12 11:35:31,818 [main] 错误 - org.apache.commons.digester.Digester.error(Digester.java:1635):第 21 行第 19 列解析错误:元素类型的内容“put-属性”必须匹配“空”。org.xml.sax.SAXParseException:元素类型“put-attribute”的内容必须匹配“null”。
这是什么意思?!!!!
spring - 在 Spring+Tiles2 应用程序中设置 HTML 头部标题的最佳方法?
我在使用 Tiles 作为视图技术的 Spring webapp 中存在可用性问题。目前所有页面都显示相同HEAD_TITLE
,并且PAGE_TITLE
是特定于页面的:
这是一个主要的可用性问题,因为浏览器历史记录列出了应用程序的所有不同页面并具有相同的标题。HEAD_TITLE
所有页面都相同的原因是我还没有找到一种合理的方式来PAGE_TITLE
使用HEAD_TITLE
.
在大多数情况下,PAGE_TITLE
它来自带有<fmt:message />
标签的消息包,并且一些参数被传递给它。Tiles 布局HEAD_TITLE
应该已经设置好了,因为 webapp 的所有页面都使用相同的通用布局,该布局定义了<HEAD>
页面的元素以及其他内容。
有什么建议可以解决这个可用性问题吗?我是否应该在我的 Spring 控制器中为所有页面设置一个“pageTitle”请求属性并将其用作 thePAGE_TITLE
和HEAD_TITLE
? 或者是否有可能以某种方式在页面特定的 JSP 中设置 HEAD_TITLE?
jsp - struts 2,tiles 2动态标题
我将tiles 2.0.6 与struts 2.1.6 一起用作我的模板框架。我正在编写一个简单的 cms 页面,并希望让用户定义每个 html 页面的标题。
我有这样的标题定义
有没有一种方法可以在后面的 jsp 属性中动态覆盖我的 header.jsp 上的标题(字符串),而不是使标题成为 jsp,例如 view.jsp。甚至使用 EL 更进一步
并让它动态地获取 struts ognl 上的标题。
请指教
提前致谢
apache - 瓷砖 2.2.1 配置
我使用了 Tiles 2.1,但在 2.2 版中配置发生了变化,但遗憾的是,它们的文档似乎非常混乱*,至少对我来说是这样。他们的示例项目下载链接不起作用。
struts2 - Struts2 与 Tiles 2.1 或 2.2
似乎没有一种简单的方法可以将 Tiles 2.1 或 2.2 与 Struts2 与现有的 struts2-tiles 插件一起使用。我需要在我的项目中使用tiles 通配符功能,其中tiles.xml 变得无法维护。
有没有办法用struts2设置tile 2.1或2.2?如何?
谢谢,
博佐
css - 带有 CSS 的 Apache Tiles 2.1.4
我正在将 Apache Tiles 2.1.4 与 Spring MVC 3 一起使用。我设法将它们配置在一起,一切正常。我的下一步是添加 CSS,这就是我遇到问题的地方 - 这很可能是一个简单的问题,但我无法让我的模板 jsp 获取 css。
来自我的 tiles-defs.xml 的片段
来自我的模板 jsp (baseLayout.jsp) 的片段
来自我的 CSS 的片段:
}
我使 css 尽可能简单,只是为了检查我的 jsp 是否获取 css 文件。
我还检查了我的 css 文件是否位于正确的位置 - 但我的 jsp 文件没有获取 css 文件。有人可以帮忙吗?
任何帮助都感激不尽。
谢谢,扎汉希尔
struts2 - 启用 Tiles devMode,如 Struts 的 devMode 以在每个请求中重新加载 tiles.xml
Apache Tiles 是否有类似 Struts 的 devMove 会在每个请求中重新加载tiles.xml 文件?如果是这样,如何启用它?