From: <th...@us...> - 2002-11-17 11:14:23
|
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> |