action
public Map<String, List<SyubetuDto>> syubetuMap;
String prevSyubetuId = "";
syubetuMap = new LinkedHashMap<>();
for (SyubetuDto dto : list) {
if ( !prevSyubetuId.equals(dto.syubetuId )) {
syubetuMap.put(dto.syubetuId, new ArrayList<SyubetuDto>());
prevSyubetuId = dto.syubetuId;
}
List<SyubetuDto> syubetuList = syubetuMap.get(dto.syubetuId);
syubetuList.add(dto);
}
jsp
<c:forEach items="${syubetuMap}" var="syubetuEntry" >
<html:link action="hoge.do?syubetuId=${syubetuEntry.value[0].syubetuId}">${syubetuEntry.value[0].syubetu}</html:link><br/>
<table>
<tr><th>typeId</th><th>type</th><th>siki1</th><th>siki2</th></tr>
<c:forEach items="${syubetuEntry.value}" var="syubetuItem">
<tr>
<td>${syubetuItem.typeId}</td>
<td>${syubetuItem.type}</td>
<td>${syubetuItem.siki1}</td>
<td>${syubetuItem.siki2}</td>
</tr>
</c:forEach>
</table>
</c:forEach>