0

我有一个地图对象,这个地图对象有一些值,我在 jsp 页面上填充这些值,但问题是当我将 jsp 页面发布到另一个控制器时,我希望地图对象中存在相同的值。

Map(一些值)--->controller--->jsp(Map+一些附加值)----post----->另一个控制器[想要Map+附加值]

邮件内容.java

public class MailContent {
private String from;
private String to;
private String[] toMany;
private Map<String,byte[]> attachements;

//getter setter
}

一些.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" />
                &nbsp;&nbsp;&nbsp;&nbsp; <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]

后帖:

MailContent [from=from, to=to@gmail.com, attachements={0=[B@ebe064, 1=[B@1d90655}, subject=subject, message=message]
4

0 回答 0