Preface |
|
1 | (6) |
|
Chapter 1 Introductionto Seam |
|
|
7 | (16) |
|
|
7 | (6) |
|
|
13 | (1) |
|
|
13 | (1) |
|
Installing JBoss Application Server |
|
|
14 | (1) |
|
Starting the JBoss Application Server |
|
|
15 | (1) |
|
|
16 | (1) |
|
Testing our Seam installation |
|
|
17 | (3) |
|
Start the JBoss Application Server |
|
|
18 | (1) |
|
Deploy the sample application |
|
|
18 | (1) |
|
Run the sample application |
|
|
18 | (2) |
|
|
20 | (3) |
|
Chapter 2 Developing Seam Applications |
|
|
23 | (28) |
|
Seam application architecture |
|
|
23 | (1) |
|
|
24 | (1) |
|
Object Injection and Outjection |
|
|
25 | (1) |
|
|
26 | (14) |
|
WAR file deployment descriptors |
|
|
31 | (2) |
|
EAR file deployment descriptors |
|
|
33 | (1) |
|
|
34 | (1) |
|
|
35 | (2) |
|
Building and deploying the application |
|
|
37 | (3) |
|
|
40 | (8) |
|
|
40 | (7) |
|
The JSF messages collection |
|
|
47 | (1) |
|
Building and testing the validating Seam calculator |
|
|
48 | (2) |
|
|
50 | (1) |
|
|
51 | (18) |
|
|
51 | (1) |
|
|
52 | (5) |
|
Defining a page flow in pages.xml |
|
|
54 | (1) |
|
|
54 | (1) |
|
|
55 | (1) |
|
|
55 | (1) |
|
|
56 | (1) |
|
Executing code before rendering pages |
|
|
57 | (1) |
|
|
57 | (10) |
|
>s:selectItems/< and >s:convertEnum/< |
|
|
61 | (2) |
|
Rendering the options in the sample application |
|
|
63 | (3) |
|
Running the sample application |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
67 | (2) |
|
|
69 | (24) |
|
|
69 | (1) |
|
Why Facelets? Why not JSP? |
|
|
70 | (6) |
|
|
70 | (3) |
|
|
73 | (1) |
|
|
74 | (1) |
|
|
74 | (1) |
|
|
75 | (1) |
|
|
76 | (1) |
|
Obtaining and installing Facelets |
|
|
76 | (1) |
|
Configuring a web application for Facelets |
|
|
77 | (5) |
|
Changes in the web.xml file |
|
|
77 | (1) |
|
Changes in the faces-config.xml file |
|
|
78 | (1) |
|
Example Facelets files from the previous chapter |
|
|
78 | (4) |
|
|
82 | (2) |
|
Creating the Vacation Planner application using SeamGen |
|
|
84 | (4) |
|
|
88 | (3) |
|
|
91 | (2) |
|
Chapter 5 Testing Seam Applications |
|
|
93 | (12) |
|
Overview of Seam application testing |
|
|
93 | (1) |
|
|
93 | (3) |
|
|
96 | (2) |
|
Testing the user interface |
|
|
98 | (3) |
|
|
101 | (1) |
|
|
102 | (2) |
|
|
104 | (1) |
|
|
105 | (24) |
|
|
105 | (1) |
|
Configuring an application for RichFaces |
|
|
105 | (2) |
|
Add JAR filesto the web application |
|
|
106 | (1) |
|
Configuring the application's XML resources |
|
|
106 | (1) |
|
|
107 | (20) |
|
|
108 | (1) |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
110 | (1) |
|
|
111 | (1) |
|
|
112 | (1) |
|
>rich:simpleTogglePanel/< |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
115 | (3) |
|
|
118 | (1) |
|
|
119 | (2) |
|
|
121 | (1) |
|
|
122 | (4) |
|
|
126 | (1) |
|
|
127 | (2) |
|
Chapter 7 Database Persistence |
|
|
129 | (38) |
|
Overview of database persistence |
|
|
130 | (2) |
|
How SeamGen helps with persistence |
|
|
132 | (8) |
|
Persisting Java entitiesto the database |
|
|
140 | (3) |
|
Retrieving Java entities from the database |
|
|
143 | (2) |
|
Integrating Java entities with Facelets |
|
|
145 | (3) |
|
Relationships between entities |
|
|
148 | (10) |
|
|
148 | (1) |
|
One-to-many and many-to-one relationships |
|
|
149 | (8) |
|
Many-to-many relationships |
|
|
157 | (1) |
|
Performing CRUD operations on entities |
|
|
158 | (1) |
|
The Seam application framework |
|
|
159 | (7) |
|
|
159 | (1) |
|
Accessing home objects from Facelets |
|
|
160 | (1) |
|
XML definition of home objects |
|
|
161 | (2) |
|
|
163 | (1) |
|
Accessing query objects from Facelets |
|
|
164 | (1) |
|
XML definition of query objects |
|
|
165 | (1) |
|
|
166 | (1) |
|
Chapter 8 Seam Conversations |
|
|
167 | (20) |
|
|
167 | (5) |
|
|
168 | (1) |
|
|
168 | (2) |
|
|
170 | (2) |
|
|
172 | (2) |
|
Defining the scope of a Seam component |
|
|
172 | (2) |
|
|
174 | (8) |
|
|
175 | (1) |
|
Automatically starting a conversation when a page is viewed |
|
|
176 | (1) |
|
|
176 | (1) |
|
Automatically ending a conversation when a page is viewed |
|
|
177 | (1) |
|
Propagating conversations between Windows |
|
|
178 | (1) |
|
Propagating conversations |
|
|
179 | (1) |
|
|
179 | (3) |
|
Conversation configuration |
|
|
182 | (1) |
|
|
182 | (1) |
|
|
182 | (1) |
|
Concurrent request timeout |
|
|
183 | (1) |
|
|
183 | (1) |
|
Setting up a natural conversation |
|
|
184 | (1) |
|
|
184 | (3) |
|
|
187 | (20) |
|
|
187 | (1) |
|
AJAX and the Seam Framework |
|
|
188 | (1) |
|
Configuring Seam applications for Seam Remoting |
|
|
188 | (11) |
|
Configuring Seam Remoting server side |
|
|
189 | (1) |
|
Configuring Seam Remoting client side |
|
|
190 | (2) |
|
Invoking Seam components via Remoting |
|
|
192 | (4) |
|
|
196 | (1) |
|
The org.jboss.seam.remoting.remoting component |
|
|
196 | (1) |
|
The >remoting:remoting< component |
|
|
196 | (2) |
|
|
198 | (1) |
|
Changing the Please wait message |
|
|
199 | (1) |
|
|
199 | (6) |
|
Configuring an application for AJAX4JSF |
|
|
200 | (1) |
|
|
200 | (1) |
|
|
201 | (2) |
|
|
203 | (1) |
|
|
203 | (2) |
|
|
205 | (2) |
|
|
207 | (32) |
|
|
208 | (9) |
|
|
208 | (1) |
|
Persisting user information |
|
|
209 | (3) |
|
Creating an authenticator |
|
|
212 | (2) |
|
|
214 | (1) |
|
|
215 | (1) |
|
Redirectingto the requested page after login |
|
|
216 | (1) |
|
|
217 | (5) |
|
|
218 | (1) |
|
Add required Seam annotations |
|
|
219 | (1) |
|
Assign a set of rolesto a user |
|
|
219 | (2) |
|
Restricting user interface access via roles |
|
|
221 | (1) |
|
|
222 | (3) |
|
|
225 | (3) |
|
The Seam identity manager API |
|
|
228 | (4) |
|
Creating a user with the identity manager |
|
|
229 | (1) |
|
Specifying security rules |
|
|
229 | (1) |
|
Defining security roles with rules |
|
|
230 | (2) |
|
|
232 | (5) |
|
Configuring a Seam web applicationto support OpenID |
|
|
233 | (1) |
|
Configure an OpenID phase listener |
|
|
233 | (1) |
|
Ensure that the correct JAR files are on the application's classpath |
|
|
233 | (1) |
|
|
234 | (1) |
|
Configure page redirection after an OpenID logon |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (2) |
|
Chapter 11 Enterprise Features |
|
|
239 | (26) |
|
|
239 | (8) |
|
Defining the application languages |
|
|
240 | (1) |
|
Write application-specific strings |
|
|
241 | (1) |
|
Display language-specific strings |
|
|
242 | (1) |
|
Dynamically changing the localization |
|
|
243 | (1) |
|
Persisting the localization settings |
|
|
244 | (1) |
|
SeamGen support for localization |
|
|
245 | (1) |
|
Displaying Hibernate Validator messages |
|
|
245 | (2) |
|
|
247 | (2) |
|
|
248 | (1) |
|
|
249 | (2) |
|
|
249 | (1) |
|
Raising events with @RaiseEvent |
|
|
249 | (1) |
|
Raising events with org.jboss.seam.core.Events |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (6) |
|
PDF required configuration |
|
|
251 | (1) |
|
|
252 | (1) |
|
|
252 | (2) |
|
|
254 | (1) |
|
|
254 | (1) |
|
|
255 | (1) |
|
>p:table /< and >p:cell /< |
|
|
255 | (1) |
|
|
256 | (1) |
|
|
257 | (5) |
|
Configuring the SMTP settings |
|
|
257 | (2) |
|
Writing an email template |
|
|
259 | (1) |
|
|
259 | (1) |
|
|
259 | (1) |
|
|
260 | (1) |
|
|
260 | (1) |
|
|
260 | (1) |
|
|
261 | (1) |
|
|
262 | (1) |
|
|
263 | (2) |
|
|
265 | (8) |
|
|
265 | (1) |
|
|
266 | (1) |
|
|
267 | (2) |
|
|
269 | (2) |
|
|
270 | (1) |
|
|
270 | (1) |
|
|
271 | (1) |
|
|
271 | (1) |
|
|
272 | (1) |
Index |
|
273 | |