Here's the jsp code:
Code:
<c:forEach var="entry" items="${viewObj.mapObj.itemMap}"
	varStatus="status">
	<c:set var="linkId" value="${entry.key}"></c:set>
	<c:set var="item" value="${entry.value}"></c:set>
	<tr>
		<td><form:checkbox
			title="${linkId}"
			path="currentItemMap['${linkId}']" value="1"/></td>
		<td>
		${item.attrNo}</td>
	</tr>
</c:forEach>
Here's the generated html code:
Code:
<tr>
	<td>
		<input type="checkbox" value="1" title="2" name="mapObj.currentItemMap['2']" id="mapObj.currentItemMap['2']1">
		<input type="hidden" value="on" name="_mapObj.currentItemMap['2']"></td>
	<td>
		8316M0680</td>
</tr>
<tr>
	<td>
		<input type="checkbox" value="1" title="1" name="mapObj.currentItemMap['1']" id="mapObj.currentItemMap['1']1">
		<input type="hidden" value="on" name="_mapObj.currentItemMap['1']"></td>
	<td>
		8317M0770</td>
</tr>
<tr>
	<td>
		<input type="checkbox" checked="checked" value="1" title="12" name="mapObj.currentItemMap['12']" id="mapObj.currentItemMap['12']1">
		<input type="hidden" value="on" name="_mapObj.currentItemMap['12']"></td>
	<td>
		8308M0150</td>
</tr>
Here's the mapObj.currentItemMap actual data: KEY/VALUE pairs
Code:
{2=1, 1=1, 12=1}
Findings:
the three (3) checkboxes must be checked but only the last one was checked.

the only difference of the checkboxes are thier KEY.

1st checkbox KEY is '2' (which is one digit)
2nd checkbox KEY is '1' (which is one digit)
3rd checkbox KEY is '12' (which is two digit)

Anyone encountered the same problem? this is very easy to reproduce. Just provide a Map<String, String> in your jsp which the KEYs are one (1) digit.