首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历Tapestry中没有“value”属性的集合

循环遍历Tapestry中没有“value”属性的集合
EN

Stack Overflow用户
提问于 2010-09-16 11:35:29
回答 2查看 2K关注 0票数 0

挂毯循环文档显示了下面的示例

代码语言:javascript
复制
<t:loop source="pageNames" value="pageName">
    <td class="${tabClass}">
        <t:pagelink page="pageName">${pageName}</t:pagelink>
    </td>
</t:loop>

其中,从组件中提取pageName变量:

代码语言:javascript
复制
@Property
private String _pageName;

我对这样的财产毫无用处。从组件中删除声明会使Tapestry感到悲伤,并引发类似于

无法将“pageName”转换为组件参数绑定。上课..。不包含名为“pageName”的属性(在属性表达式“pageName”中)。可用属性:.

如何在不为循环值声明属性的情况下使用循环标记?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-16 15:55:55

我认为您不必指定t:value,只需忽略它。在某些情况下,您只想使用t:index,这很好。

根据评论编辑:

是的,在组件类中声明属性是没有办法的。如果您不对组件类中的当前迭代值做任何操作,这看起来可能有点不雅观,这是真的。在这种情况下,我倾向于使用getter和setter来代替@Property注释,以避免“未使用”编译器警告。

票数 2
EN

Stack Overflow用户

发布于 2010-11-12 10:34:22

您可以在模板中的临时变量前缀上加上var前缀。所以在你的例子中,你只需要说value="var:pagename"。如果pagename是一个原语(例如字符串或整数),并且可以使用以下语法${var:pagename}访问循环中任何位置的值,这就很好了。但是,当您尝试访问它的属性(如pagename.name )时,它会失败。

查看这里,查看可用绑定表达式的列表,以查看可以从中提取值的其他位置(例如消息目录)。

或者,您可以在属性的页面类中始终使用@SuppressWarnings("unused")来抑制编译器警告。

干杯。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3726239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档