2011-07-25 4 views
1

こんにちは皆、私はarraylistには[MCA, MCB, COMM, DMISA]と表示されています。「ブラケットなし」のArrayListが必要です

JSPでそれを呼び出すイム:豆で

<td>${bean.CodesNames}</td> 

ゲッターは次のとおりです。

public void setCodesNames(ArrayList<String> CodesNames) 
{ 
    this.CodesNames = CodesNames; 
} 

私は括弧なしでこれを表示することができますどのように?

+0

コードが実際にセッター、ゲッターはないです。 –

答えて

6

リストを印刷可能な文字列にするために、ArrayList#toString()が暗黙的に呼び出されるため、角括弧が表示されます。あなたは、JSPで、リストを自分で印刷することでこの問題を解決することができます

リターンよりも
<c:forEach items="${CodesNames}" var="item" varStatus="status"> 
    ${item}<c:if test="${!status.last}">,</c:if> 
</c:forEach> 

またはBeanゲッターの文字列を:

public String getCodesNamesAsString() 
{ 
    // using a Guava Joiner 
    return Joiner.on(",").useForNull("null").join(getCodesNames()); 
} 

(あなたはグアバに慣れていない場合Joiner JavaDocsを参照してください。 )

+0

jspで反復するのはすばやく速かった...ありがとう。 –

1

あなたはそれを繰り返す必要があります。 toStringに頼らないでください。

<td> 
    <c:forEach var="name" varStatus="stat" items="${bean.codesNames}"> 
     <c:out value="${name}"/> 
     <c:if test="${stat.index < fn:length(bean.codesNames) - 1}"> 
      <c:out value=","/> 
     </c:if> 
    </c:forEach> 
</td> 

PS:<c:out/>はここではオプションです。

+0

hmmmm ...試してみましょう –

+0

カンマのためだけに「」は必要ありません。 –

+0

はい、わかっています。明確にするために追加しました。 – adarshr

1

あなたはその後、別のgetterメソッドの追加

<td>${bean.codesNamesFormatted}</td> 
2

それを使用するあなたが

public String getCodesNamesFormatted() 
{ 
    // format as you like 
} 

を必要とする書式設定になりゲッター実装することができます:

public void getCodesNamesFormatted() 
{ 
    StringBuilder sb = new StringBuilder(); 
    for (String codeName : CodesNames) sb.append(codeName).append(','); 
    return sb.deleteCharAt(sb.length()); 
} 

そしてJSPからそれを呼び出す:

<td>${bean.codesNamesFormatted}</td> 
+0

それはよさそうだ。それを試してみてください –

1

この文字列([MCA、MCB、COMM、DMISA])は、クラスArrayのtoString()メソッドによって生成されます。 配列要素を反復処理して1つずつ出力する独自のコードを作成する必要があります。 もちろん、replaceAllの汚い方法を使用することもできます。両方の方法については、以下のコードを参照してください:あなたが表示

1)

<% for(String arrayItem : myArray) { %> 
<%= arrayItem %>, 
<%}%> 

2)

<%=myArray.toString().replaceAll("\[|\]","")%> 
+0

入力仲間のおかげで...私はこの仕事でスクリプトレットを使うことができたらいいと思っています...笑 –

+0

絶対にそうでなければ、スクリプトレットは使わないでください。 http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files –