- Revision
- 604
- Author
- mauro
- Date
- 2008-04-02 14:19:50 -0500 (Wed, 02 Apr 2008)
Log Message
Updated freemarker example to use multiple-selection.
Modified Paths
- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/action/PersonController.java
- trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml
- trunk/examples/freemarker-example/src/main/webapp/people/person.htm
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:
