Java Tapestry5动态布局

标签 java tapestry

我对 Tapestry 页面和模板有疑问。

用户发送请求以获取页面。我知道该请求来自移动设备或桌面设备。我想以不同的布局显示请求的页面。

例如:

如果请求来自移动设备,我想加载mobileLayout.tml和pages/mobile/index.tml,index.tml有t:type="mobilelayout"。

如果它来自桌面设备,我想加载layout.tml和pages/index.tml,index.tml有t:type="layout"。

示例:

仅针对桌面设备显示页面pages/index.tml。

仅针对移动设备显示页面pages/mobile/index.tml。

  • 请求的页面:/index
  • 设备:电话
  • 我想加载mobileLayout和pages/mobile/index.tml

  • 请求的页面:/index

  • 设备:桌面
  • 我想加载layout.tml和pages/index.tml

基本上,对于移动设备,我想从页面/移动设备获取内容,否则从页面/获取内容。

Tapestry5(5.3.6) 中可能存在类似的情况吗?

我尝试过类似下面的方法,但没有成功:

LayoutLoader.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>

组件/MobileLayout.tml

<body t:type="layoutloader">...</body>

页面/Index.tml

<div t:type="layout">...</div>

pages/mobile/Index.tml

<div t:type="mobileLayout">...</div>

最佳答案

您可能会发现 Igor 的博客文章很有趣 http://blog.tapestry5.de/index.php/2011/06/24/template-skinning/

关于Java Tapestry5动态布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15661183/

相关文章:

java - j8583 无法处理字段 128

java - 我的玩家以 90 度角射出子弹

java - RestTemplate在java中处理[image/jpg]响应内容类型

java - 带 Hibernate 复合键的 Tapestry5 值编码器

java - Tapestry 5 用户认证

java - Tapestry 5 无法解析符号 "layout"

java - 如何从 JavaFX 应用程序读取 X11 剪贴板?

java - Java 中的过滤、排序和限制不可修改列表

java - 使用 java.util.regex.Pattern 在 java 中查找相似的 IP

java - 如何为 beaneditform 上的密码字段制作正则表达式?