1

你能告诉我如何以最方便的方式将视图中的几个参数传递给控制器​​的函数吗?

JSP 视图:

<h2>${topic.getName()}</h2>
<h3>${topic.getText()}</h2>

<form:form method="post" commandName="newComment">
    <fieldset>
        <div class="editor-label">
            <td><form:label path="text">Input comment</form:label></td>
        </div>

        <div class="textarea">
            <form:textarea path="text" />
        </div>

        <p>
            <input type="submit" value="Comment" />
        </p>
    </fieldset>
</form:form>

如您所见,我们有topicnewComent属性,它们代表主题和评论实体。
这是一个控制器:

@RequestMapping(value = "/addComment/{topicId}", method = RequestMethod.POST)
public String saveComment(@ModelAttribute("newComment")Comment comment, BindingResult result, Model model){

    validate(comment, result);
    if (result.hasErrors() )
        {
            return "//";
        }
        return "redirect:details/";
    }
}

评论实体被识别得很好,但我也需要一个主题对象(或它的 ID)的实例。可以在视图中访问主题对象的实例,并且主题 ID 是响应的一部分。你能给我一个想法,我该如何处理这个问题?

4

1 回答 1

1

如果你有,你能得到主题模型topicId吗?它在你的路上。您可以通过@PathVariable在方法参数中添加注释来获取它。

public String saveComment(@PathVariable String topicId, @ModelAttribute("newComment")Comment comment, BindingResult result, Model model){
于 2012-08-13T18:58:52.963 回答