如何使用 apache tiles 2 实现这种布局?
How to achieve this layout using apache tiles 2?
创建此类布局时遇到问题。控制器触发破折号内容,应创建布局。现在我有了这个定义,我被屏蔽了。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="masterLayout" template="/WEB-INF/jsp/layout/master.jsp">
<put-attribute name="headerInclude" value="" />
<put-attribute name="body" value="" />
<put-attribute name="footerInclude" value="" />
</definition>
<definition name="dashboardLayout" extends="masterLayout">
<put-attribute name="body" value="dashboardLayoutBody" />
</definition>
<definition name="dashboardLayoutBody" template="/WEB-INF/jsp/layout/dashboard.jsp">
<put-attribute name="menu" value="/WEB-INF/jsp/parts/menu.jsp" />
<put-attribute name="body"/>
</definition>
<!-- this page is triggered -->
<definition name="login_page" extends="masterLayout">
<put-attribute name="body" value="/WEB-INF/jsp/layout/login.jsp" />
</definition>
<!-- this page is triggered -->
<definition name="some_page" extends="dashboardLayout">
<put-attribute name="body" value="/WEB-INF/jsp/content/admin_groups/supervisor.jsp"/>
</definition>
</tiles-definitions>
主布局有此内容
<!DOCTYPE html>
<html>
<head>
<!-- Master css, js, meta, tags additions .... -->
<tiles:insertAttribute name="headerInclude"/>
</head>
<body>
<tiles:insertAttribute name="body"/>
<!-- Master css, js, meta, tags additions .... -->
<tiles:insertAttribute name="footerInclude"/>
</body>
</html>
我需要以某种方式扩展模板并拥有自己的模板,以便在其中包含菜单
作为 jsp 模板的新手,我没有意识到我可以将 jsp:include
与 Aapache Tiles 并行使用,这解决了问题。
主要问题是我不能只在仪表板布局中包含一次菜单,然后到处使用。
仅使用图块,put-attribute
标签上有 cascade
属性,该属性也可用于其他属性。
请记住,cascade
需要 DOCTYPE tiles-definition
最低版本 2.1
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
创建此类布局时遇到问题。控制器触发破折号内容,应创建布局。现在我有了这个定义,我被屏蔽了。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="masterLayout" template="/WEB-INF/jsp/layout/master.jsp">
<put-attribute name="headerInclude" value="" />
<put-attribute name="body" value="" />
<put-attribute name="footerInclude" value="" />
</definition>
<definition name="dashboardLayout" extends="masterLayout">
<put-attribute name="body" value="dashboardLayoutBody" />
</definition>
<definition name="dashboardLayoutBody" template="/WEB-INF/jsp/layout/dashboard.jsp">
<put-attribute name="menu" value="/WEB-INF/jsp/parts/menu.jsp" />
<put-attribute name="body"/>
</definition>
<!-- this page is triggered -->
<definition name="login_page" extends="masterLayout">
<put-attribute name="body" value="/WEB-INF/jsp/layout/login.jsp" />
</definition>
<!-- this page is triggered -->
<definition name="some_page" extends="dashboardLayout">
<put-attribute name="body" value="/WEB-INF/jsp/content/admin_groups/supervisor.jsp"/>
</definition>
</tiles-definitions>
主布局有此内容
<!DOCTYPE html>
<html>
<head>
<!-- Master css, js, meta, tags additions .... -->
<tiles:insertAttribute name="headerInclude"/>
</head>
<body>
<tiles:insertAttribute name="body"/>
<!-- Master css, js, meta, tags additions .... -->
<tiles:insertAttribute name="footerInclude"/>
</body>
</html>
我需要以某种方式扩展模板并拥有自己的模板,以便在其中包含菜单
作为 jsp 模板的新手,我没有意识到我可以将 jsp:include
与 Aapache Tiles 并行使用,这解决了问题。
主要问题是我不能只在仪表板布局中包含一次菜单,然后到处使用。
仅使用图块,put-attribute
标签上有 cascade
属性,该属性也可用于其他属性。
请记住,cascade
需要 DOCTYPE tiles-definition
最低版本 2.1
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">