Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

  




 

 

JBoss Enterprise Application Platform 4.3

Seam Reference Guide CP04

for Use with JBoss Enterprise Application Platform 4.3 Cumulative Patch 4

Edition 2.0

Written By: Gavin King, Christian Bauer, Norman Richards, Shane Bryzak, Pete Muir, Emmanuel Bernard, Max Andersen, Michael Youngstrom, Thomas Heute, Michael Yuan

Japanese Translation: Fusayuki Minamoto, Takayoshi Kimura, Takayoshi Osawa, Reiko Ohtsuka, Syunpei Shiraishi, Toshiya Kobayashi, Shigeaki Wakizaka, Ken Yamada, Noriko Mizumoto


Legal Notice

Copyright © 2008 Red Hat, Inc. This material may only be distributed subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version of the OPL is presently available at http://www.opencontent.org/openpub/).
Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.
All other trademarks referenced herein are the property of their respective owners.


1801 Varsity Drive
RaleighNC 27606-2072 USA
Phone: +1 919 754 3700
Phone: 888 733 4281
Fax: +1 919 754 3701
PO Box 13588 Research Triangle ParkNC 27709 USA

Sep, 2007
Abstract
This book is a Reference Guide to Seam 1.2 for JBoss Enterprise Application Platform 4.3.

1. Feedback
Introduction to JBoss Seam
2. Seam Tutorial
2.1. Try the examples
2.1.1. Running the examples on JBoss AS
2.1.2. Running the examples on Tomcat
2.1.3. Running the example tests
2.2. Your first Seam application: the registration example
2.2.1. Understanding the code
2.2.2. How it works
2.3. Clickable lists in Seam: the messages example
2.3.1. Understanding the code
2.3.2. How it works
2.4. Seam and jBPM: the todo list example
2.4.1. Understanding the code
2.4.2. How it works
2.5. Seam pageflow: the numberguess example
2.5.1. Understanding the code
2.5.2. How it works
2.6. A complete Seam application: the Hotel Booking example
2.6.1. Introduction
2.6.2. Overview of the booking example
2.6.3. Understanding Seam conversations
2.6.4. The Seam UI control library
2.6.5. The Seam Debug Page
2.7. A complete application featuring Seam and jBPM: the DVD Store example
2.8. A complete application featuring Seam workspace management: the Issue Tracker example
2.9. An example of Seam with Hibernate: the Hibernate Booking example
2.10. A RESTful Seam application: the Blog example
2.10.1. Using "pull"-style MVC
2.10.2. Bookmarkable search results page
2.10.3. Using "push"-style MVC in a RESTful application
3. The contextual component model
3.1. Seam contexts
3.1.1. Stateless context
3.1.2. Event context
3.1.3. Page context
3.1.4. Conversation context
3.1.5. Session context
3.1.6. Business process context
3.1.7. Application context
3.1.8. Context variables
3.1.9. Context search priority
3.1.10. Concurrency model
3.2. Seam components
3.2.1. Stateless session beans
3.2.2. Stateful session beans
3.2.3. Entity beans
3.2.4. JavaBeans
3.2.5. Message-driven beans
3.2.6. Interception
3.2.7. Component names
3.2.8. Defining the component scope
3.2.9. Components with multiple roles
3.2.10. Built-in components
3.3. Bijection
3.4. Lifecycle methods
3.5. Conditional installation
3.6. Logging
3.7. The Mutable interface and @ReadOnly
3.8. Factory and manager components
4. Configuring Seam components
4.1. Configuring components via property settings
4.2. Configuring components via components.xml
4.3. Fine-grained configuration files
4.4. Configurable property types
4.5. Using XML Namespaces
5. Events, interceptors and exception handling
5.1. Seam events
5.1.1. Page actions
5.1.2. Component-driven events
5.1.3. Contextual events
5.2. Seam interceptors
5.3. Managing exceptions
5.3.1. Exceptions and transactions
5.3.2. Enabling Seam exception handling
5.3.3. Using annotations for exception handling
5.3.4. Using XML for exception handling
6. Conversations and workspace management
6.1. Seam's conversation model
6.2. Nested conversations
6.3. Starting conversations with GET requests
6.4. Using <s:link> and <s:button>
6.5. Success messages
6.6. Using an "explicit" conversation id
6.7. Workspace management
6.7.1. Workspace management and JSF navigation
6.7.2. Workspace management and jPDL pageflow
6.7.3. The conversation switcher
6.7.4. The conversation list
6.7.5. Breadcrumbs
6.8. Conversational components and JSF component bindings
7. Pageflows and business processes
7.1. Pageflow in Seam
7.1.1. The two navigation models
7.1.2. Seam and the back button
7.2. Using jPDL pageflows
7.2.1. Installing pageflows
7.2.2. Starting pageflows
7.2.3. Page nodes and transitions
7.2.4. Controlling the flow
7.2.5. Ending the flow
7.3. Business process management in Seam
7.4. Using jPDL business process definitions
7.4.1. Installing process definitions
7.4.2. Initializing actor ids
7.4.3. Initiating a business process
7.4.4. Task assignment
7.4.5. Task lists
7.4.6. Performing a task
8. Seam and Object/Relational Mapping
8.1. Introduction
8.2. Seam managed transactions
8.2.1. Enabling Seam-managed transactions
8.3. Seam-managed persistence contexts
8.3.1. Using a Seam-managed persistence context with JPA
8.3.2. Using a Seam-managed Hibernate session
8.3.3. Seam-managed persistence contexts and atomic conversations
8.4. Using the JPA "delegate"
8.5. Using EL in EJB-QL/HQL
8.6. Using Hibernate filters
9. JSF form validation in Seam
10. The Seam Application Framework
10.1. Introduction
10.2. Home objects
10.3. Query objects
10.4. Controller objects
11. Seam and JBoss Rules
11.1. Installing rules
11.2. Using rules from a Seam component
11.3. Using rules from a jBPM process definition
12. Security
12.1. Overview
12.1.1. Which mode is right for my application?
12.2. Requirements
12.3. Authentication
12.3.1. Configuration
12.3.2. Writing an authentication method
12.3.3. Writing a login form
12.3.4. Simplified Configuration - Summary
12.3.5. Handling Security Exceptions
12.3.6. Login Redirection
12.3.7. Advanced Authentication Features
12.4. Error Messages
12.5. Authorization
12.5.1. Core concepts
12.5.2. Securing components
12.5.3. Security in the user interface
12.5.4. Securing pages
12.5.5. Securing Entities
12.6. Writing Security Rules
12.6.1. Permissions Overview
12.6.2. Configuring a rules file
12.6.3. Creating a security rules file
12.7. SSL Security
12.8. Implementing a Captcha Test
12.8.1. Configuring the Captcha Servlet
12.8.2. Adding a Captcha to a page
13. Internationalization and themes
13.1. Locales
13.2. Labels
13.2.1. Defining labels
13.2.2. Displaying labels
13.2.3. Faces messages
13.3. Timezones
13.4. Themes
13.5. Persisting locale and theme preferences via cookies
14. Seam Text
14.1. Basic fomatting
14.2. Entering code and text with special characters
14.3. Links
14.4. Entering HTML
15. iText PDF generation
15.1. Using PDF Support
15.2. Creating a document
15.2.1. p:document
15.3. Basic Text Elements
15.3.1. p:paragraph
15.3.2. p:text
15.3.3. p:font
15.3.4. p:newPage
15.3.5. p:image
15.3.6. p:anchor
15.4. Headers and Footers
15.4.1. p:header and p:footer
15.4.2. p:pageNumber
15.5. Chapters and Sections
15.5.1. p:chapter and p:section
15.5.2. p:title
15.6. Lists
15.6.1. p:list
15.6.2. p:listItem
15.7. Tables
15.7.1. p:table
15.7.2. p:cell
15.8. Document Constants
15.8.1. Color Values
15.8.2. Alignment Values
15.9. Configuring iText
15.10. iText links
16. Email
16.1. Creating a message
16.1.1. Attachments
16.1.2. HTML/Text alternative part
16.1.3. Multiple recipients
16.1.4. Multiple messages
16.1.5. Templating
16.1.6. Internationalisation
16.1.7. Other Headers
16.2. Receiving emails
16.3. Configuration
16.3.1. mailSession
16.4. Tags
17. Asynchronicity and messaging
17.1. Asynchronicity
17.1.1. Asynchronous methods
17.1.2. Asynchronous events
17.2. Messaging in Seam
17.2.1. Configuration
17.2.2. Sending messages
17.2.3. Receiving messages using a message-driven bean
17.2.4. Receiving messages in the client
18. Caching
18.1. Using JBossCache in Seam
18.2. Page fragment caching
19. Remoting
19.1. Configuration
19.2. The "Seam" object
19.2.1. A Hello World example
19.2.2. Seam.Component
19.2.3. Seam.Remoting
19.3. Client Interfaces
19.4. The Context
19.4.1. Setting and reading the Conversation ID
19.5. Batch Requests
19.6. Working with Data types
19.6.1. Primitives / Basic Types
19.6.2. JavaBeans
19.6.3. Dates and Times
19.6.4. Enums
19.6.5. Collections
19.7. Debugging
19.8. The Loading Message
19.8.1. Changing the message
19.8.2. Hiding the loading message
19.8.3. A Custom Loading Indicator
19.9. Controlling what data is returned
19.9.1. Constraining normal fields
19.9.2. Constraining Maps and Collections
19.9.3. Constraining objects of a specific type
19.9.4. Combining Constraints
19.10. JMS Messaging
19.10.1. Configuration
19.10.2. Subscribing to a JMS Topic
19.10.3. Unsubscribing from a Topic
19.10.4. Tuning the Polling Process
20. Spring Framework integration
20.1. Injecting Seam components into Spring beans
20.2. Injecting Spring beans into Seam components
20.3. Making a Spring bean into a Seam component
20.4. Seam-scoped Spring beans
20.5. Spring Application Context as a Seam Component
21. Configuring Seam and packaging Seam applications
21.1. Basic Seam configuration
21.1.1. Integrating Seam with JSF and your servlet container
21.1.2. Seam Resource Servlet
21.1.3. Seam servlet filters
21.1.4. Integrating Seam with your EJB container
21.1.5. Using facelets
21.1.6. Don't forget!
21.2. Configuring Seam in Java EE 5
21.2.1. Packaging
21.3. Configuring Seam in Java SE, with the JBoss Embeddable EJB3 container
21.3.1. Installing the Embeddable EJB3 container
21.3.2. Configuring a datasource with the Embeddable EJB3 container
21.3.3. Packaging
21.4. Configuring Seam in J2EE
21.4.1. Boostrapping Hibernate in Seam
21.4.2. Boostrapping JPA in Seam
21.4.3. Packaging
21.5. Configuring Seam in Java SE, with the JBoss Microcontainer
21.5.1. Using Hibernate and the JBoss Microcontainer
21.5.2. Packaging
21.6. Configuring jBPM in Seam
21.6.1. Packaging
21.7. Configuring Seam in a Portal
21.8. Configuring SFSB and Session Timeouts in JBoss AS
22. Seam annotations
22.1. Annotations for component definition
22.2. Annotations for bijection
22.3. Annotations for component lifecycle methods
22.4. Annotations for context demarcation
22.5. Annotations for transaction demarcation
22.6. Annotations for exceptions
22.7. Annotations for validation
22.8. Annotations for Seam Remoting
22.9. Annotations for Seam interceptors
22.10. Annotations for asynchronicity
22.11. Annotations for use with JSF dataTable
22.12. Meta-annotations for databinding
22.13. Annotations for packaging
23. Built-in Seam components
23.1. Context injection components
23.2. Utility components
23.3. Components for internationalization and themes
23.4. Components for controlling conversations
23.5. jBPM-related components
23.6. Security-related components
23.7. JMS-related components
23.8. Mail-related components
23.9. Infrastructural components
23.10. Special components
24. Seam JSF controls
25. Expression language enhancements
25.1. Configuration
25.2. Usage
25.3. Limitations
25.3.1. Incompatibility with JSP 2.1
25.3.2. Calling a MethodExpression from Java code
26. Testing Seam applications
26.1. Unit testing Seam components
26.2. Integration testing Seam applications
26.2.1. Using mocks in integration tests
27. Seam tools
27.1. jBPM designer and viewer
27.1.1. Business process designer
27.1.2. Pageflow viewer
27.2. CRUD-application generator
27.2.1. Creating a Hibernate configuration file
27.2.2. Creating a Hibernate Console configuration
27.2.3. Reverse engineering and code generation
A. Revision History

 
 
  Published under the terms of the Open Publication License Design by Interspire