Errata

Programming Jakarta Struts

Errata for Programming Jakarta Struts

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page examples
ON WEBSITE: storefront/web/security/signin.jsp

<script language=javascript src="include/scripts.js"></script>

SHOULD BE:
<script language=javascript src="../include/scripts.js"></script>

Anonymous   
Printed
Page examples
ON WEBSITE: StorefrontMessageResources.properties and

StorefrontMessageResources_en_US.properties;
"...it only tnakes a few..."

SHOULD BE:
"...it only takes a few..."

Anonymous   
Printed
Page 74
partial web.xml file

<url-pattern>>/action/*<url-pattern>

NOW READS:
<url-pattern>/action/*<url-pattern>

Anonymous    Nov 01, 2003
Printed
Page 86
Table 4-5

In the row about the dynamic attribute, the text previously read:
"This has been deprecated and the framework will not determine this automatically.".

NOW READS:
"This has been deprecated and the framework will now determine this
automatically."

Anonymous    Nov 01, 2003
Printed
Page 88
3rd Paragraph

"The following is an example of a global-exception element:"

NOW READS:
"The following is an example of a global-exceptions element:"

Anonymous    Nov 01, 2003
Printed
Page 89
IN PRINT

className - The implementation class of the configuration bean that will hold the
forward information. The default class is org.apache.struts.action.
ActionForward when no value is specified.

NOW READS:
className - The extension class of the configuration bean that will hold the
forward information. The default class is org.apache.struts.action.
ForwardConfig when no value is specified.

Anonymous    Nov 01, 2003
Printed
Page 93
Table 4-10 - Description field for 'pagePattern' attribute; The last sentence

"If not specified, the default forwardPattern is $A$P, ..."

NOW READS:
"If not specified, the default pagePattern is $A$P, ..."

Anonymous    Dec 01, 2003
Printed
Page 101
6th paragraph

A sentence fragment "You can download the Struts console" HAS BEEN DELETED from the sixth
paragraph.

Anonymous    Nov 01, 2003
Printed
Page 149-151
SQL fix error

The script to create the tables was missing a couple of semi colons.
CORRECTED VERSION IS BELOW:

DROP DATABASE storefront;

CREATE DATABASE storefront;

use storefront;

CREATE TABLE CATALOG(
id int NOT NULL,
displaylabel varchar(50) NOT NULL,
featuredcatalog char(1) NULL,
description varchar(255) NULL
);

ALTER TABLE CATALOG ADD
CONSTRAINT PK_CATALOG PRIMARY KEY(id);

CREATE TABLE CUSTOMER (
id int NOT NULL ,
firstname varchar(50) NOT NULL,
lastname varchar(50) NOT NULL,
email varchar(50) NOT NULL ,
password varchar(15) NOT NULL,
description varchar(255) NULL,
displaylabel varchar(255) NULL,
creditStatus char(1) NULL,
accountstatus char(1) NULL,
accountnumber varchar(15) NOT NULL
);

ALTER TABLE CUSTOMER ADD
CONSTRAINT PK_CUSTOMER PRIMARY KEY(id);

CREATE TABLE ITEM (
id int NOT NULL ,
itemnumber varchar (255) NOT NULL,
displaylabel varchar(50) NOT NULL,
description varchar (255) NULL,
baseprice decimal(9,2) NOT NULL,
manufacturer varchar (255) NULL,
sku varchar (255) NULL,
upc varchar (255) NULL,
minsellingunits int NULL,
sellinguom varchar (255) NULL,
leadtimemin varchar (255) NULL,
leadtimemax varchar (255) NULL,
onhandquantity int NOT NULL,
featuredesc1 varchar (255) NULL,
featuredesc2 varchar (255) NULL,
featuredesc3 varchar (255) NULL
);

ALTER TABLE ITEM ADD
CONSTRAINT PK_ITEM PRIMARY KEY(id);

CREATE TABLE CATALOGITEM_LNK(
catalogid int NOT NULL ,
itemid int NOT NULL
);

ALTER TABLE CATALOGITEM_LNK ADD
CONSTRAINT PK_CATALOGITEM_LNK PRIMARY KEY(catalogid, itemid);

ALTER TABLE CATALOGITEM_LNK ADD
CONSTRAINT FK_CATALOGITEM_LNK_CATALOG FOREIGN KEY
(catalogid) REFERENCES CATALOG(id);

ALTER TABLE CATALOGITEM_LNK ADD
CONSTRAINT FK_CATALOGITEM_LNK_ITEM FOREIGN KEY
(itemid) REFERENCES ITEM(id);

CREATE TABLE PURCHASEORDER (
id int NOT NULL,
customerid int NOT NULL,
submitteddatetime datetime NOT NULL ,
status varchar (15) NULL,
totalprice decimal(9,2) NOT NULL
);

ALTER TABLE PURCHASEORDER ADD
CONSTRAINT PK_PURCHASEORDER PRIMARY KEY(id);

ALTER TABLE PURCHASEORDER ADD
CONSTRAINT FK_PURCHASEORDER_CUSTOMER FOREIGN KEY
(customerid) REFERENCES CUSTOMER(id);

CREATE TABLE LINEITEM (
id int NOT NULL,
orderid int NOT NULL,
itemid int NOT NULL,
lineitemnumber int NULL,
unitprice decimal(9, 2) NOT NULL,
baseprice decimal(9, 2) NOT NULL,
quantity int NOT NULL
);

ALTER TABLE LINEITEM ADD
CONSTRAINT PK_LINEITEM PRIMARY KEY(id);

ALTER TABLE LINEITEM ADD
CONSTRAINT FK_LINEITEM_ORDER FOREIGN KEY
(orderid) REFERENCES PURCHASEORDER(id);

ALTER TABLE LINEITEM ADD
CONSTRAINT FK_LINEITEM_ITEM FOREIGN KEY
(itemid) REFERENCES ITEM(id);

Anonymous    Nov 01, 2003
Printed
Page 163
last line of page

/* of the ServiceContext. Otherwise, a default implementation is ...

NOW READS:
/* of the ServletContext. Otherwise, a default implementation is ...

Anonymous    Nov 01, 2003
Printed
Page 164
5

in the method...

public IStorefrontService createService() throws
ClassNotFoundException, IllegalAccessException, InstantiationException {
String className = servlet.getInitParameter( IConstants.SERVICE_CLASS_KEY );

if (className != null ){
serviceClassname = className;
}
return (IStorefrontService)Class.forName(className).newInstance();
}

NOW READS:
public IStorefrontService createService() throws
ClassNotFoundException, IllegalAccessException, InstantiationException {
String className = servlet.getInitParameter( IConstants.SERVICE_CLASS_KEY );

if (className != null ){
serviceClassname = className;
}

return (IStorefrontService)Class.forName(serviceClassName).newInstance();
}

Anonymous    Nov 01, 2003
Printed
Page 180
2nd Paragraph; The second line,

If you are forwarding from one action to anther, ...

NOW READS:
If you are forwarding from one action to another, ...

Anonymous    Nov 01, 2003
Printed
Page 212
IN PRINT: Table 8-7, 'Name' column

"INDEXED"

NOW READS:
"INDEXID"

Anonymous    Nov 01, 2003
Printed
Page 275
IN PRINT: Example 11-3

Boolean result = Boolean.valueOf(value);
if ( result == null ) {
errors.add ( ... );
}

NOW READS:
if (value == null || !(value.equalsIgnoreCase("true") ||
value.equalsIgnoreCase("false"))) {
errors.add (... );
}

Anonymous    Nov 01, 2003
Printed
Page 432
Index

There was previously an entry for logj4

All Index references for "logj4" ARE NOW LISTED under "log4j".

Anonymous    Nov 01, 2003