初歩的な質問すみません。
JSFではlistを表示させるとき、datetableタグを使われることが多いと思います。
しかし、datetableタグはtable形式でしか表示できません。
LISTに格納された英単語を一単語ずつ空白を開けて表示させれるようなタグや方法はありますか?
例
nice to meet you
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
もう少し単純にui:repeatタグでループ処理ではいかがでしょうか?
JSF
1<ui:repeat value="#{fooBean.infoList}" var="item" varStatus="stat"><h:outputText value="#{item.bar}" /> </ui:repeat> 2
(<h:outputText value="#{item.bar}" />と</ui:repeat>の間に半角スペースが入っています。)
投稿2017/12/04 23:59
総合スコア11
0
Primefaceライブラリのdatatableの列要素columnsを利用すれば、Listから動的な列生成は可能です。
ただこれでは大げさと思えるので、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>
投稿2015/12/23 02:04
総合スコア1339
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。