我有一个Map对象,这个Map对象有一些值,我在jsp页面上填充这些值,但问题是,当我将jsp页面发布到另一个控制器时,我希望在map对象中出现相同的值
Map(某些值)---> controller ---> jsp(Map +一些附加值)---- post ----->另一个控制器[想要Map +附加值]
MailContent.java
public class MailContent {
private String from;
private String to;
private String[] toMany;
private Map<String,byte[]> attachements;
//getter setter
}
some.jsp
<f:form action="../hr/sendNotification" commandName="mailHolder">
<table>
<tr>
<td><label>From:</label></td>
<td><input class="inputq" type="text" name="from" /></td>
</tr>
<tr>
<td><label>To:</label></td>
<td><input type="text" class="inputq" name="to" id="to"></input></td>
</tr>
<tr>
<td><label>Subject:</label></td>
<td><input class="inputq" type="text" name="subject" /></td>
</tr>
<c:forEach var="attach" items="${mailHolder.attachements }" varStatus="i">
<tr>
<td><label>Attachement:${i.index+1 }</label></td>
<td><input class="inputq" type="text" value="${attach.value }" name="attachements[${i.index }].value"/>
<input class="inputq" type="text" value="${attach.key }" name="attachements[${i.index }].key"/>
</tr>
</c:forEach>
<tr>
<td><label>Message:</label></td>
<td><textarea class="tarea" cols="60" rows="10" name="message"></textarea></td>
</tr>
<tr>
<td></td>
<td><input class="fancy" type="submit" value="Send" />
<input class="fancy" type="reset"
value="Reset" /></td>
</tr>
</table>
</f:form>
键值对在jsp上成功显示但是当我将其发布到另一个控制器并获取值时,关键部分将填充一些索引而不是值。
在控制台上:
之前:
MailContent [from=null, to=null, attachements={abc=[B@1d37913, xyz=[B@b20ff5}, subject=null, message=null]
Afetr帖子:
MailContent [from=from, to=to@gmail.com, attachements={0=[B@ebe064, 1=[B@1d90655}, subject=subject, message=message]