1

スプリングの形状は次のとおりです。

<form:form method="post" action="list.html">

    <table>
    <tr>
        <td><form:label path="entity"><spring:message code="label.entity"/></form:label></td>
        <td><form:input path="entity" /></td>
    </tr>
    <tr>
        <td colspan="2">
            <input type="submit" value="<spring:message code="label.listmessage"/>"/>
        </td>
    </tr>
</table> 
</form:form>


<h3>Messages</h3>
<c:if  test="${!empty messageList}">
<table class="data">
<tr>
    <th>Entity</th>
    <th>Available</th>
    <th>&nbsp;</th>
</tr>
<c:forEach items="${messageList}" var="message">
    <tr>
        <td>${message.entity}</td>
        <td>${message.available}</td>
     </tr>
</c:forEach>
</table>
</c:if>

フォームの投稿をキャプチャし、表示するメッセージのリストを返すコントローラー コードを作成する際に助けが必要です。

@RequestMapping(value = "/list", method = RequestMethod.POST)
public String listMessages(String prefixId,Map<String, Object> map) {
    map.put("list",messageService.getMessagesByEntity(prefixId));
    return "redirect:/list";
}

上記は機能しませんが、正しい適応を得るには助けが必要です。
どんな助けでも大歓迎です

4

1 に答える 1

0

これ

<input type="submit" value="<spring:message code="label.listmessage"/>"/>

何もしません。名前がないため、フォーム POST には含まれません。皮切りに

<input name="listMessage" type="submit" value="<spring:message code="label.listmessage"/>"/>

ブラウザがリクエストを送信すると、 のようなパラメータが追加されますlistMessage=[whatever value is in label.listmessage]。このリクエスト パラメータは次のように取得できます。

@RequestMapping(value = "/list", method = RequestMethod.POST)
public String listMessages(@RequestParam(value="listMessage") String listMessage, Model model) {
    // get whatever you need with the request param and put it in the model
    model.addAttribute("messageList",messageService.getMessagesByEntity(listMessage));
    return "redirect:/list";
}

モデル内の属性はリクエスト属性に追加されるため、.jsp で使用できます${messageList}

于 2013-08-29T17:09:37.823 に答える