是否可以像在 Struts2 中的 struts.xml 中那样在tiles.xml 中传递动态值?我已经使用 ${parameter} 来获取配置文件中的动态值,但它似乎不起作用。有任何想法吗?
您可以将通配符从 struts 操作传递给图块,我已经使用它为动态项目执行类似的操作,例如每个客户端可能有不同的 CSS 文件。
在你的 struts 操作中,你将有一个tile结果类型,你可以传递如下值:
<action name="{eventURL}/update" class="org.groundworkgroup.struts.actions.admin.UpdateEventSettings">
<result name="login" type="tiles">/login.tiles</result>
<result name="input" type="tiles">/admin.${#session.bean.pageID}.${#session.bean.fileID}.tiles</result>
<result name="success" type="tiles">/admin.${#session.bean.pageID}.${#session.bean.fileID}.tiles</result>
</action>
然后在tiles.xml 中“插入”通配符:
<definition name="/admin.*.*.tiles" extends="adminLayout">
<put-attribute name="title" value="Welcome" />
<put-attribute name="jsfile" value="{1}/js/{2}.js" />
<put-attribute name="cssfile" value="{1}/css/{2}.css" />
<put-attribute name="body" value="/WEB-INF/content/sites/admin/main.jsp" />
<put-attribute name="menu" value="/WEB-INF/content/sites/admin/menu.jsp" />
</definition>
在此特定示例中,struts 操作 pageID 是文件所在的项目目录,并且在tiles.xml 中将其放置为通配符 {1}。 fileID 是与此特定操作或在tiles.xml 中用{2} 表示的用户关联的文件名。您可以使用此设置将动态值传递到图块,以便控制例如页面状态或 JSP 的渲染或像本示例中的自定义 css 和 js 文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)