0

私はjsfiddle.netにこのサンプルテーブルを持っています.私のテーブルはどのように見えるべきですか

2 番目の列には、元の列と一致する複数の行を含めることができます。これを使用してこれを達成する方法が非常に混乱していますjstl <c:forEach>

これは私が書いたコードで、内部にブレークステートメントがないため、すべてを同じ行に出力しますforeachが、jsfiddle にあるものと同様のものが必要です

<c:forEach items="${abc.bcd }" var="abc">
<tr>
<td align="center"><c:out value="${abc.interval }" /></td>
<td><c:out value="${abc.operation}" /></td>
<td>
<c:forEach items="${abc.parts.info}" var="info">
<c:out value="${info.number}" />
<c:out value="${info.quantity}" />
<c:out value="${info.name}" />
</c:forEach>                        
</td>
</tr>
</c:forEach>
4

2 に答える 2

0

HTML ベースのテーブルがどのように機能するかの仕様を詳しく説明する方法はわかりませんが、全体として、単一の列内の行は機能するように開発された方法ではありません。行と列の比率は、いわばバランスをとる必要があるためです。

行の外観が必要な列がある場合は、その列内に新しいテーブルを配置し、その中にその行の外観を構築するのが最善の策です

例:

<table>
   <tr>
     <td>
       <table>
         <tr>
           <td>Info</td>
           <td>Info</td>
           <td>Info</td>
         </tr>
       </table>
    </td>
  </tr>
</table>
于 2012-10-02T05:05:38.417 に答える
0

これまでに構築したものを見ると、 at があるように見えMapますabc.parts.info。のような順序付けされたマップがある場合、マップを反復処理LinkedHashMapできます。

<c:forEach items="${abc.bcd}" var="abc">
  <tr>
    <td align="center"><c:out value="${abc.interval}" /></td>
    <td><c:out value="${abc.operation}" /></td>
    <c:forEach items="${abc.parts.info}" var="info">
      <td><c:out value="${info.value}" /></td>
    </c:forEach>                        
  </tr>
</c:forEach>

のような順序付けられていないマップがある場合、HashMapEL を使用してマップ内の値にアクセスできます (キーが文字列であると仮定します)。

<c:forEach items="${abc.bcd}" var="abc">
  <tr>
    <td align="center"><c:out value="${abc.interval}" /></td>
    <td><c:out value="${abc.operation}" /></td>
    <td><c:out value="${abc.parts.info['number']}" /></td>
    <td><c:out value="${abc.parts.info['quantity']}" /></td>
    <td><c:out value="${abc.parts.info['name']}" /></td>
  </tr>
</c:forEach>
于 2012-10-02T07:29:28.890 に答える