Aranea—Java Web Framework Construction and Integration Kit

Reference Manual

Jevgeni Kabanov

Rein Raudjärv

Toomas Römer

Taimo Peelo

Martti Tamm

Version 1.2 (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
2.8.4. PopupWindowContext
2.8.5. OverlayContext
2.8.6. MenuContext
2.8.7. ConfirmationContext
2.8.8. ManagedServiceContext, ThreadContext, and TopServiceContext
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.2.6. ConfigurationContext
3.2.7. StateVersioningContext
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. Component Serialization Auditing Filter
3.5.11. Statistics Logging Filter
3.5.12. Browser Window Cloning Filter
3.5.13. Multi-submit Protection Filter
3.5.14. Class Reloading Filter
3.5.15. Client State Serialization Filter
3.5.16. Extension File Import Filter
3.5.17. Bookmarking/URL Mounting Filter
3.5.18. Root Flow Container
3.5.19. Overlay Container
3.5.20. System Form Field Storage Filter
3.5.21. Window Scroll Position Filter
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:importScripts>
4.2.2. <ui:importStyles>
4.2.3. <ui:body>
4.2.4. <ui:systemForm>
4.2.5. <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.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>, <ui:updateRegionRow>, 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:tooltip>
4.9.7. <ui:basicButton>
4.9.8. <ui:basicLinkButton>
4.9.9. <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.1.6. Form validation
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:comboTextInput>
5.2.14. <ui:textInputDisplay>
5.2.15. <ui:numberInput>
5.2.16. <ui:numberInputDisplay>
5.2.17. <ui:floatInput>
5.2.18. <ui:floatInputDisplay>
5.2.19. <ui:passwordInput>
5.2.20. <ui:textDisplay>
5.2.21. <ui:valueDisplay>
5.2.22. <ui:textarea>
5.2.23. <ui:richtextarea>
5.2.24. <ui:richTextAreaInit>
5.2.25. <ui:textareaDisplay>
5.2.26. <ui:hiddenInput>
5.2.27. <ui:checkbox>
5.2.28. <ui:checkboxDisplay>
5.2.29. <ui:fileUpload>
5.2.30. <ui:dateInput>
5.2.31. <ui:dateInputDisplay>
5.2.32. <ui:timeInput>
5.2.33. <ui:timeInputDisplay>
5.2.34. <ui:dateTimeInput>
5.2.35. <ui:dateTimeInputDisplay>
5.2.36. <ui:select>
5.2.37. <ui:selectDisplay>
5.2.38. <ui:multiSelect>
5.2.39. <ui:multiSelectDisplay>
5.2.40. <ui:radioSelect>
5.2.41. <ui:radioSelectItem>
5.2.42. <ui:radioSelectItemLabel>
5.2.43. <ui:checkboxMultiSelect>
5.2.44. <ui:checkboxMultiSelectItem>
5.2.45. <ui:checkboxMultiSelectItemLabel>
5.2.46. <ui:conditionalDisplay>
5.2.47. <ui:conditionFalse>
5.2.48. <ui:conditionTrue>
5.2.49. <ui:listDisplay>
5.2.50. <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.2.6. Quick Overview on How to Use
6.3. Selecting List Rows
6.4. List JSP Tags
6.4.1. <ui:list>
6.4.2. <ui:listFilter>
6.4.3. <ui:listFilterButton> and <ui:listFilterClearButton>
6.4.4. <ui:listRows>
6.4.5. <ui:listRowButton>
6.4.6. <ui:listRowLinkButton>
6.4.7. <ui:listRowCheckBox> And <ui:listRowRadioButton>
6.5. Editable Lists
7. Other Uilib Widgets
7.1. Trees
7.1.1. TreeWidget & TreeNodeWidget
7.1.2. Tree JSP tags
7.2. Tabs
7.2.1. TabContainerWidget
7.2.2. Tab JSP tags
7.3. Context Menu
7.3.1. ContextMenuWidget & ContextMenuItem
7.3.2. Rendering context menus with JSP template
7.4. Partial Rendering
7.4.1. The Two Steps
7.4.2. Partial Rendering Example
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. The DHTML Calendar (http://www.dynarch.com/projects/calendar/)
9.1.2. Prototype (http://www.prototypejs.org/)
9.1.3. script.aculo.us (http://script.aculo.us/)
9.1.4. TinyMCE (http://tinymce.moxiecode.com/)
9.1.5. Prototip (http://www.nickstakenburg.com/projects/prototip/)
9.1.6. ModalBox (http://www.wildbit.com/labs/modalbox/)
9.1.7. log4javascript (http://log4javascript.org/)
9.2. Aranea Clientside Javascript