Update of /cvsroot/struts/sia
In directory usw-pr-cvs1:/tmp/cvs-serv15858
Modified Files:
errata.html
Log Message:
+ Routine update.
Index: errata.html
===================================================================
RCS file: /cvsroot/struts/sia/errata.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** errata.html 7 Nov 2002 16:09:19 -0000 1.2
--- errata.html 17 Nov 2002 11:14:21 -0000 1.3
***************
*** 37,46 ****
</blockquote>
-->
- <!--
! The first code on page 19 has a number of
! obvious faults, including two unnecessary "this." references and six
! extraneous ";"s.
! -->
<p>
--- 37,62 ----
</blockquote>
-->
! <p>
! <!-- Brendan -->
! <b>Section 1.3.3 (page 9, sixth paragraph)</b>
! </p>
! <p>
! The text reads
! </p>
! <blockquote>
! "... it will just create a new thread for each request."
! </blockquote>
! <p>
! but would better read:
! </p>
! <blockquote>
! "... it will just assign a new thread for each request."
! </blockquote>
! <p>
! In practice, threads are pooled, so the container would not
! actually create a brand-new thread for each request.
! </p>
! <hr noshade size="1" />
<p>
***************
*** 92,96 ****
--- 108,170 ----
}
</code></pre></blockquote>
+ <hr noshade size="1" />
+
+ <p>
+ <!-- Tacs1 -->
+ <b>Section 1.4.3 (page 20)</b>
+ </p>
+ <p>
+ The test doesn't mention that the UserDirectory source code is available in the download.
+ The following should be added as the second paragraph of page 20:
+ </p>
+ <blockquote>
+ "We will also focus only on the <i>Struts</i> source files you need to create.
+ For example, the UserDirectory class is part of the application's business logic.
+ The Struts framework interacts with this class,
+ but the UserDirectory is <b>not</b> part of the Struts layer.
+ (You would need this class whether you used Struts or not.)
+ If you are interested, the source code for UserDirectory is provided in the
+ WEB-INF/classes folder of the register application."
+ </blockquote>
+ <hr noshade size="1" />
+
+ <p>
+ <!-- Brendan -->
+ <b>Section 1.4.4 (page 26)</b>
+ </p>
+ <p>
+ The first two code snippets both read
+ </p>
+ <blockquote>
+ type=" app.RegisterAction"
+ </blockquote>
+ <p>
+ when they should read:
+ </p>
+ <blockquote>
+ type="app.RegisterAction"
+ </blockquote>
+ <p>
+ (No leading space).
+ </p>
+ <hr noshade size="1" />
+ <p>
+ <!-- Brendan -->
+ <b>Section 1.4.4 (page 26)</b>
+ </p>
+ <p>
+ The second code snippet reads
+ </p>
+ <blockquote>
+ type="RegisterForm"
+ </blockquote>
+ <p>
+ when it should read:
+ </p>
+ <blockquote>
+ type="app.RegisterForm"
+ </blockquote>
+ <hr noshade size="1" />
<p>
***************
*** 117,120 ****
--- 191,238 ----
</code></pre></blockquote>
<hr noshade size="1" />
+
+ <p>
+ <!-- Ken -->
+ <b>Section 12.2 (page 372, last paragraph)</b>
+ </p>
+ <p>
+ The text reads
+ </p>
+ <blockquote>
+ "The validator-rules.xml has a <form> element .."
+ </blockquote>
+ <p>
+ but should read:
+ </p>
+ <blockquote>
+ "The validation.xml has a <form> element ..."
+ </blockquote>
+ <p>
+ Although either file can contain any of the validator elements,
+ the convention is to place the reusable validators in the
+ "validator-rules" file and your application-specific forms
+ in the "validations" file.
+ </p>
+ <hr noshade size="1" />
+
+ <p>
+ <!-- Ken -->
+ <b>Section 12.2 (page 373, fourth paragraph)</b>
+ </p>
+ <p>
+ The text reads
+ </p>
+ <blockquote>
+ "The ValidatorDynaForm class ..."
+ </blockquote>
+ <p>
+ but should read:
+ </p>
+ <blockquote>
+ "The DynaValidatorForm class ..."
+ </blockquote>
+ <hr noshade size="1" />
+
+
</body>
</html>
|