2017-11-20 12 views
0

単一のテーブルに複数のフォームがある春の起動アプリケーションでjspページを作成しました。各フォームには独自の送信ボタンがあります。各フォームで、私は、RequestクラスとしてControllerクラスに渡す必要がある値でhidden型の入力要素を保持しています。だから、フォームは、このようなものになります。MissingServletRequestParameterException:必須の文字列パラメータが存在しません

<form action="getNode" method="get"> 
 
    <input type="hidden" id="nodeId" value="${nodeid}"> 
 
    <table> 
 
    <!-- Displaying node related data --> 
 
    </table> 
 
</form>

をコントローラクラスは、次のようにマッピングされた要求を持っています

@RequestMapping(value="/getNode", method=RequestMethod.GET) 
public String monitor(ModelMap model, @RequestParam("nodeId") String nodeId) 
{ 
    model.put("selectedNodeId", nodeId); 
    return "getNode"; 
} 

私はSpringアプリケーションを実行し、フォームのボタンをクリックするとコンソール上で次の例外が発生する: org.springframework.web.bind.MissingServletRequestParameterException:必須の文字列パラメータ 'nodeId'が存在しない

フォームからの値がコントローラクラスに渡される方法が混乱しています。 @ModelAttributeも使ってみましたが、同じエラーが発生しています。 POSTメソッドを使ってみましたが、成功しませんでした。私は基本的に、ブラウザのURLにフォームを通じて提出された値を表示したくない。だから他のオプションを探しています。

答えて

0

私の側からは愚かな間違いでした。入力隠し型に名前を代入するのではなく、IDを与えました。したがって、コントローラはパラメータを選択できませんでした。 IDを名前に変更すると、機能しました。

関連する問題