0

SpringMVCフォームタグでvalue属性を定義する方法がわかりません。データベースにクエリを実行していますが、データをjspに返したいと思います。リストの形式でオブジェクトをビューに返します。オプションリストと入力ボックスの両方の属性値を書く方法を知りたいです。下に私のコードがあります:

jsp

<form:form id="citizenRegistration" name ="citizenRegistration" method="POST" commandName="citizens" action="citizen_registration.htm">

<li>
<label>Select Gender</label><form:select path="genderId" id="genderId" title="Select Your Gender"><form:options items = "${gender.genderList}" selected=???? itemValue="genderId" itemLabel="genderDesc" />
</form:select><form:errors path="genderId" class="errors"/>
</li>               
                                            <li><form:label for="weight" path="weight">Enter Weight <i>(lbs)</i></form:label>
<form:input path="weight" id="weight" title="Enter Weight" value= ???/><form:errors path="weight" class="errors"/>
</li> 

JavaDao

関数は次を返します:.......................。

   List<Citizens> listOfCitizens = getJdbcTemplate().query(sql, new CitizensMapper());      
    return listOfCitizens;

コントローラ

if (user_request.equals("Query")){
 logger.debug("about to preform query");
 citizenManager.getListOfCitizens(citizen);

 if(citizenManager.getListOfCitizens(citizen).isEmpty()){
    model.addAttribute("icon","ui-icon ui-icon-circle-close");
    model.addAttribute("results","Notice: Query Caused No Records To Be Retrived!");    
  }

//how do i return the List<Citizens> listOfCitizens
//or what should be done to send the user the data from the database
return new ModelAndView("citizen_registration");                    
}   
4

1 に答える 1

1

citizens値は、フォームのcommandName属性によって定義されたモデル オブジェクト (この場合) から取得されます。Spring はそれとpath属性を使用して、フォーム オブジェクトの値を検索します。

valueしたがって、たとえば、属性の値を具体的に指定する必要はありません。

編集:

簡単な例を次に示します。

  @RequestMapping(value = "/editCitizen", method = RequestMethod.GET)
  public String editCitizen(@ModelAttribute("citizen") Citizen citizen, Model model) {
    // set attributes of citizen
    citizen.genderId = "M";
    citizen.weight = 180;
    // etc.

    // set other model attributes like lists for <form:select>s
    model.addAttribute("genderList", <list of genders>);
    return "path.to.my.jsp";
  }

<form:form id="citizenRegistration" name ="citizenRegistration" method="POST" commandName="citizen" action="citizen_registration.htm">
  <form:select path="genderId" items="${genderList}" itemLabel="genderDesc" itemValue="genderId"></form:select>
  <form:input path="weight" id="weight" title="Enter Weight"/>
</form:form>
于 2013-03-04T20:00:47.737 に答える