2017-08-08 7 views
0

イムを@RequestMappingと、コントローラと、入力タイプ=「送信」同じオブジェクトの2つのモデル属性を作成し、オブジェクトの2つのインスタンスを作成しようとして

Here'sものを介して、コントローラにそれらを解析するためにそれらを解析します私が持っている:

:私はここで両方のオブジェクト

@RequestMapping(value = "/formdata", method = RequestMethod.POST) 
    public String formdata(HttpServletRequest req,@AuthenticationPrincipal User currentUser, DataOp Data,DataOp Data2, Model model) { 

//Do stuff for Example 
Data.getName(); 
Data2.getName(); 
} 

を解析したいここ

@RequestMapping (value = "/webdata") 
public String vorsorgestammdaten(Model model) { 
    model.addAttribute("Data", new DataOp()); 
    model.addAttribute("Data2", new DataOp()); 
    return "/webdata"; 
} 

//は私のフォームの一部です。

<form method="post" th:action="@{/formdata}" th:object="${regData}"> 
    <div class="col-sm-4"> 
     <input th:field="${Data2.gender}" type="radio" value="MALE" name="gender" disabled="disabled" /><span>Mr</span> 
     <input th:field="${Data2.gender}" type="radio" value="FEMALE" name="gender" disabled="disabled"/><span>Frau</span> 
     <p>Firstname:</p><input required="required" type="text" th:field="${Data2.firstname}" placeholder="Max" disabled="disabled" /> 
    </div> 
    <div class="col-sm-4"> 
     <input th:field="*{Data.gender}" type="radio" value="MALE" name="gender" disabled="disabled" /><span>Mr</span> 
     <input th:field="*{Data.gender}" type="radio" value="FEMALE" name="gender" disabled="disabled"/><span>Frau</span> 
     <p>Firstname:</p><input required="required" type="text" th:field="*{Data.firstname}" placeholder="Max" disabled="disabled" /> 

         <button type="submit">Speichern</button> 

    </div> 

</form> 

答えて

0

これを削除してみてください。th:object="${regData}"

次に、@ModelAttribute注釈を使用できます。例えば

public String formdata(HttpServletRequest req,@AuthenticationPrincipal User currentUser, @ModelAttribute DataOp Data,@ModelAttribute DataOp Data2, Model model) { 
//Some code 
} 

あなたにも${Data.gender}*{Data.gender}を切り替えることがあります。

0

これらの各パラメータにRequestAttributeアノテーションを追加し、それらを区別するために「name」属性を追加します。

hereあなたはいくつかの情報があります。

関連する問題