我搜索关于如何减少由瓷砖添加的一些样板的想法。下面是我的项目的组织方式。
在我的spring-mvc配置中,我以这种方式配置了瓷砖:
...
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="tilesViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer" id="tilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/layouts/layouts.xml</value>
<!-- Scan views directory for Tiles configurations -->
<value>/WEB-INF/views/**/views.xml</value>
</list>
</property>
</bean>
...
我使用的主布局定义在/WEB-INF/layouts/layouts.xml中:
...
<definition name="default" template="/WEB-INF/layouts/default.jspx">
<put-attribute name="header" value="/WEB-INF/views/general/header.jspx" />
<put-attribute name="footer" value="/WEB-INF/views/general/footer.jspx" />
</definition>
...
...使用的模板(/WEB-INF/layouts/default.jspx)类似于以下内容:
...
<tiles:insertAttribute name="header" ignore="true" />
<div id="main">
<tiles:insertAttribute name="body" />
</div>
<tiles:insertAttribute name="footer" ignore="true" />
...
正如您可能从spring config中猜到的,实际的视图定义位于“/WEB-INF/views”中。
我在“/WEB-INF/views”下也有一些子文件夹,以保持我的观点的组织。
在一般情况下,要添加视图,我必须:
...
<definition extends="default" name="{category}/{viewname}">
<put-attribute name="body" value="/WEB-INF/views/{category}/{viewname}.jspx"/>
</definition>
正如您所看到的,我在大多数定义中放置的唯一属性是“body”,它的值与模板的位置和视图名称密切相关。
随着时间的推移,重构/维护这些视图变得更加困难,所以我正在寻找某种定义它们的简化方法。
所以我的问题听起来是这样的:是否可以让瓷砖基于模板名称/位置来发现视图定义?定义应该使用相关的jspx作为“主体”(或任何其他属性),并有相应的名称。
例如,放置JSP:/WEB-INF/views/general/login.jspx
类似这样的东西应该由tiles自动定义:
<tiles-definitions>
...
<definition extends="default" name="general/login">
<put-attribute name="body" value="/WEB-INF/views/general/login.jspx"/>
</definition>
</tiles-definitions>
这种样板配置是tiles-1天的一个障碍。当通配符被引入时,对于tiles-2确实没有必要,特别是对于tiles-3和OptionsRenderer。
这里有一个教程可以帮助你
我开始学习如何在python中编程,我遇到了这个问题,我只能使用这些函数: 基本数学和逻辑运算符(.-,*,/,/,/,%,**, 我不是在寻找答案,只是想知道如何解决这个问题。 该问题要求确定覆盖矩形房间地板所需的具有相同方向的相同瓷砖的最小数量。超过地板面积的瓷砖多余部分将被丢弃,不能重复使用。编写一个名为min\u tiles的Python函数,该函数使用4个正整数,即room\u widt
我试图将我的java应用程序迁移到Spring Boot。目前,我正在运行带有Apache Tiles的Spring MVC 3.2。当我迁移到Spring Boot时,我的控制器仍然被称为好的,它们将视图传递给视图解析程序,但是当Tiles去拉JSP文件时,事情就分崩离析了。我得到的错误消息是: 有没有人成功地使用了带有Spring Boot的Apache Tiles?知道怎么做吗? 提前感谢您
我已经遵循了这里和这里的文档(非常直接),但是map视图没有加载任何瓷砖。 我使用HMS工具包,配置向导的结果是成功的。我还设置了api密钥,在我的应用程序类和活动类onCreate中都使用了这一行。 setapikey(HUAWEI_API_KEY); null 相关错误日志: E/hmsmapkit_mapview_151:createDelegate:creator==null E/hmsm
我试图使用Struts 2 我在 glassfish 服务器上上传时遇到以下错误: 部署过程中发生错误:加载应用程序时出现异常:java.lang.IllegalState异常:ContainerBase.add子级:开始:org.apache.catalina.生命周期异常:java.lang.NoClassDefFoundError: org/spingframewor /core/io/su
有人能告诉我一种解决以下问题的算法吗: 假设我有一个10*10的瓷砖网格。每个磁贴可以是“满”(玩家不能在上面行走)或“空”(玩家可以在上面行走)。我想遍历并随机填充瓷砖(以创建更有趣的地图),但是我需要所有“空”瓷砖才能访问。下面是一个快速图形: 我们从以下方面着手: 然后仔细检查并填充一些瓷砖: 并删除所有额外的行(仅用于显示): 如您所见,我们现在剩下的地图更有趣,并且可以随机生成(基于我们
我找不到struts-tiles2-1.4.0-SNAPSHOT的源代码。jar版本的平铺。jar文件位于http://people.apache.org/~pbenedict/struts-osgi/org/apache/struts/struts-tiles2/1.4.0-SNAPSHOT/location。