如何在没有模型的 Facelets 中通过简单的 for 循环重复输出文本?
如何使用 only 标准标签(ui:、h: 等)重复输出 JSF 中的某些内容?换句话说 - 如何在 JSF 中执行与下面的 PHP 代码等效的操作?我立即想利用 ui:repeat,但它需要收集 - 我只有数字。
for ($i = 0; $i < 10; $i++) {
echo "<div>content</div>";
}
How to repeat output of some content in JSF using only standard tags (ui:, h: etc) ? In other words - how to do equivalent to PHP code below in JSF ? I immediately wanted to take advantage of ui:repeat
, but it needs collection - I have only number.
for ($i = 0; $i < 10; $i++) {
echo "<div>content</div>";
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
JSF 2.3+
如果您已经使用 JSF 2.3+,那么您可以使用
。JSF 2.2 -
如果您还没有使用 JSF 2.3,那么可以使用
(确实,将 JSTL 与 JSF 混合有时会令人不悦,但是这在您的特定情况下不会造成损害,因为您似乎想要“静态”创建视图;它不依赖于任何动态变量):或者创建一个 EL 函数来创建 < 的虚拟数组code>:
在
/WEB-INF/util.taglib.xml
中注册:并按如下方式使用
JSF 2.3+
If you're already on JSF 2.3+ then you can use
begin
/end
attributes of<ui:repeat>
.JSF 2.2-
If you're not on JSF 2.3 yet, then either use
<c:forEach>
instead (true, mixing JSTL with JSF is sometimes frowned upon, but this should not harm in your particular case because you seem to want to create the view "statically"; it does not depend on any dynamic variables):Or create an EL function to create a dummy array for
<ui:repeat>
:which is registered in
/WEB-INF/util.taglib.xml
:and is been used as follows
由于它需要一个集合,因此您可以在支持 bean 中创建一个集合(包含与您想要输出 div 的次数一样多的元素):
然后:
..这将输出与 < 的大小一样多的 div代码>列表属性。
Since it needs a collection, you can make a collection (containing as much elements as the number of time you want to output the divs) in the backing bean:
and then:
..which would output as many divs as the size of the
list
property.