2017-12-22 30 views
0

フォームに値を入力したい。以下は私が書いたコードです。ここで春のmvcコードでフォームを編集する属性を送信する

Controller.java

@RequestMapping("/editBankAccount/{accountName}") 
public String editBankMethods(ModelMap modelMap, 
     @PathVariable String accountName) { 

    BankAccount bankAccount = managePaymentMethods.getBankAccount(
      sessionService.getUser(), accountName); 

    return "editBankAccount"; 
} 

は、私が

return "editBankAccount"; 

から私のコントローラ内のコードを変更しようとしているJSP editform.jsp

<form:form> 
<div class="form-group -oneX-col-sm-8"> 
       <label class="-oneX-textfield__floatingLabel" for="routingNumberInput">${text.global.routingNumber}</label> 
       <form:input class="-oneX-textfield__input" path="routingNumber" type="text" id="routingNumberInput"> 
      </div> 

</form:form> 

で私のフィールドであり、

return new ModelAndView("editBankAccount", "command", bankAccount);を返し、戻り値の型をStringからModelAndViewに変更しました。

私のコードはファイルをコンパイルしますが、実行するとJSPのスタイリングやラベルは表示されません。私が見るのは自分のフィールドだけです。新しいModelandviewを作成するように見えます。

新しいModelandViewを作成せずにオブジェクトにフォームを渡すだけのコード行は何ですか?

答えて

0

コントローラーで次のコードを使用して、JSPページに属性を取得できます。

BankAccount bankAccount = managePaymentMethods.getBankAccount(
       sessionService.getUser(), accountName); 
     modelMap.addAttribute("bankAccount", bankAccount); 
     return "editBankAccount"; 
1

サーブレットクラスで属性を設定して取得し、JSPページで取得することができます。

modelMap.setAttribute("Attribute",bankAccount); 

ここで、属性はvariale-nameで、bankAccountはobjectです。 JSPページの使用スクリプトレットで

<% BankAccount bankAccount=(BankAccount)modelMap.getAttribute("Attribute");%> 
関連する問題