0

我是 Spring MVC 的新手,我有一个问题。

我正在发送给 FORM LinkedHashMap,它显示得很好。

model.addAttribute("resultForm", resultForm);

我的jsp的一部分:

<c:forEach items="${resultForm}" var="resultMap" varStatus="status">
                        <tr id="tableRow" class="table-row">
                            <td>
                                ${resultMap.key}
                            </td>
                            <td>
                            <select name="resultMap['${resultMap.key}']" class="espa-config-select">
                                <option selected value ="${resultMap.value}">${resultMap.value}</option>
                                <c:forEach items="${mainParams}" var="item2">
                                    <c:if test="${item2.key == resultMap.key}">
                                        <c:forEach items="${item2.value}" var = "q">
                                            <c:if test="${resultMap.value != q}">
                                                <option value="${q}"> ${q} </option>
                                            </c:if>
                                        </c:forEach>
                                    </c:if>
                                </c:forEach>
                            </select>
                            </td>
                        </tr>
                    </c:forEach>

现在我需要把它拿回来

这是控制器的一部分

@RequestMapping( value = "espa/update", method = RequestMethod.POST )
    public String save(@ModelAttribute("resultForm") LinkedHashMap<String,String> resultForm) {
        System.out.println("resultMap post "+resultForm.toString());
        if (resultForm!=null){
            //resultForm.put("Port", port);
            espaService.setConfiguration(selectedDevice, resultForm);
            LOG.debug("Saving configuration: {} /nPort{}",resultForm, selectedDevice);

       }

        return "redirect:/espa";
    }

但它是空的!我该如何解决?

4

1 回答 1

0

在您的选择中,您使用的是名称“resultMap”。name 属性需要与 Model Attribute 相关联,您称为“resultForm”。

于 2013-02-09T02:13:17.860 回答