Java Tapestry5动态布局
我有一个关于Tapestry页面和模板的问题 用户发送请求以获取页面。我知道请求来自手机或桌面。我想用不同的布局显示请求的页面 例如: 如果请求来自我要加载mobileLayout.tml和pages/mobile/index.tml的移动设备,则index.tml具有t:type=“mobileLayout” 如果它来自我想要加载layout.tml和pages/index.tml的桌面设备,则index.tml具有t:type=“layout” 例如: 仅为桌面设备显示页面/index.tml 仅针对移动设备显示页面/mobile/index.tmlJava Tapestry5动态布局,java,tapestry,Java,Tapestry,我有一个关于Tapestry页面和模板的问题 用户发送请求以获取页面。我知道请求来自手机或桌面。我想用不同的布局显示请求的页面 例如: 如果请求来自我要加载mobileLayout.tml和pages/mobile/index.tml的移动设备,则index.tml具有t:type=“mobileLayout” 如果它来自我想要加载layout.tml和pages/index.tml的桌面设备,则index.tml具有t:type=“layout” 例如: 仅为桌面设备显示页面/index.tm
- 请求的页面:/index
- 设备:电话
- 我想加载mobileLayout和pages/mobile/index.tml
- 请求的页面:/index
- 设备:桌面
- 我想加载layout.tml和pages/index.tml
<t:delegate to="layout" />
<t:block t:id="mobileLayout">
<t:mobileLayout />
</t:block>
<t:block t:id="desktopLayout">
<t:layout />
</t:block>
组件/Layout.tml
<body t:type="layoutloader">...</body>
<body t:type="layoutloader">...</body>
。。。
组件/MobileLayout.tml
<body t:type="layoutloader">...</body>
<body t:type="layoutloader">...</body>
。。。
pages/Index.tml
<div t:type="layout">...</div>
<div t:type="mobileLayout">...</div>
。。。
pages/mobile/Index.tml
<div t:type="layout">...</div>
<div t:type="mobileLayout">...</div>
。。。
你可能会发现Igor的博客文章很有趣你可能会发现Igor的博客文章很有趣这里有一个有趣的帖子:感谢链接,我来看看。这里有一个有趣的帖子:感谢链接,我来看看。Tapestry 5.3增加了对蒙皮和主题化的支持;Igor对此做了很好的描述。唯一的诀窍是你必须提供几个垫片来向Tapestry解释活动请求的主题和/或皮肤是什么;这些信息可以来自网站地址,或者被编码到URL中,或者可能是一个cookie。。。Tapestry 5.3增加了对蒙皮和主题化的支持;Igor对此做了很好的描述。唯一的诀窍是你必须提供几个垫片来向Tapestry解释活动请求的主题和/或皮肤是什么;这些信息可以来自网站地址,或者被编码到URL中,或者可能是一个cookie。。。它是非常开放的,因此您的应用程序需要提供一个垫片。