2011-08-20 113 views
2

我正在學習如何使用Spring和Spring Roo。我有一個場景,我希望能夠在單個頁面上處理多個表單。我的例子是有一個頁面,用戶可以在一個頁面上更新一個人的信息和地址。從數據角度來看,這是兩個不同的實體。使用Spring和Spring Roo的多種形式

這是我的看法。

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<div xmlns:field="urn:jsptagdir:/WEB-INF/tags/form/fields" xmlns:form="urn:jsptagdir:/WEB-INF/tags/form" xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> 
    <jsp:directive.page contentType="text/html;charset=UTF-8"/> 
    <jsp:output omit-xml-declaration="yes"/> 
    <form:update id="fu_com_demo_demodb_Person" idField="personId" modelAttribute="person" path="/people" versionField="Version" z="lAv+o27QE4hkXQtPdKu/YDmF4fo="> 
     <field:simple field="addresses" id="c_com_demo_demodb_Person_addresses" messageCode="entity_reference_not_managed" messageCodeAttribute="Address" z="Qv+QHD5RorE8Zaf6FDT4MO0J55k="/> 
     <field:input field="firstName" id="c_com_demo_demodb_Person_firstName" z="vS8EgEHhso2KgUrCIomUBqF4QLI="/> 
     <field:input field="lastName" id="c_com_demo_demodb_Person_lastName" z="w0qweGLAQxRPJxxAehZxWpoaVsg="/> 
     <field:input field="middleName" id="c_com_demo_demodb_Person_middleName" z="5cuoVeM25fLeZP1PnBA/9Dh13xE="/> 
    </form:update> 
    <form:update id="fu_com_demo_demodb_Address" idField="addressId" modelAttribute="address" path="/addresses" versionField="Version" z="QH/Ew5OSBOxqFzEqNt6Y/qpjF8g="> 
     <field:select field="personId" id="c_com_demo_demodb_Address_personId" itemValue="personId" items="${people}" path="/people" z="ljx4bVEfoA3j/ChDMHPhkKZM4tc="/> 
     <field:input field="line1" id="c_com_demo_demodb_Address_line1" z="VzcJoyGz+Kg9YCf9RPzbQ7IYkbk="/> 
     <field:input field="line2" id="c_com_demo_demodb_Address_line2" z="FxoV1g01MRUJhNNHGyR2obbr1z8="/> 
     <field:input field="city" id="c_com_demo_demodb_Address_city" z="nFaz+RzSUsjxA6pj7O4p6K4Q+2U="/> 
     <field:input field="state" id="c_com_demo_demodb_Address_state" z="idFpXGWkGZvlVI/YOk46rXRu2ZA="/> 
     <field:input field="zipCode" id="c_com_demo_demodb_Address_zipCode" z="sKg1vzHjd5yi/EjhvwI1iXlVY7c="/> 
    </form:update> 
</div> 

我無法弄清楚的是如何創建一個可以正確處理上述視圖的控制器。我不確定如何處理@RooWebScaffold和@RequestMapping。

任何建議或協助將不勝感激。謝謝。

回答

0

正如Ralph所述,您需要首先推入createForm方法。

然後重複的addAttribute線和下面的代碼更改的實體,如:

@RequestMapping(params = "form", method = RequestMethod.GET) 
public String createForm(Model uiModel) { 
    uiModel.addAttribute("person", new Person()); 
    uiModel.addAttribute("address", new Address()); 
    return "person/update"; 
} 

你的觀點應該現在的工作。