Primefaceライブラリのdatatableの列要素columnsを利用すれば、Listから動的な列生成は可能です。
DataTable - Dynamic Columns
ただこれでは大げさと思えるので、BackingBeanでhtml tableのフォーマットを作成してoutputtextタグで表示する方法ではどうでしょうか。
java
1package beans;
2
3import java.util.Arrays;
4import java.util.List;
5import javax.enterprise.context.RequestScoped;
6import javax.inject.Named;
7
8@Named
9@RequestScoped
10public class Bb {
11
12 String text1;
13 List<String> list;
14
15 public void setText1(String text1) {
16 this.text1 = text1;
17 }
18
19 public String getText1() {
20
21 list = Arrays.asList("nice","to","meet","you");
22 StringBuilder buff=new StringBuilder();
23 buff.append("<table><tr>");
24
25 for(String str:list){
26 buff.append("<td>");
27 buff.append(str);
28 buff.append("</td>");
29 }
30
31 buff.append("</tr></table>");
32 text1=buff.toString();
33
34 System.out.println("text1 is "+text1);
35
36 return text1;
37 }
38
39}
HTML
1<?xml version='1.0' encoding='UTF-8' ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"
4 xmlns:h="http://xmlns.jcp.org/jsf/html">
5 <h:head>
6 <title>Facelet Title</title>
7 </h:head>
8 <h:body>
9 <h:outputText escape="false" value="#{bb.text1}" />
10 </h:body>
11</html>