Title: [waffle-scm] [610] trunk/examples/freemarker-example/src/main/webapp/people: Added example of multiple select list property to freemarker Person, using Waffle FTL macros.

Diff

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java (609 => 610)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java	2008-04-14 11:14:11 UTC (rev 609)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java	2008-04-14 11:19:46 UTC (rev 610)
@@ -1,6 +1,7 @@
 package org.codehaus.waffle.example.freemarker.controller;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
@@ -12,6 +13,7 @@
     private final PersonPersister persister;
     private Person person;
     private List<String> selectedIds = new ArrayList<String>();
+    private List<String> skills = Arrays.asList("Magician", "Apprentice");
     
     public PersonController(PersonPersister persister) {
         this.persister = persister;
@@ -69,4 +71,8 @@
         this.person = person;
     }
 
+    public List<String> getSkills() {
+        return skills;
+    }
+    
 }

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model/Person.java (609 => 610)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model/Person.java	2008-04-14 11:14:11 UTC (rev 609)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model/Person.java	2008-04-14 11:19:46 UTC (rev 610)
@@ -1,6 +1,7 @@
 package org.codehaus.waffle.example.freemarker.model;
 
 import java.util.Date;
+import java.util.List;
 
 public interface Person {
 
@@ -14,4 +15,6 @@
 
     public Date getDateOfBirth();
 
+    public List<String> getSkills();
+    
 }

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/PersistablePerson.java (609 => 610)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/PersistablePerson.java	2008-04-14 11:14:11 UTC (rev 609)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/PersistablePerson.java	2008-04-14 11:19:46 UTC (rev 610)
@@ -1,16 +1,19 @@
 package org.codehaus.waffle.example.freemarker.persister;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import org.codehaus.waffle.example.freemarker.model.Person;
 
 public class PersistablePerson implements Person {
-    
+
     private Long id;
     private String firstName;
     private String lastName;
     private String email;
     private Date dateOfBirth;
+    private List<String> skills;
 
     public PersistablePerson() {
         id = new Long(0);
@@ -18,6 +21,7 @@
         lastName = "";
         email = "";
         dateOfBirth = new Date();
+        skills = new ArrayList<String>();
     }
 
     public PersistablePerson(Person person) {
@@ -26,6 +30,7 @@
         this.lastName = person.getLastName();
         this.email = person.getEmail();
         this.dateOfBirth = person.getDateOfBirth();
+        this.skills = person.getSkills();
     }
 
     public Long getId() {
@@ -67,4 +72,18 @@
     public void setDateOfBirth(Date dateOfBirth) {
         this.dateOfBirth = dateOfBirth;
     }
+
+    public List<String> getSkills() {
+        return skills;
+    }
+
+    public void setSkills(List<String> skills) {
+        this.skills = skills;
+    }
+    
+    @Override
+    public String toString() {
+        return "Person "+firstName+" has skills "+skills;
+    }
+    
 }

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/SimplePersonPersister.java (609 => 610)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/SimplePersonPersister.java	2008-04-14 11:14:11 UTC (rev 609)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/SimplePersonPersister.java	2008-04-14 11:19:46 UTC (rev 610)
@@ -45,6 +45,7 @@
                 ((PersistablePerson)person).setId(++COUNT);
             }
             map.put(person.getId(), person);
+            System.out.println("Saved "+person);
         }
     }
 

Modified: trunk/examples/freemarker-example/src/main/webapp/people/editperson.htm (609 => 610)

--- trunk/examples/freemarker-example/src/main/webapp/people/editperson.htm	2008-04-14 11:14:11 UTC (rev 609)
+++ trunk/examples/freemarker-example/src/main/webapp/people/editperson.htm	2008-04-14 11:19:46 UTC (rev 610)
@@ -1,3 +1,4 @@
+<#import "/ftl/waffle.ftl" as w>
 <div class="editContainer" xmlns="http://www.w3.org/1999/xhtml">
 
     <h3>Edit Person</h3>
@@ -32,6 +33,11 @@
         <input type="text" name="person.email" id="person.email" value="${person.email}"/>
         <br style="clear:both"/>
     </div>
+    <div class="fieldRow">
+        <label for=""
+        <@w.selectMultiple "person.skills" controller.getSkills() person.getSkills() "size='5'"/>
+        <br style="clear:both"/>
+    </div>
     <!-- TODO fix freemarker exception when submitting date
     <div class="fieldRow">
         <label for="" Of Birth:</label>

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

--- trunk/examples/freemarker-example/src/main/webapp/people/person.htm	2008-04-14 11:14:11 UTC (rev 609)
+++ trunk/examples/freemarker-example/src/main/webapp/people/person.htm	2008-04-14 11:19:46 UTC (rev 610)
@@ -1,3 +1,4 @@
+<#import "/ftl/waffle.ftl" as w>
 <?xml version="1.0" encoding="UTF-8"?>
 <html xmlns="http://www.w3.org/1999/xhtml">
 
@@ -26,6 +27,7 @@
             <th>Last Name</th>
             <th>Email</th>
             <th>Date of Birth</th>
+            <th>Skills</th>
             <th>Select</th>
         </tr>
         <#list people as person>
@@ -37,6 +39,7 @@
                 <td>${person.lastName}</td>
                 <td>${person.email}</td>
                 <td>${person.dateOfBirth?string("dd-MM-yyyy")}</td>
+                <td><@w.asCSV person.getSkills() /> </p></td>
                 <td><input type="checkbox" name="selectedIds" id="selectedIds" value="${person.id}"/></td>
             </tr>
         </#list>


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to