This repository has been archived by the owner on Mar 20, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathJSR252ChangeLog.html
663 lines (428 loc) · 15.6 KB
/
JSR252ChangeLog.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Change Log for JSR-000252 JavaServer Faces 1.2 Specification</title>
</head>
<body>
<h2>
<center>Change Log for JSR-000252 JavaServer<sup><font size="-2">TM</font></sup>
Faces 1.2 Specification
</center>
</h2>
<p>This page details the proposed, accepted and deferred changes to JSR
252, documenting the changes that will go into the next revision, per <a
href="http://jcp.org/en/procedures/jcp2#4.2">Section 4.2 of the JCP 2.6
document</a>.</p>
<p>Last updated: 20060914</p>
<p>Each of the following changes is labeled with an id and a category,
which is either "bug fix" or an "addition". These terms are defined as
follows.</p>
<dl>
<dt><p>bug fix</p></dt>
<dd><p>bug fixes to the currently released specification</p>
</dd>
<dt><p>addition</p>
</dt>
<dd><p>additions and/or modified backwards compatible changes</p>
</dd>
</dl>
<b>PROPOSED CHANGES</b>
<table border="1" width="100%">
<caption>JavaServer Faces 1.2 Specification Maintenance Release 1 Change
Log</caption>
<colgroup>
<col width="5%" />
<col width="5%" />
<col />
</colgroup>
<thead>
<tr>
<th>ID</th>
<th>Category</th>
<th>Description</th>
</thead>
<tbody>
<tr>
<td>C001</td>
<td>bug fix
</td>
<td>
<p>The specification states that the Restore View Phase of the request
processing lifecycle should derive the view identifier. It also states
that the ViewHandler should derive the view identifier. Decided that it
is the ViewHandler's responsibility to derive the view identifier. </p>
<p>Updated Sections 2.2.1 and 7.5.2 of the specification
accordingly.</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=162">Issue 162 </a></p>
</td>
</tr>
<tr>
<td>C002</td>
<td>addition
</td>
<td><p>Section 5.4.1 of the specification talks (in detail) about the
@PostConstruct and @PreDestroy annotations that can be used with Managed
Beans. This section "redundantly" specifies the requirements for
the method that bears these annotations - this is already described in
section 2.5 of the Common Annotation specification. The specification
redundantly describes the details about annotation rules, already
described in the annotations specification. </p>
<p>Removed the redundant verbage in Section 5.4.1.</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=166">Issue 166 </a></p>
</td>
</tr>
<tr>
<td>C003</td>
<td>addition
</td>
<td>
<p> Section 9.2.2 of the specification still mentions f:verbatim as a
requirement. Specifically, the specification says: "For the current
version of this specification, any template text (or non-JSF custom
actions) present in a page that is included with the <jsp:include>
or <c:import> action, or any other mechanism that uses
RequestDispatcher.include(), must be enclosed in an <f:verbatim>
custom action (see Section 9.4.19 <f:verbatim> ). This
restriction may be lifted in future versions of this specification."
f:verbatim is kept in the specification because other view technologies
find it useful (Facelets, for example). </p>
<p> Removed that paragraph (restriction) from the
specification.</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=167">Issue 167</a></p>
</td>
</tr>
<tr>
<td>C004</td>
<td>addition
</td>
<td><p> Page 5-34 in Table 5-10 of the specification mentions a
non-existent ExternalContext method "getRequestScope()".</p>
<p>Changed "requestScope -> externalContext.getRequestScope()" to
"requestScope -> externalContext.getRequestMap()".</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=196">Issue 196</a></p>
</td>
</tr>
<tr>
<td>C005</td>
<td>bug fix
</td>
<td>
<p> UIComponentBase.encodeChildren has no default behavior if there is
no renderer associated with the component - the method essentially is a
"no operation". </p>
<pre>
M jsf-api/src/javax/faces/component/UIComponentBase.java
Associating renderers with components is optional. If there is no
renderer associated with the component, then the component should take
responsiblity and perform the action of rendering its own children.
Made the javadoc change to describe this for
UIComponentBase.encodeChildren method.</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=169">Issue 169</a></p>
</td>
</tr>
<tr>
<td>C006</td>
<td>bug fix
</td>
<td>
<p> EnumConverter.getAsObject and EnumConverter.getAsString method
javadocs and implementation were incomplete, and the implementation
didn't do what the javadocs specified. </p>
<pre>
M jsf-api/src/javax/faces/convert/EnumConverter.java
Corrected (and simplified) javadocs and implementation. </pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=172">Issue 172</a></p>
</td>
</tr>
<tr>
<td>C007</td>
<td>addition
</td>
<td>
<p> Incorrect Reference to Version element: "Sections 9.4 and 9.5 of the
specification state that the jsp-version element of the TLDs for the
core and html taglibs must be 2.1. However, in the schema version of the
TLDs there is no jsp-version element - it's communicated via the version
attribute on the opening taglib element." </p>
<p>Removed the bullet item in Sections 9.4 / 9.5 stating that you need
to specify a jsp-version element.</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=203">Issue 203</a></p>
</td>
</tr>
<tr>
<td>C008</td>
<td>bug fix
</td>
<td>
<p>TLD Attribute Type Of h:dataTable "var" Attr Should Not Be
ValueExpression enabled. </p>
<p>The generated "html_basic" TLD was generating the "var" attribute
as ValueExpression Enabled, when it should be a String.</p>
<pre>
M jsf-ri/src/com/sun/faces/generate/JspTLD21Generator.java
- added additional case to TLD generator. If property isn't a method
expression doesn't necessarily mean it will always be a value
expression Regenerated the correct tld.</pre>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=321">Issue 203 [RI]</a></p>
</td>
</tr>
<tr>
<td>C009</td>
<td>addition
</td>
<td>
<p>Make use of generics for PhaseId.VALUES variable.
<pre>
M jsf-api/src/javax/faces/event/PhaseId.java
public static final List<PhaseId> VALUES = Collections.unmodifiableList(Arrays.asList(values));</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=182">Issue 182</a></p>
</td>
</tr>
<tr>
<td>C010</td>
<td>bug fix
</td>
<td>
<p>Javadocs and method signatures for the core tag "setBinding" method
do not agree. For example, javadoc says: @throws
IllegalArgumentException but the method signature throws JspException.</p>
<pre>
M jsf-api/src/javax/faces/webapp/UIComponentELTag.java
M jsf-ri/src/com/sun/faces/taglib/jsf_core/ActionListenerTag.java
M jsf-ri/src/com/sun/faces/taglib/jsf_core/PhaseListenerTag.java
M jsf-ri/src/com/sun/faces/taglib/jsf_core/ValueChangeListenerTag.java
Made javadocs changes so they correctly coincide with the method
signatures.</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=184">Issue 184</a></p>
</td>
</tr>
<tr>
<td>C011</td>
<td>addition
</td>
<td>
<p>Section 3.1.1 of the specification says: "Subsequent characters may
be letters (as defined by the Character.isLetter() method), digits as
defined by the Character.isDigit() method, dashes ( - ), and underscores
( _ )."</p>
<p>Made this an assertion: "Subsequent characters must be...."</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=185">Issue 185</a></p>
</td>
</tr>
<tr>
<td>C012</td>
<td>bug fix
</td>
<td>
<p>The DoubleConverter.CONVERTER_ID constant is defined incorrectly:
public static final String CONVERTER_ID = "javax.faces.DoubleTime"; </p>
<pre>
M jsf-api/src/javax/faces/convert/DoubleConverter.java
Corrected this to be:
public static final String CONVERTER_ID = "javax.faces.Double";</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=176">Issue 176</a></p>
</td>
</tr>
<tr>
<td>C013</td>
<td>bug fix
</td>
<td>
<p> Incorrect tld documentation for f:selectItem "value" attribute. </p>
<pre>
M jsf-ri/conf/share/jsf_core.tld
Made "value" attibute be SelectItem (not UIComponent). Regenerate
tlddocs.</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=187">Issue 187</a></p>
</td>
</tr>
<tr>
<td>C014</td>
<td>addition
</td>
<td>
<p>ConverterTag / ConverterELTag doStartTag() methods (javadoc changes):
Specified conversion occurs if local value is a String. Also specified
what to do when a ConverterException occurs: </p>
<pre>
* If the conversion fails and the component is an input component,
* enqueue an appropriate error message by calling the <code>addMessage()</code>
* method on the <code>FacesContext</code>. In all cases, log an
* appropriate error message.</p></pre>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=344">Issue 344</a></p>
</td>
</tr>
<tr>
<td>C015</td>
<td>addition
</td>
<td>
<p>Section 2.5.2.1 of the specification talks about the locale attribute
value, and mentions that the seperator characters may be '-' or '_'.</p>
<p>
Made this an assertion: "The separators between the segments must be '-'
or '_'."</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=192">Issue 192</a></p>
</td>
</tr>
<tr>
<td>C016</td>
<td>addition
</td>
<td>
<p>Section 3.1.1 of the specification reduntantly specified the
requirement that a provided component identifier must be unique within
the closest NamingContainer parent. </p>
<p>Removed the redundancy and made this requirement as one of the bullit
items in that section.</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=193">Issue 193</a></p>
</td>
</tr>
<tr>
<td>C017</td>
<td>addition
</td>
<td>
<p>When <f:setPropertyActionListener> executes, the value of the
"source" ValueExpression is propogated to the property identified by the
"target" ValueExpression. Currently, there is no conversion in
place, and the spec is terribly silent if any sort of exception occurs -
which will certainly happen if types are different. </p>
<p>Updated Section
9.4.12 <f:setPropertyActionListener> section of the specification
to specifically mention the new behavior when the listener executes.
Specifically mentioned that conversion happens (using a by-type
converter for the target expression (property) type, and what must
happen if a ConverterException occurs.</p>
<pre>
M jsf-ri/src/com/sun/faces/taglib/jsf_core/SetPropertyActionListenerTag.java
Updated Javadocs
M conf/share/jsf_core.tld
Updated description of core setPropertyActionListener tag based on spec updates.
</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=197">Issue 197</a></p>
</td>
</tr>
<tr>
<td>C018</td>
<td>bug fix
</td>
<td>
<p> Javadoc changes for SelectItem: Removed the mention of a
NullPointerException being thrown for constuctors. Mention the default
value of 'true' for the 'escape' constructor argument if it is not
specified.</p>
<pre>
M jsf-api/src/javax/faces/model/SelectItem.java</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=198">Issue 198</a></p>
</td>
</tr>
<tr>
<td>C019</td>
<td>addition
</td>
<td>
<p>For input components, specify that me must render the "id" attribute
if we are rendering the "name" attribute (beneficial for javascript).</p>
<pre>
M jsf-api/doc/standard-html-renderkit-base.xml
Regenerated standard-html-renderkit.xml</pre>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=309">Issue 309</a></p>
</td>
</tr>
<tr>
<td>C020</td>
<td>addition
</td>
<td>
<p> The Standard HTML Renderkit Documentation is too restrictive for
<h:commandLink>. Removed the requirement to render a hidden field
(during encoding). Also, this component does rely on javascript, but
how that is used is now an implementation detail. The decode behavior
is simplified to:</p>
<p> <p>Obtain the <code>Map</code> from
the "requestParameterMap" property of the
<code>ExternalContext</code>. If the value in the
<code>Map</code> for the value of the "clientId" property
of the component is <code>non-null</code>, create a
<code>javax.faces.event.ActionEvent</code> around the
component, and pass it to the <code>queueEvent()</code>
method of the component, which must be an instance of
<code>UICommand.</code></p>
</p>
<pre>
M jsf-api/doc/standard-html-renderkit-base.xml
Regenerated standard-html-renderkit.xml</pre>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=199">Issue 199</a></p>
</td>
</tr>
<tr>
<td>C021</td>
<td>bug fix
</td>
<td>
<p>The TLD documentation for <f:convertNumber> state: Valid values
[for the type attribute] are "number", "currency", and "percentage"..
The last type should be "percent", not "percentage".</p>
<pre>
M jsf-ri/conf/share/jsf_core.tld</pre>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=387">Issue 387</a></p>
</td>
</tr>
<tr>
<td>C022</td>
<td>addition
</td>
<td><p>
The Standard HTML RenderKit Specification for the component-family:
javax.faces.Data renderer-type: javax.faces.Table was changed to
enhance accessibility per the W3C Web Content Accessibility Guidelines
Section 5.2. Specifically,</p>
<pre>
Allow col and colgroup to be specified using a "colgroups" facet.
Column Groups
If the UIData component has a "colgroups" facet,
render its contents. Consistent with the rules of facets in
general, this facet must have only one child. In general, this
will be a panel group component that will contain
colgroup and col elements per the HTML
Table specification. Use of column grouping can improve
accessibility. This facet must be rendered before the table
header and footer.
- Specify that th elements have an "id" attribute that is derived from
the clientId of the dataTable + NamingContainer.SEPARATOR_CHAR +
colIndex, where colIndex is the index of the column. This rule is
true for the top level "header" facet, as well as any "header" facets
within any UIColumn children.
- Specify that the first td in each row of the table body have a
"scope" attribute with the value of "row".
- Specify that each td element in the table body has a "headers"
attribute with the proper value if there was a header for that column
in the table.
- Introduce a new attribute "bodyrows" that enables multiple tbody
sections to be rendered.
</pre>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=341">Issue 341</a></p>
</td>
</tr>
</tbody>
</table>
<b>ACCEPTED CHANGES</b>
<table border="1" width="100%">
<tbody>
<tr>
<td> </td>
</tr>
</tbody>
</table>
<b>DEFERRED CHANGES</b>
<table border="1" width="100%">
<tbody>
<tr>
<td> </td>
</tr>
</tbody>
</table>
<to-view-id><to-view-id><to-url><to-view-id><redirect><redirect><redirect></redirect></redirect></redirect></to-view-id></to-url></to-view-id></to-view-id>
</body>
</html>