Title: [waffle-scm] [604] trunk/examples/freemarker-example/src/main/webapp/people: Updated freemarker example to use multiple-selection.

Diff

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/action/PersonController.java (603 => 604)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/action/PersonController.java	2008-04-02 18:48:16 UTC (rev 603)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/action/PersonController.java	2008-04-02 19:19:50 UTC (rev 604)
@@ -3,12 +3,15 @@
 import org.codehaus.waffle.example.freemarker.dao.PersonDAO;
 import org.codehaus.waffle.example.freemarker.model.Person;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 public class PersonController {
     private final PersonDAO personDAO;
     private Person person;
-
+    private List<String> selectedIds = new ArrayList<String>();
+    
     public PersonController(PersonDAO personDAO) {
         this.personDAO = personDAO;
     }
@@ -17,6 +20,22 @@
         return personDAO.findAll();
     }
 
+    public List<String> getSelectedIds(){
+        return selectedIds;
+    }
+    
+    public void setSelectedIds(List<String> ids){
+        selectedIds = ids;
+    }
+
+    public Collection<Person> getSelectedPeople() {
+        List<Person> selected = new ArrayList<Person>();
+        for ( String id : selectedIds ){
+            selected.add(personDAO.findById(Long.parseLong(id)));
+        }
+        return selected;
+    }
+    
     public void remove(Long personId) {
         personDAO.delete(personId);
     }
@@ -25,6 +44,10 @@
         this.person = personDAO.findById(id);
     }
 
+    public void show() {
+        //do nothing:  the selected Ids and people are automatically populated
+    }
+    
     public void save() {
         personDAO.save(person);
     }

Modified: trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml (603 => 604)

--- trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml	2008-04-02 18:48:16 UTC (rev 603)
+++ trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml	2008-04-02 19:19:50 UTC (rev 604)
@@ -16,6 +16,11 @@
         <param-name>org.codehaus.waffle.action.MethodDefinitionFinder</param-name>
         <param-value>org.codehaus.waffle.action.ParanamerMethodDefinitionFinder</param-value>
     </context-param>
+    <context-param>  
+    	<param-name>register:ListValueConverter</param-name>  
+    	<param-value>org.codehaus.waffle.bind.converters.ListValueConverter</param-value>  
+  	</context-param>  
+  
 
     <!-- 3. Waffle context listener (ServletContext and HttpSession) -->
     <listener>

Modified: trunk/examples/freemarker-example/src/main/webapp/people/person.htm (603 => 604)

--- trunk/examples/freemarker-example/src/main/webapp/people/person.htm	2008-04-02 18:48:16 UTC (rev 603)
+++ trunk/examples/freemarker-example/src/main/webapp/people/person.htm	2008-04-02 19:19:50 UTC (rev 604)
@@ -26,6 +26,7 @@
             <th>Last Name</th>
             <th>Email</th>
             <th>Date of Birth</th>
+            <th>Select</th>
         </tr>
         <#list people as person>
             <tr class="odd">
@@ -36,12 +37,24 @@
                 <td>${person.lastName}</td>
                 <td>${person.email}</td>
                 <td>${person.dateOfBirth?string("dd-MM-yyyy")}</td>
+                <td><input type="checkbox" name="selectedIds" id="selectedIds" value="${person.id}"/></td>
             </tr>
         </#list>
     </table>
 
-    <a href=""
+    <a href="" <a href="" Selected</a>
 
+    <div id="showArea">
+    	Selected people are:
+        <table>
+        <#list selectedPeople as person>
+	        <tr class="odd">
+                <td>${person.firstName} ${person.lastName} (${person.id})</td>
+            </tr>
+        </#list>
+        </table>
+	</div>
+
     <!-- Example of partial page -->
     <div id="editArea">
       <#if person?exists>


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to