How to Tell which Printing You Have
On the bottom of the copyright page (facing the first page of the table of
contents), look for a line such as
First printing, April 2010
In the errata below, we indicate the printing in which the error has been
fixed inside square brackets such as [4].
For example, suppose you have the fourth printing. Then you can ignore all reports that are prefixed with [2], [3] or [4]. But you would want to pay attention to all reports that are prefixed with [5] or higher or that have no bracketed prefix at all.
cd ../.. jar cvf login.war .
to
cd ../../web jar cvf ../login.war .
.faces
extension”setProblems
method in lines 31-36 public class EditBean
to public class
EditBean implements Serializable
@PreDestroy
and
@PostDestruct
annotations” to “NOTE: The
@PostConstruct
and @PreDestroy
annotations”<value>#{user}</value
to
<value>#{user}</value>
#{messages.
greeting}
to
#{msgs.clickHere}
else if (tries == 1) return "again";
to
else if (tries == 1) return "failure";
<p>#{quizBean.question}"/></p>
to
<p>#{quizBean.question}"</p>
ExternalContext.getFlash().put("message", "Your password is about to expire");
to
ExternalContext external = FacesContext.getCurrentInstance().getExternalContext(); external.getFlash().put("message", "Your password is about to expire");
anchor
attribute” to “There is no need for an action
attribute”resources[
to resource[
#{msgs.linkText}>
to
#{msgs.linkText}
Change “The h:commandLink
and h:link
tags” to “The h:commandLink
tag”
h:selectOneRadio
to
h:selectOneMenu
selectedClass="selected"
target="head"
#{form.age}
to #{user.age}
<ui:define name="windowTitle">
to
<ui:define name="windowTitle"> #{msgs.planetariumTitle} </ui:define>
(Note the boldface in the second line)
<![CDATA[
with //<![CDATA[
and
]]>
with //]]>
columnClasses="oddColumn,evenColumn"
to
columnClasses="firstColumn,secondColumn"
..oddColumn
to .firstColumn
and
.evenColumn
to .secondColumn
Change “In this case, h:dataTable
reuses the column
classes, starting with the first. By specifying only the first two column
classes, we can set the CSS classes for odd and even columns. (When using
the terms odd and even in this way, we assume that the first column is
column 1.)” to “The remaining columns are not given a CSS
class.”
Change “Like column classes” to “Unlike column classes”
Append the following to the last paragraph: “(When using the terms odd and even in this way, we assume that the first column is column 1.)”
javax.sql.CachedRowset
to
javax.sql.rowset.CachedRowSet
and
javax.servlet.jsp.jstl.Result
to
javax.servlet.jsp.jstl.sql.Result
model.setRowIndex(rows[i]);
to
model.setRowIndex(rows[rowIndex]);
to
“Instead, they are first validated and, upon successful validation, stored inside the component objects as local values. Application designers can specify validation conditions—for example, that certain fields should have a minimum or maximum length. We begin our discussion of validation under “Using Standard Validators” on page 262. After all submitted values have been converted and validated”
Change “The Update Model Values phase starts only if all validations are successful.” to ““The Update Model Values phase starts only if all conversions and validations are successful.””
app.getResourceBundle
to
app.getMessageBundle
com.corejsf.CreditCard
to
com.corejsf.Card
(2x on page 298)public void listen(ActionEvent e) {
to public
void handleMouseClick(ActionEvent e) {
changeLocale(String languageChange)
to
changeLocale(String languageCode)
name="postValidate"
to
type="postValidate"
public class UserBean
to public class
UserBean implements java.io.Serializable
“ui:include
directive”<composite:attribute user="user"/>
to
<composite:attribute name="user"/>
h:selectOneMenu
component
has an integer converter that converts the incoming string to an
Integer.”
Change “it becomes the value of the component.” to “it becomes the local value of the component.”
int day = (Integer) dayComponent.getValue(); int month = (Integer) monthComponent.getValue(); int year = (Integer) yearComponent.getValue();
to
int day = Integer.parseInt((String) dayComponent.getSubmittedValue()); int month = Integer.parseInt((String) monthComponent.getSubmittedValue()); int year = Integer.parseInt((String) yearComponent.getSubmittedValue());
style="color: red"s
to style="color:
red"
begin
,
complete
, or error
.” to “Must be
one of: begin
, complete
, or
success
.”Locations
to #{msgs.locationsPrompt}
.
Change
@ApplicationScoped
to
@Named @ApplicationScoped
Change public class AutoComplete
to public class
AutoComplete implements Serializable
String s = item.substring(0, inputValue.length()); if (s.equalsIgnoreCase(inputValue)) to
if (item.toLowerCase().startsWith(inputValue.toLowerCase()))
try {
to
try {
Change
count = result.getInt("logincount");
to
if (!loggedIn) return; count = result.getInt("logincount") + 1;
import javax.servlet.annotation.WebFilter;
(line
16)Thanks to Ashish Adhikari, Igor Akkerman, Mohamad Alamili, Rafael Ubiratam Clemente Afonso, Gary Bello, Theo Bittencourt, Andy Carpenter, Mustafa Dasgin, Luis Eduardo Telaya Escobedo, Lee Kian Giap, Christopher Glass, Richard Grin, Søren Nødskov Hansen, Yasser Hawari, Reinhard Horn, Richard Hull, Sachihiko Kadotani, Albert Kam, Guenter Koch, Sudhakara Konduru, Keith Levi, Yingxue Lin, Bruce Link, Clifford Lum, Hipolito Matute, Konstantin Milyutin, Abel Morelos, Dagbjørn Nogva, Tiago Nunes, Anil Ozselgin, Anders Ottosson, Karl Phillip, David Pitfield, Dave Powell, Konstantin Ptitsyn, Rafal Olenski, Richard Ragan, Mohammed Reziq, Philip Ritzkopf, A. Satyadi, Bauke Scholtz, Shawn Severin, Ryan Slominski, Josivan Pereira de Souza, Gerald Struck, Pierre Sugar, Swathi Vegesna, Guillaume Wasiewski, and (your name might go here) for their help!
Please use this form to report any bugs that you find. Please check the list of known bugs and the list of frequently asked questions first before you report a bug. Unfortunately, we do not have the time to respond personally to every report, but we do read them all and will post updates to this page. Thank you!