在我的spring应用程序中使用Apache切片之前,我想确认apache切片是否重新加载了正在加载新页面的所有布局属性(例如Header,Menu,Body,footer)。
您能否确认每个新页面加载的工作情况?另外,哪个是使用ajax div load vs apache tiles更好的选择?
答案 0 :(得分:0)
servlet容器会注意到JSP文件中的更改并重新编译它们(当然,如果没有配置它);例如,当你改变
<title><tiles:insertAttribute name="foo" /></title>
到
<title><tiles:insertAttribute name="bar" /></title>
磁贴定义(即tiles.xml
文件)仅在启动时默认加载。根据{{3}},您可以添加一个过滤器,如果需要,可以重新加载切片定义。
<filter>
<filter-name>Tiles Filter</filter-name>
<filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
<init-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>
/WEB-INF/tiles-defs.xml,/org/apache/tiles/classpath-defs.xml
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Tiles Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
不幸的是,它似乎不适用于我的情况。
the documentation建议改用:
<context-param>
<param-name>org.apache.tiles.definition.dao.LocaleUrlDefinitionDAO.CHECK_REFRESH</param-name>
<param-value>true</param-value>
</context-param>
......但这对我也没有用。
Re:“ajax div load vs apache tiles”:我不完全确定第一个是什么意思,假设这会在运行时通过AJAX获取HTML片段,我相信Tiles因为页面将在服务器端生成,所以表现会更好,在AJAX解决方案中,用户的浏览器必须一点一点地组装它。这一切都取决于你的用例,真的(页面有多动态?在用户会话期间它是否会发生变化?)
答案 1 :(得分:0)
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>
102
</td>
<td data-editable id="102">
Elex Jordan
</td>
</tr>
在配置图块时使用 checkrefresh 属性。
这将首先加载所有碎片,然后再从内存缓存/磁盘缓存中加载它们。
您可以使用检查元素对此进行检查