JBoss Enterprise Web Platform 5
for use with JBoss Enterprise Web Platform 5
Edition 5.1.1
Legal Notice
Copyright © 2011 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Abstract
This book is a Reference Guide for JBoss Enterprise Web Platform 5 and its patch releases.
- Preface
- 1. Seam Tutorial
- 1.1. Using the Seam examples
- 1.2. Your first Seam application: the registration example
- 1.3. Clickable lists in Seam: the messages example
- 1.4. Seam and jBPM: the todo list example
- 1.5. Seam pageflow: the numberguess example
- 1.6. A complete Seam application: the Hotel Booking example
- 1.7. Nested conversations: extending the Hotel Booking example
- 1.8. A complete application featuring Seam and jBPM: the DVD Store example
- 1.9. Bookmarkable URLs with the Blog example
- 2. Migration
- 3. Getting started with Seam, using seam-gen
- 3.1. Before you start
- 3.2. Setting up a new project
- 3.3. Creating a new action
- 3.4. Creating a form with an action
- 3.5. Generating an application from an existing database
- 3.6. Generating an application from existing JPA/EJB3 entities
- 3.7. Deploying the application as an
EAR - 3.8. Seam and incremental hot deployment
- 4. Getting started with Seam, using JBoss Developer Studio
- 5. The contextual component model
- 6. Configuring Seam components
- 7. Events, interceptors and exception handling
- 7.1. Seam events
- 7.2. Page actions
- 7.3. Page parameters
- 7.4. Propagating request parameters
- 7.5. URL rewriting with page parameters
- 7.6. Conversion and Validation
- 7.7. Navigation
- 7.8. Fine-grained files for defining navigation, page actions and parameters
- 7.9. Component-driven events
- 7.10. Contextual events
- 7.11. Seam interceptors
- 7.12. Managing exceptions
- 8. Conversations and workspace management
- 8.1. Seam's conversation model
- 8.2. Nested conversations
- 8.3. Starting conversations with GET requests
- 8.4. Requiring a long-running conversation
- 8.5. Using
<s:link>and<s:button> - 8.6. Success messages
- 8.7. Natural conversation IDs
- 8.8. Creating a natural conversation
- 8.9. Redirecting to a natural conversation
- 8.10. Workspace management
- 8.11. Conversational components and JSF component bindings
- 8.12. Concurrent calls to conversational components
- 9. Pageflows and business processes
- 10. Seam and Object/Relational Mapping
- 11. JSF form validation in Seam
- 12. Groovy integration
- 13. The Seam Application Framework
- 14. Seam and JBoss Rules
- 15. Security
- 15.1. Overview
- 15.2. Disabling Security
- 15.3. Authentication
- 15.4. Identity Management
- 15.5. Error Messages
- 15.6. Authorization
- 15.6.1. Core concepts
- 15.6.2. Securing components
- 15.6.3. Security in the user interface
- 15.6.4. Securing pages
- 15.6.5. Securing Entities
- 15.6.6. Typesafe Permission Annotations
- 15.6.7. Typesafe Role Annotations
- 15.6.8. The Permission Authorization Model
- 15.6.9. RuleBasedPermissionResolver
- 15.6.10. PersistentPermissionResolver
- 15.7. Permission Management
- 15.8. SSL Security
- 15.9. CAPTCHA
- 15.10. Security Events
- 15.11. Run As
- 15.12. Extending the Identity component
- 15.13. OpenID
- 16. Internationalization, localization and themes
- 17. Seam Text
- 18. iText PDF generation
- 19. The Microsoft® Excel® spreadsheet application
- 19.1. Microsoft Excel support
- 19.2. Creating a simple workbook
- 19.3. Workbooks
- 19.4. Worksheets
- 19.5. Columns
- 19.6. Cells
- 19.7. Formulas
- 19.8. Images
- 19.9. Hyperlinks
- 19.10. Headers and footers
- 19.11. Print areas and titles
- 19.12. Worksheet Commands
- 19.13. Datatable exporter
- 19.14. Fonts and layout
- 19.15. Internationalization
- 19.16. Links and further documentation
- 20. Email
- 21. Asynchronicity and messaging
- 22. Caching
- 23. Web Services
- 24. Remoting
- 24.1. Configuration
- 24.2. The
Seamobject - 24.3. Evaluating EL Expressions
- 24.4. Client Interfaces
- 24.5. The Context
- 24.6. Batch Requests
- 24.7. Working with Data types
- 24.8. Debugging
- 24.9. Handling Exceptions
- 24.10. The Loading Message
- 24.11. Controlling what data is returned
- 24.12. Transactional Requests
- 24.13. JMS Messaging
- 25. Seam and the Google Web Toolkit
- 26. Spring Framework integration
- 26.1. Injecting Seam components into Spring beans
- 26.2. Injecting Spring beans into Seam components
- 26.3. Making a Spring bean into a Seam component
- 26.4. Seam-scoped Spring beans
- 26.5. Using Spring PlatformTransactionManagement
- 26.6. Using a Seam-Managed Persistence Context in Spring
- 26.7. Using a Seam-Managed Hibernate Session in Spring
- 26.8. Spring Application Context as a Seam Component
- 26.9. Using a Spring TaskExecutor for
@Asynchronous
- 27. Hibernate Search
- 28. Configuring Seam and packaging Seam applications
- 28.1. Basic Seam configuration
- 28.2. Using Alternate JPA Providers
- 28.3. Configuring Seam in Java EE 5
- 28.4. Configuring Seam in J2EE
- 28.5. Configuring Seam in Java SE, without JBoss Embedded
- 28.6. Configuring Seam in Java SE, with JBoss Embedded
- 28.7. Configuring jBPM in Seam
- 28.8. Configuring SFSB and Session Timeouts in JBoss AS
- 28.9. Running Seam in a Portlet
- 28.10. Deploying custom resources
- 29. Seam annotations
- 29.1. Annotations for component definition
- 29.2. Annotations for bijection
- 29.3. Annotations for component lifecycle methods
- 29.4. Annotations for context demarcation
- 29.5. Annotations for use with Seam JavaBean components in a J2EE environment
- 29.6. Annotations for exceptions
- 29.7. Annotations for Seam Remoting
- 29.8. Annotations for Seam interceptors
- 29.9. Annotations for asynchronicity
- 29.10. Annotations for use with JSF
- 29.11. Meta-annotations for databinding
- 29.12. Annotations for packaging
- 29.13. Annotations for integrating with the Servlet container
- 30. Built-in Seam components
- 30.1. Context injection components
- 30.2. JSF-related components
- 30.3. Utility components
- 30.4. Components for internationalization and themes
- 30.5. Components for controlling conversations
- 30.6. jBPM-related components
- 30.7. Security-related components
- 30.8. JMS-related components
- 30.9. Mail-related components
- 30.10. Infrastructural components
- 30.11. Miscellaneous components
- 30.12. Special components
- 31. Seam JSF controls
- 32. JBoss EL
- 33. Clustering and EJB Passivation
- 34. Performance Tuning
- 35. Testing Seam applications
- 36. Seam tools
- 37. Dependencies
- A. Revision History