Download presentation
Presentation is loading. Please wait.
Published byJanice Payne Modified over 8 years ago
1
Form Builder Tomáš Černý Michael J. Donahoo Eunjee Song Department of Computer Science Baylor University, Waco, TX
2
Content ➲ Introduction ➲ Background ➲ Manual form generation ➲ Tool ➲ Example ➲ Related work ➲ Conclusion
3
Introduction Java EE web applications JSF, Seam, Hibernate Entity beans determine view forms Manual form development is error-prone and tedious Developer consistency Weak type safety in view Properties propagation Entity bean inconsistency with view form Form auto-generation by our tool Client-side validation
4
Background ➲ Java Platform, Enterprise Edition (Java EE) Presentation tier - JSF Business tier – Session bean Persistence tier – Entity bean ➲ Java Server Faces (JSF) Rich user interface on server side Components ➲ Facelets (XHTML) Templating framework ➲ Enterprise JavaBeans (EJB) Distributed applications
5
Manual form generation ➲ What we want to create? read-only and editable form
6
Manual form development ➲ What do I need to know? Field - component mapping Horizontal properties field type ► component type Integer ► inputNumber component Vertical properties field annotation ► component type String ► @Password ► inputPassword mapping condition String ► length > 255 ► inputTextArea
7
Tool ➲ Java Application XML configuration Mapping field ► component template Template-based form generation Developer can use his favorite view components Component libraries – client-side validation
8
Tool
9
Example @Entity @Table(name = “person”) public class Person { private String name; @NotNull @Length(max=100) public String getName() { return name; } public void setName(String name) { this.name = name; }
10
Example <rb:inputTextid="$id" edit="#{editable}" value="#{$value}" label="$label" size="$size" maxlength="$maxlength" required="$required"/>
11
Example <rb:inputTextid="name" edit="#{editable}" value="#{bean.name}" label="Name:" size="30" maxlength="100" required="true"/>
12
Related Work ➲ Manual graphical form development ➲ Seam-gen (entire application) ➲ Naked objects (entire application) ➲ Direct to web (entire application) ➲ FileMaker
13
Conclusion Contribution ➲ New tool for JSF applications ➲ New development style ➲ Significant development time decrease ➲ Client-side validation Future work ➲ Use the idea in Model Driven Development ➲ Extend tool for table generation ➲ Extend tool for test generation ➲ New client-side validation (lower X greater)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.