2017-01-11 5 views
0

を提出した後、私は私が塗りつぶされた値を入れています春フォーム:私のnullでない値は、フォーム

  • 休止
  • Apacheのタイル
  • JSTL

を使用していますnullになり、私の形式で

@RequestMapping(value = "/create") 
public String createInsuranceType(Model model, HttpServletRequest request) { 
    InsuranceType insuranceType = new InsuranceType(); 
    InsuranceCompany insuranceCompany = insuranceCompanyService 
      .getInsuranceCompanyById(Long.parseLong(request.getParameter("id"))); 
    insuranceType.setInsuranceCompany(insuranceCompany); 
    model.addAttribute("insuranceType", insuranceType); 
    System.out.println(insuranceType); 
    return "insurancetype-create"; 
} 

そして、これは私のコンソール出力JSPファイル内

InsuranceType [id=0, type=null, insuranceCompany=InsuranceCompany [id=1, fullName=full, shortName=short]] 

そして、私の形である私だけのタイプの値を記入したいと思いますが、私はそれがあるように私のinsuranceCompanyが滞在したいです。マイ形式:

<sf:form method="post" 
    action="${pageContext.request.contextPath}/insurancetype/create" 
    commandName="insuranceType" id="insuranceTypeForm" class="col s12"> 
    <sf:hidden path="id" /> 
    <div class="row"> 
     <div class="input-field col s6"> 
      <sf:input path="type" id="type" type="text" class="validate" /> 
      <label for="type">Insurance Type</label> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col s12"> 
      <c:choose> 
       <c:when test="${insuranceType.id < 1}"> 
        <a onclick="document.getElementById('insuranceTypeForm').submit()" 
         class="waves-effect waves-light btn"><i 
         class="material-icons right">save</i>Zapisz</a> 
       </c:when> 
       <c:otherwise> 
        <a onclick="document.getElementById('insuranceTypeForm').submit()" 
         class="waves-effect waves-light btn"><i 
         class="material-icons right">edit</i>Edytuj</a> 
       </c:otherwise> 
      </c:choose> 
     </div> 
    </div> 
</sf:form> 

そして、私の出力は次のようになります提出後:

InsuranceType [id=0, type=test value, insuranceCompany=null] 

マイPOSTコントローラ

@RequestMapping(value = "/create", method = RequestMethod.POST) 
public String insuranceTypeCreated(@ModelAttribute("insuranceType") InsuranceType insuranceType, 
     @RequestParam("id") long id) { 
    System.out.println(insuranceType); 
    insuranceTypeService.insertOrUpdateInsuranceType(insuranceType); 
    if (id < 1) 
     return "redirect:/insurancecompany/list"; 
    else 
     return "redirect:/insurancetype/list"; 
} 

私は

<sf:hidden path="insuranceCompany" /> 

しかし、それは返すようなものを試してみましたエラー

HTTP Status 400 - 

type Status report 

message 

description The request sent by the client was syntactically incorrect. 

Apache Tomcat/8.0.39 

答えて

0

sf:formタグにmodelAttribute="insuranceType"を使用してください。

+0

これはうまくいかないが、返答いただきありがとうございます:) – mirka

関連する問題