Tapestry 根据屏幕分辨率删除网格列

Tapestry removing grid columns based on screen resolution

我正在使用 Tapestry 5.4,它已随 Twitter Bootstrap 一起提供。现在,我想针对移动设备优化我的页面。我的网格包含太多信息,无法在小屏幕上显示,所以在这种情况下我只想隐藏一些列。 Bootstrap 有 CSS-选择器正是为了:http://getbootstrap.com/css/#responsive-utilities

但是它们必须放在列的 thtd 元素上。 Tapestry 提供了 rowClass 参数来为一行添加额外的 CSS,但是对于列没有这样的方法。

我的场景的最佳实践方法是什么?

立即想到两个解决方案:1) 使用 t:loop 和普通 html、tr、th 和 td 标签自己制作 table,或 2) 使用 Tapestry 的 DOM重写

我个人会选择#1,但对于#2,请看这个例子:http://apache-tapestry-mailing-list-archives.1045711.n5.nabble.com/Snippet-T5-A-mixin-to-rewrite-the-markup-of-element-td4479439.html#a4481772

看看grid decorator mixin from tapestry-stitch。它将允许您调整 tr 和 td 元素。

如果您还需要调整第 th 个元素,添加对 GridHeaderDecorator 的支持会很简单。