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>

ご覧のとおり、トピックとコメントのエンティティを表す topic プロパティと newComment プロパティがあります
ここにコントローラーがあります:

@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/";
    }
}

コメントエンティティは正常に認識されますが、Topic オブジェクト (またはその 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 に答える