- Revision
- 610
- Author
- mauro
- Date
- 2008-04-14 06:19:46 -0500 (Mon, 14 Apr 2008)
Log Message
Added example of multiple select list property to freemarker Person, using Waffle FTL macros.
Modified Paths
- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java
- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model/Person.java
- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/PersistablePerson.java
- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/SimplePersonPersister.java
- trunk/examples/freemarker-example/src/main/webapp/people/editperson.htm
- trunk/examples/freemarker-example/src/main/webapp/people/person.htm
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:
