Aranea—Java Web Framework Construction and Integration Kit

Reference Manual

Jevgeni Kabanov

Rein Raudjärv

Toomas Römer

Taimo Peelo

Version 1.0.11 (Work In Progress)


Table of Contents

1. Introduction
1.1. Overview
1.2. Organization
2. Components, Widgets and Services
2.1. Introduction
2.2. Coding Conventions
2.2.1. Checked versus Unchecked Exceptions
2.2.2. Public versus Framework Interfaces
2.2.3. Components and Their Orthogonal Properties
2.3. Components and Environment
2.3.1. Composite Pattern and Paths
2.3.2. Environment
2.3.3. Messaging Components
2.3.4. State and Synchronization
2.4. InputData and OutputData
2.4.1. Extensions
2.4.2. HttpInputData and HttpOutputData
2.5. Services
2.5.1. Filter Services
2.6. Widgets
2.6.1. ViewModel and Rendering
2.7. Application Widgets
2.7.1. Children Management
2.7.2. Event Listeners
2.7.3. Action Listeners
2.7.4. Environment
2.7.5. Overridable Methods
2.7.6. InputData and OuputData
2.7.7. View Model and Rendering
2.7.8. Putting It All Together
2.8. Standard Contexts
2.8.1. MessageContext
2.8.2. LocalizationContext
2.8.3. FlowContext
3. Framework and Configuration
3.1. Overview
3.2. Application Configuration
3.2.1. web.xml
3.2.2. aranea-conf.xml
3.2.3. aranea-conf.properties
3.2.4. AraneaSpringDispatcherServlet
3.2.5. Extending Dispatcher
3.3. Framework Assembly
3.4. Framework Configuration
3.5. Framework Components
3.5.1. Localization Filter
3.5.2. AJAX Update Regions Filter
3.5.3. Environment Configuration Filter
3.5.4. Critical Exception Handler
3.5.5. File Uploading Filter
3.5.6. HTTP Response Headers Filter
3.5.7. JSP Configuration Filter
3.5.8. User Messages Filter
3.5.9. Popup Windows Filter
3.5.10. Serialization Control Filter
3.5.11. Statistics Logging Filter
3.5.12. Synchronization Filter
3.5.13. Browser Window Cloning Filter
3.5.14. Multi-submit Protection Filter
3.5.15. Class Reloading Filter
3.5.16. Client State Serialization Filter
3.5.17. Extension File Import Filter
3.5.18. Bookmarking/URL Mounting Filter
3.5.19. Root Flow Container
3.6. Other
3.6.1. Extension Resources
4. JSP and Custom Tags
4.1. Aranea Standard Tag Library
4.2. System Tags
4.2.1. <ui:root>
4.2.2. <ui:viewPort>
4.2.3. <ui:importScripts>
4.2.4. <ui:importStyles>
4.2.5. <ui:body>
4.2.6. <ui:systemForm>
4.2.7. <ui:messages>
4.3. Basic Tags
4.3.1. <ui:attribute>
4.3.2. <ui:elementContent>
4.3.3. <ui:element>
4.3.4. <ui:keyboardHandler>
4.3.5. <ui:eventKeyboardHandler>
4.4. Widget Tags
4.4.1. <ui:widgetContext>
4.4.2. <ui:widget>
4.4.3. <ui:widgetInclude>
4.4.4. <ui:globalWidgetInclude>
4.5. Event-producing Tags
4.5.1. <ui:eventButton> and <ui:eventLinkButton>
4.5.2. <ui:onLoadEvent>
4.5.3. <ui:registerPopups>
4.6. HTML entity Tags
4.6.1. Predefined entity tags
4.7. Putting Widgets to Work with JSP
4.8. Layout Tags
4.8.1. <ui:layout>
4.8.2. <ui:row>
4.8.3. <ui:cell>
4.8.4. <ui:updateRegion> and <ui:updateRegionRows>
4.9. Presentation Tags
4.9.1. <ui:bold>
4.9.2. <ui:italic>
4.9.3. <ui:font>
4.9.4. <ui:style>
4.9.5. <ui:newline>
4.9.6. <ui:basicButton>
4.9.7. <ui:basicLinkButton>
4.9.8. <ui:link>
4.10. Programming JSPs without HTML
4.11. Customizing Tag Styles
4.12. Making New JSP Tags
4.12.1. Utilities and base classes
4.12.2. Inheriting tag attributes from base tags.
4.12.3. Widgets and events
4.12.4. Layouts
5. Forms and Data Binding
5.1. Forms
5.1.1. FormWidget
5.1.2. Controls
5.1.3. Constraints
5.1.4. Data
5.1.5. Converters
5.2. Forms JSP Tags
5.2.1. Common attributes for all form element rendering tags.
5.2.2. <ui:form>
5.2.3. <ui:formElement>
5.2.4. <ui:label>
5.2.5. <ui:simpleLabel>
5.2.6. <ui:button>
5.2.7. <ui:linkButton>
5.2.8. <ui:formKeyboardHandler>
5.2.9. <ui:formEnterKeyboardHandler>
5.2.10. <ui:formEscapeKeyboardHandler>
5.2.11. <ui:textInput>
5.2.12. <ui:autoCompleteTextInput>
5.2.13. <ui:textInputDisplay>
5.2.14. <ui:numberInput>
5.2.15. <ui:numberInputDisplay>
5.2.16. <ui:floatInput>
5.2.17. <ui:floatInputDisplay>
5.2.18. <ui:passwordInput>
5.2.19. <ui:textDisplay>
5.2.20. <ui:valueDisplay>
5.2.21. <ui:textarea>
5.2.22. <ui:richtextarea>
5.2.23. <ui:richTextAreaInit>
5.2.24. <ui:textareaDisplay>
5.2.25. <ui:hiddenInput>
5.2.26. <ui:checkbox>
5.2.27. <ui:checkboxDisplay>
5.2.28. <ui:fileUpload>
5.2.29. <ui:dateInput>
5.2.30. <ui:dateInputDisplay>
5.2.31. <ui:timeInput>
5.2.32. <ui:timeInputDisplay>
5.2.33. <ui:dateTimeInput>
5.2.34. <ui:dateTimeInputDisplay>
5.2.35. <ui:select>
5.2.36. <ui:selectDisplay>
5.2.37. <ui:multiSelect>
5.2.38. <ui:multiSelectDisplay>
5.2.39. <ui:radioSelect>
5.2.40. <ui:radioSelectItem>
5.2.41. <ui:radioSelectItemLabel>
5.2.42. <ui:checkboxMultiSelect>
5.2.43. <ui:checkboxMultiSelectItem>
5.2.44. <ui:checkboxMultiSelectItemLabel>
5.2.45. <ui:conditionalDisplay>
5.2.46. <ui:conditionFalse>
5.2.47. <ui:conditionTrue>
5.2.48. <ui:listDisplay>
5.2.49. <ui:automaticFormElement>
5.3. Form Lists
5.3.1. FormListWidget
5.3.2. FormListUtil
5.3.3. Form Row Handlers
5.3.4. Models
5.3.5. In Memory Form List
5.4. Form Lists JSP Tags
5.4.1. <ui:formList>
5.4.2. <ui:formListRows>
5.4.3. <ui:formListAddForm>
6. Lists and Query Browsing
6.1. Introduction
6.2. Lists API
6.2.1. A Typical List
6.2.2. Fields
6.2.3. Ordering
6.2.4. Filtering
6.2.5. Backend Data Provider
6.3. List JSP Tags
6.3.1. <ui:list>
6.3.2. <ui:listFilter>
6.3.3. <ui:listFilterButton> and <ui:listFilterClearButton>
6.3.4. <ui:listRows>
6.3.5. <ui:listRowButton>
6.3.6. <ui:listRowLinkButton>
6.4. Editable Lists
7. Trees
7.1. TreeWidget & TreeNodeWidget
7.2. Tree JSP tags
7.2.1. <ui:tree>
8. Third-party Integration
8.1. Spring Application Framework
8.1.1. BeanFactory, ApplicationContext, WebApplicationContext
8.1.2. Spring Localization Filter
8.1.3. Widget Dependency Injection
9. Javascript Libraries
9.1. Third-party Javascript Libraries
9.1.1. Behaviour (http://bennolan.com/behaviour/)
9.1.2. AjaxAnywhere (http://ajaxanywhere.sourceforge.net/)
9.1.3. The DHTML Calendar (http://www.dynarch.com/projects/calendar/)
9.1.4. Prototype (http://www.prototypejs.org/)
9.1.5. script.aculo.us (http://script.aculo.us/)
9.1.6. TinyMCE (http://tinymce.moxiecode.com/)
9.1.7. log4javascript (http://www.timdown.co.uk/log4javascript/)
9.2. Aranea Clientside Javascript