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 pathJSR252ChangeLogErrata.html
707 lines (526 loc) · 23.2 KB
/
JSR252ChangeLogErrata.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
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Change Log for JSR-000252 JavaServer Faces 1.2 Specification Errata [Rev A]</title>
</head>
<body>
<h2>
<center>Change Log for JSR-000252 JavaServer<sup><font size="-2">TM</font></sup>
Faces 1.2 Specification Errata [Rev A]
</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: 20060927</p>
<b>PROPOSED CHANGES</b>
<table border="1" width="100%">
<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>errata
</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 <i>ViewHandler</i> should derive the view identifier. Clarified that it
is the <i>ViewHandler</i>'s responsibility to derive the view identifier. </p>
<p>Updated Sections 2.2.1 and 7.5.2 of the specification
accordingly.</p>
<p><b>Justification:</b></p>
<p>The implementation is the intended behavior (the ViewHander should
derive the view identifier). The specification document is incorrect.</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>errata
</td>
<td><p>Section 5.4.1 of the specification talks (in detail) about the
<i>@PostConstruct</i> and <i>@PreDestroy</i> 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><b>Justification:</b></p>
<p>The specification document is in error.</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>errata</td>
<td>
<p> Section 9.2.2 of the specification still mentions <i><f:verbatim></i> 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 <i><jsp:include></i>
or <i><c:import></i> action, or any other mechanism that uses
<i>RequestDispatcher.include()</i>, must be enclosed in an <i><f:verbatim></i>
custom action (see Section 9.4.19 <f:verbatim> ). This
restriction may be lifted in future versions of this specification."
<i><f:verbatim></i> 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><b>Justification:</b></p>
<p>It was agreed upon by the EG that as of JSF 1.2 (which went into the platform), this
requirement is no longer valid. The specification document was not updated to reflect
this - the document is in error.</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>
<td>C004</td>
<td>errata
</td>
<td><p> Page 5-34 in Table 5-10 of the specification mentions a
non-existent <i>ExternalContext</i> method <i>getRequestScope()</i>.</p>
<p>Changed "requestScope -> externalContext.getRequestScope()" to
"requestScope -> externalContext.getRequestMap()".</p>
<p><b>Justification:</b></p>
<p>The specification document is in error.</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>errata
</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><b>Justification:</b></p>
<p>The specification document is in error.</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>C006</td>
<td>errata
</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><b>Justification:</b></p>
<p>This was an agreed upon assertion by the EG (even prior to JSF 1.2), but was
overlooked in the specification document.</p>
<p><a class="external" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=185">Issue 185</a></p>
</td>
</td>
</tr>
<tr>
<td>C007</td>
<td>errata
</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><b>Justification:</b></p>
<p>This was an agreed upon assertion by the EG (even prior to JSF 1.2), but was
overlooked in the specification document.</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>C008</td>
<td>errata
</td>
<td>
<p>Section 3.1.1 of the specification reduntantly specifies the
requirement that a provided component identifier must be unique within
the closest NamingContainer parent. Here is the redundancy: </p>
<pre>
Every component may be named by a component identifier, which (if utilized)
<i><b>must be unique among the components that share a common naming container parent
in a component tree.</i></b> Component identifiers must conform to the following rules:
- They must start with a letter (as defined by the Character.isLetter() method) or underscore ( _ ).
- Subsequent characters may be letters (as defined by the Character.isLetter() method),
digits as defined by the Character.isDigit() method, dashes ( - ), and underscores ( _ ).
To minimize the size of responses generated by JavaServer Faces, it is recommended
that component identifiers be as short as possible. If a component has been given an
identifier, <i><b>it must be unique in the namespace of the closest ancestor to that component
that is a NamingContainer (if any)</i></b>.
</pre>
<p>Removed the redundancy so the "uniqueness" requirement is specified once in this
section:
<pre>
Every component may be named by a component identifier that must conform to the following rules:
- They must start with a letter (as defined by the Character.isLetter() method) or underscore ( _ ).
- Subsequent characters must be letters (as defined by the Character.isLetter() method),
digits as defined by the Character.isDigit() method, dashes ( - ), or underscores ( _ ).
To minimize the size of responses generated by JavaServer Faces, it is recommended
that component identifiers be as short as possible. If a component has been given an
identifier, <i><b>it must be unique in the namespace of the closest ancestor to that component
that is a NamingContainer (if any)</i></b>.
</pre>
</p>
<p><b>Justification:</b></p>
<p>Specification edit (only) to eliminate redundant verbage.</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>C009</td>
<td>errata</td>
<td>
<p> Javadoc changes for SelectItem: Removed the mention of a
NullPointerException being thrown for constructors. Mention the default
value of 'true' for the 'escape' constructor argument if it is not
specified. Code snippet below is an example of each type of change.</p>
<pre>
M jsf-api/src/javax/faces/model/SelectItem.java
* @param value Value to be delivered to the model if this
* item is selected by the user
* @param label Label to be rendered for this item in the response
- *
- * @throws NullPointerException if <code>value</code>
- * or <code>label</code> <code>null</code>
*/
public SelectItem(Object value, String label) {
--------------------------------------------------------------------------------------
* <code>label</code> property will be set to the value (converted to a
* String, if necessary), the <code>description</code> property will be
- * set to <code>null</code>, and the <code>disabled</code> property will
- * be set to <code>false</code>.</p>
+ * set to <code>null</code>, the <code>disabled</code> property will be set to
+ * <code>false</code>, and the <code>escape</code> property will be set to
+ ( <code>true</code>.
</pre>
<p><b>Justification:</b></p>
<p>Here, we removed some javadoc that was not supposed to be there, and we added javadoc
that was supposed to be there. The implementation was correct, but the javadocs were wrong.</p>
<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>C010</td>
<td>errata</td>
<td>
<p> There are two parts to this issue:</p>
<ol>
<li><i>EnumConverter.getAsObject</i> and <i>EnumConverter.getAsString</i> method
javadocs incorrectly described the implementation. The javadocs for the <i>getAsObject()</i>
method mentioned using the <i>getEnumConstants()</i> method, while the implementation used
the <i>Enum.valueOf()</i> method. Likewise, the javadocs for the
<i>getAsString()</i> method mentioned using the <i>getEnumConstants()</i>
method, while the implementation used the <i>toString()</i> method.
</li>
<li>
The javadoc mentioned throwing a <i>ConverterException</i> if the <i>targetClass</i>
argument is <i>null</i>. This functionality was missing from the implementation.
</li>
</ol>
<pre>
M jsf-api/src/javax/faces/convert/EnumConverter.java
1. Corrected javadocs to correctly describe implementation.
2. Added functionality to implementation to throw a <i>ConverterException</i> if
the <i>targetClass</i> argument is null.
Here are the changes (getAsObject method):
< * Convert the argument <code>value</code> to one of the enum
< * constants of the class provided in our constructor. If a target
< * class argument has been provided to the constructor for this
< * instance, call its <code>getEnumConstants()</code> method. For
< * each element in the list of constants, call
< * <code>toString()</code> and compare the string with the argument
< * <code>value</code>. If they are equal, return the current
< * element as the <code>Object</code> value. If none of the
< * elements yield a match in this manner, or the length of the list
< * returned from <code>getEnumConstants()</code> is zero,
< * throw a {@link ConverterException} containing the {@link
< * #ENUM_ID} message with proper parameters. If no target class
< * argument has been provided to the constructor of this instance,
< * throw a <code>ConverterException</code> containing the {@link
< * #ENUM_NO_CLASS_ID} message with proper parameters.</p>
---
> * Convert the <code>value</code> argument to one of the enum
> * constants of the class provided in our constructor. If no
> * target class argument has been provided to the constructor of
> * this instance, throw a <code>ConverterException</code>
> * containing the {@link #ENUM_NO_CLASS_ID} message with proper
> * parameters. If the <code>value</code> argument is <code>null</code>
> * or it has a length of zero, return <code>null</code>.
> * Otherwise, perform the equivalent of <code>Enum.valueOf</code> using
> * target class and <code>value</code> and return the <code>Object</code>.
> * If the conversion fails, throw a <code>ConverterException</code>
> * containing the {@link #ENUM_ID} message with proper parameters.
Here are the changes (getAsString method):
< * argument into a String. If a target class argument has been
< * provided to the constructor for this instance, call its
< * <code>getEnumConstants()</code> method. For each element in the
< * list of constants, test for equality between the current element
< * and the argument <code>value</code>. If they are equal, call
< * <code>toString()</code> on the current element and return it. If
< * none of the elements yield a match in this manner, or the length
< * of the list returned from <code>getEnumConstants()</code> is
< * zero, simply call <code>toString()</code> on the argument
< * <code>value</code> and return it.
< *
---
> * argument into a String. If no target class argument has been
> * provided to the constructor of this instance, throw a
> * <code>ConverterException</code> containing the
> * {@link #ENUM_NO_CLASS_ID} message with proper parameters. If the
> * <code>value,/code> argument is <code>null</code>, return <code>null</code>.
> * If the value is an instance of the provided target class, return its
> * string value (<code>value.toString()</code>). Otherwise, throw a
> * {@link ConverterException} containing the {@link #ENUM_ID} message with
> * proper parameters.
> *
</pre>
<p><b>Justification:</b></p>
<p>For the first part of this issue, the EG agreed that the implementation is correct, and that the
javadocs should be updated to reflect the implementation. For the second part of this issue, the
EG agreed that the implementation was missing the logic to throw a <i>ConverterException</i> if the
<i>targetClass</i> argument is <i>null</i>.</p>
<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>C011</td>
<td>errata</td>
<td>
<p>TLD attribute type of <i>h:dataTable</i> "var" attribute should not be
<i>ValueExpression</i> enabled. </p>
<p>The generated "html_basic" TLD was generating the "var" attribute
as ValueExpression Enabled, when it should be a String. The specification
for the Standard HTML components (the Standard HTML RenderKit Docs) specify
that this attribute must be of type <code>String</code>.
<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><b>Justification:</b></p>
<p>A bug was identified in the TLD generator code that produced a type for the
<i>var</i> attribute that did not match the specification.</p>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=321">Issue 203 [RI]</a></p>
</td>
</tr>
<tr>
<td>C012</td>
<td>errata</td>
<td>
<p>Javadocs and method signatures for the core tag <i>setBinding</i> method
do not agree. For example, javadoc says: <i>@throws
IllegalArgumentException</i> but the method signature throws <i>JspException</i>.</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.
Here are the changes:
--- jsf-api/src/javax/faces/webapp/UIComponentELTag.java 5 Dec 2005 16:43:04 -0000 1.4
+++ jsf-api/src/javax/faces/webapp/UIComponentELTag.java 24 Aug 2006 11:49:19 -0000
@@ -71,8 +71,7 @@
*
* @param binding The new value expression
*
- * @throws IllegalArgumentException if the specified binding is not a
- * valid value binding expression.
+ * @throws JspException if an error occurs
*/
public void setBinding(ValueExpression binding) throws JspException {
--- jsf-ri/src/com/sun/faces/taglib/jsf_core/ActionListenerTag.java 10 May 2006 23:26:09 -0000 1.28
+++ jsf-ri/src/com/sun/faces/taglib/jsf_core/ActionListenerTag.java 24 Aug 2006 11:49:20 -0000
@@ -110,8 +110,6 @@
* <p>Set the value binding expression for this listener.</p>
*
* @param binding The new value binding expression
- *
- * @throws JspException if a JSP error occurs
*/
public void setBinding(ValueExpression binding) {
--- jsf-ri/src/com/sun/faces/taglib/jsf_core/PhaseListenerTag.java 29 Mar 2006 23:03:51 -0000 1.7
+++ jsf-ri/src/com/sun/faces/taglib/jsf_core/PhaseListenerTag.java 24 Aug 2006 11:49:20 -0000
@@ -88,8 +88,6 @@
* <p>Set the value binding expression for this listener.</p>
*
* @param binding The new value binding expression
- *
- * @throws JspException if a JSP error occurs
*/
public void setBinding(ValueExpression binding) {
--- jsf-ri/src/com/sun/faces/taglib/jsf_core/ValueChangeListenerTag.java 10 May 2006 23:26:09 -0000 1.22
+++ jsf-ri/src/com/sun/faces/taglib/jsf_core/ValueChangeListenerTag.java 24 Aug 2006 11:49:20 -0000
@@ -111,8 +111,6 @@
* <p>Set the value binding expression for this listener.</p>
*
* @param binding The new value binding expression
- *
- * @throws JspException if a JSP error occurs
*/
public void setBinding(ValueExpression binding) {
</pre>
<p><b>Justification:</b></p>
<p>The method signatures were correct (as discussed by the EG), but the javadocs were wrong.</p>
<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>C013</td>
<td>errata</td>
<td>
<p>The <i>DoubleConverter.CONVERTER_ID</i> constant is defined incorrectly:
<i>public static final String CONVERTER_ID = "javax.faces.DoubleTime";</i> </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><b>Justification:</b></p>
<p>The implementation was inconsistent with the spec, in a way that caused the
implementation to not correctly implement the spec.</p>
<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>C014</td>
<td>errata</td>
<td>
<p> The generated TLD <i><description></i> element incorrectly specified the <i>value</i>
attribute to be a <i>UIComponent</i>. As per JSF 1.0/1.1, the correct type is
<i>SelectItem</i>. This bug was introduced in JSF 1.2. </p>
<pre>
M jsf-ri/conf/share/jsf_core.tld
Made "value" attibute be SelectItem (not UIComponent). Regenerate
tlddocs.
Here are the changes:
--- conf/share/jsf_core.tld 31 May 2006 17:22:29 -0000 1.64
+++ conf/share/jsf_core.tld 29 Jun 2006 21:39:47 -0000
@@ -709,7 +709,7 @@
</description>
<name>value</name>
<deferred-value>
- <type>javax.faces.component.UIComponent</type>
+ <type>javax.faces.model.SelectItem</type>
</deferred-value>
</attribute>
@@ -756,7 +756,9 @@
information for these options.
</description>
<name>value</name>
- <deferred-value/>
+ <deferred-value>
+ <type>java.lang.Object</type>
+ </deferred-value>
</pre>
<p><b>Justification:</b></p>
<p>The correct type is specified in JSF 1.0/JSF 1.1. This bug was introduced in JSF 1.2.</p>
<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>C015</td>
<td>errata</td>
<td>
<p><i>ConverterTag</i> / <i>ConverterELTag doStartTag()</i> methods (javadoc changes):
Specified that conversion must occur if the local value is a <i>String</i>. The
implementation was in place for this, but we were missing the javadoc to describe this
behavior.</p>
<pre>
M jsf-api/src/javax/faces/webapp/ConverterELTag.java
M jsf-api/src/javax/faces/webapp/ConverterTag.java
-- added additional javadoc
Here are the changes:
/*
@@ -137,7 +137,8 @@
* class, and register it with the {@link UIComponent} instance associated
* with our most immediately surrounding {@link UIComponentTag} instance, if
* the {@link UIComponent} instance was created by this execution of the
- * containing JSP page.</p>
+ * containing JSP page. If the <code>localValue</code> of the
+ * {@link UIComponent} is a String, attempt to convert it.</p>
--- ConverterELTag.java 5 Dec 2005 16:43:04 -0000 1.3
+++ ConverterELTag.java 17 Aug 2006 20:32:48 -0000 1.4
@@ -1,5 +1,5 @@
/*
@@ -79,7 +79,8 @@
* class, and register it with the {@link UIComponent} instance associated
* with our most immediately surrounding {@link UIComponentClassicTagBase} instance, if
* the {@link UIComponent} instance was created by this execution of the
- * containing JSP page.</p>
+ * containing JSP page. If the <code>localValue</code> of the
+ * {@link UIComponent} is a String, attempt to convert it.</p>
</pre>
<p><b>Justification:</b></p>
<p>The EG agreed that we need to specify that an implementation must perform conversion
if the local value is a <i>String</i>.</p>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=344">Issue 344</a></p>
</td>
</tr>
<tr>
<td>C016</td>
<td>errata</td>
<td>
<p> The generated TLD <i><description></i> element for <i><f:convertNumber></i>
incorrectly specified an invalid type "percentage" when it should have been "percent".
This bug was introduced in JSF 1.2.</p>
Here are the changes:
> --- jsf_core.tld 29 Jun 2006 21:58:07 -0000 1.65
> +++ jsf_core.tld 23 Aug 2006 12:13:51 -0000
> @@ -401,7 +401,7 @@
> <description>
> Specifies how the number string will be formatted
> and parsed. Valid values are "number", "currency",
> - and "percentage". Default value is "number".
> + and "percent". Default value is "number".
> </description>
> <name>type</name>
> <deferred-value>
<pre>
M jsf-ri/conf/share/jsf_core.tld</pre>
<p><b>Justification:</b></p>
<p>The verbage in the <description> element specifies an incorrect value.
The implementation has the correct value.</p>
<p><a class="external" href="http://jsf.java.net/issues/show_bug.cgi?id=387">Issue 387</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>