2017-11-14 25 views
0

申し訳ありませんが、私はJava初心者です。私はSpringとHibernateで動作し、問題があります。インターネットで私は解決策を見つけることができません。Javaでリスト配列から整形文字列を取得する方法は?

マイコントローラー:

List<User> theModerators = userDAO.findAllModerators(); 

theModel.addAttribute("moderators", theModerators); return "moderators"; 

moderators.jsp:

<c:forEach items="${moderators}" var="m"> 
    <div>${m.firstName}</div> 
    <c:forEach items="${m.companies}" var="company"> 
     <div>${company.compName}</div> 
    </c:forEach> 
</c:forEach> 

私はcompany.compNameとの問題を持っています。私はコンマで整形された文字列を取得したい(例: "MicrosoftApple"がありますが、 "Microsoft、Apple"が必要です)。

私を知っている程度EXのために、加入:

String allCompanies = String.join(", ", userCompanies); 

しかし、私はtheModeratorsにallCompanies文字列を追加、またはtheModeratorsのようなもののallCompanies文字列を持つ新しい配列を作成することはできません。

私はPHP/Laravelで作業しており、コレクションに結合を使用しました。

でもJavaではできません。

+0

を回避するためにvarStatusを使用してきた

<c:forEach items="${moderators}" var="m"> <div>${m.firstName}</div> <div> <c:forEach items="${m.companies}" var="company" varStatus="item"> ${company.compName} <c:if test="${!item.last}">,</c:if> </c:forEach> </div> </c:forEach> 

を動作するはずです、あなたははい、私はあなたのコントローラメソッドからフォーマットされた文字列を持参 – Satya

+0

を試してみました。 – Audr

+0

「MicrosoftApple」を得た

${company.compName},

答えて

1

次は私が最後のコンマ

+0

しかし、私はコンマをいつも得ています:ジョン - マイクロソフト、アレックス - マイクロソフト、アップル、 – Audr

+0

最後のカンマの印刷を避けたいのですか? – amdg

+0

はい、もちろんです:) – Audr

関連する問題