0

私は以下のような文字列を持っています:

文字列emps="date1、date2、date3、date4";

私の要件は、JSTLタグを使用してjspページに以下のように印刷することです。

OutPut Should be:

date1

date2

date3

date4

私は私のjspで以下のコードを使用しました:

<c:set var="string2" value="${fn:split(emps,',')}" />
<c:forEach items="${string2}" var="emps1">
<td><c:out value="${emps1}"/></td>

</c:forEach>

しかし、私のコードは「、」を削除し、以下のように1行で出力しています。

date1 date2 date3 date4 

jstlタグを使用してjspで日付値を1行ずつ印刷する方法を教えてもらえますか?

ありがとう

アップデート:

<c:when test="${requestScope.size!=0}">
        <table border="1">
            <tr>
                <th>Employee Code</th>

                <th>EmployeeName</th>
                <th>EmployeeDepartment</th>
                <th>AbsentDate</th>
                <th>TotalNOOfAbsentDates</th>
            </tr>


            <c:forEach items="${requestScope.set1}" var="emps">
                <tr>
                    <td><c:out value="${emps[0]}" /></td>

                    <td><c:out value="${emps[1]}" /></td>
                    <td><c:out value="${emps[2]}" /></td>

                    <td><c:out value="${emps[4]}" /></td>
                    <c:set var="string2" value="${fn:split(emps[3],',')}" />
                    <c:forEach items="${string2}" var="emps1">
                    <td>
                        <p><c:out value="${emps1}"/></p>

                        </td>

                    </c:forEach>

                    </tr>
            </c:forEach>

注: 印刷したい

this(Iteration)data line by line using <td>tag?

4

3 に答える 3

2

を.jspStringの外側に分割し、これをリクエストに配置します。周囲のマークアップに応じて、、、などの新しい行にアイテムを配置するためのさまざまな方法を使用できます。ListList<br/><div><p>

Java

String emps="date1,date2,date3,date4";
List<String> empList = new ArrayList<String>(Arrays.asList(emps.split(",")));
request.setAttribute("empList", empList);

JSTL

<c:forEach items="${empList}" var="emp">
   <div><c:out value="${emp}"/></div>
</c:forEach>
于 2013-02-09T10:10:38.863 に答える
2

あなたの要件は少し奇妙に見えますが、テーブルで出力したい場合は...

<table>
    <c:set var="string2" value="${fn:split(emps,',')}" />
    <c:forEach items="${string2}" var="emps1">
        <tr>
            <td><c:out value="${emps1}"/></td>
        </tr>
    </c:forEach>
</table>

あなたの質問が正しく理解できたことを願っています


更新:

次のコードを実行してみてください:

<table>
    <c:set var="sourceString" value="${fn:split('q,w,e,r,t,y',',')}" />
    <c:forEach items="${sourceString}" var="element">
        <tr>
            <td><c:out value="${element}"/></td>
        </tr>
    </c:forEach>
</table> 

それは私にとってはうまく機能し(各文字を新しい行に出力します)、あなたにとってはうまくいくと確信しています。HTML コードをチェックアウトし、このコードを実行して、動作することを確認してください。


アップ2:

最後に、コードは次のようになります。

<table border="1">
    <tr>
        <th>Employee Code</th>

        <th>EmployeeName</th>
        <th>EmployeeDepartment</th>
        <th>AbsentDate</th>
        <th>TotalNOOfAbsentDates</th>
    </tr>


    <c:forEach items="${requestScope.set1}" var="emps">
        <tr>
            <c:set var="string2" value="${fn:split(emps[3],',')}" />
            <c:forEach items="${string2}" var="emps1">

                <td><c:out value="${emps[0]}" /></td>
                <td><c:out value="${emps[1]}" /></td>
                <td><c:out value="${emps[2]}" /></td>
                <td><c:out value="${emps1}"/></td>
                <td><c:out value="${emps[4]}" /></td>

            </c:forEach>
        </tr>
    </c:forEach>
</table>

あなたの間違いは、<tr>タグの知恵を混ぜることでした<td>。このコードは、欠席日ごとに行を生成しますが、それは実際に必要ですか?


upd3: このすべての日付をセルのみに出力したい場合 (少し見栄えが悪い)、次のように使用します。

<table border="1">
    <tr>
        <th>Employee Code</th>

        <th>EmployeeName</th>
        <th>EmployeeDepartment</th>
        <th>AbsentDate</th>
        <th>TotalNOOfAbsentDates</th>
    </tr>


    <c:forEach items="${requestScope.set1}" var="emps">
        <tr>
            <td><c:out value="${emps[0]}" /></td>
            <td><c:out value="${emps[1]}" /></td>
            <td><c:out value="${emps[2]}" /></td>
            <td>
                <c:set var="string2" value="${fn:split(emps[3],',')}" />
                <c:forEach items="${string2}" var="emps1">
                    <p>
                        <c:out value="${emps1}"/>
                    </p>
                </c:forEach>
            </td>
            <td><c:out value="${emps[4]}" /></td>
        </tr>
    </c:forEach>
</table>
于 2013-02-09T10:23:23.657 に答える
0

Kevin Bowersoxが指摘したように、私はまたはのいずれかを使用し<div>ます<p><br /><TD>

于 2013-02-10T12:04:55.987 に答える