You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by hu...@apache.org on 2002/11/06 22:04:11 UTC

cvs commit: jakarta-struts/doc/faqs newbie.xml kickstart.xml

husted      2002/11/06 13:04:11

  Modified:    doc/faqs newbie.xml kickstart.xml
  Log:
  Questions, Questions, Questions. =:0)
  
  Revision  Changes    Path
  1.2       +58 -3     jakarta-struts/doc/faqs/newbie.xml
  
  Index: newbie.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/doc/faqs/newbie.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- newbie.xml	29 Oct 2002 11:09:24 -0000	1.1
  +++ newbie.xml	6 Nov 2002 21:04:11 -0000	1.2
  @@ -36,6 +36,8 @@
   
       <li><a href="#actionforms">Why are my checkboxes not being set from ON to OFF?</a></li>
   
  +    <li><a href="#reset"></a>Do I need to implement reset and set all my form properties to their initial values? </li>
  +
       <li>How can I capture binary or formatted values, like dates or telephone numbers?</li>
   
       <li>Why do my option lists disappear when validation fails?</li>
  @@ -44,6 +46,8 @@
   
       <li><a href="#tags">Why do the Struts tags provide for so little formatting?</a></li>
   
  +    <li><a href="#link">Why does the &lt;html:link> tag URL-encode javascript and mailto links?"</a></li>
  +
       <li>When is the best time to validate input?</li>
   
       <li>How can I avoid validating a form before data is entered?</li>
  @@ -167,6 +171,19 @@
   </section>
   
   
  +<section href="focus" name="Why doesn't the focus feature on the &lt;html:form> tag work in every circumstance?">
  +<p>
  +Unfortunately, there is some disagreement between the various browsers, and different versions of the same browser, as to how the focus can be set.
  +The &lt;html:form> tag provides a quick and easy Javascript that will set the focus on a form
  +for most versions of most browsers.
  +If this feature doesn't work for you, then you should set the focus using your own Javascript.
  +The focus feature is a convenient "value-add" -- not a core requirement of the tag.
  +If you do come up with a Javascript that provides the final solution to this project,
  +please post your patch to this <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13454">Bugzilla ticket</a>.
  +</p>
  +</section>
  +
  +
   <section href="checkbox" name="Why are my checkboxes not being set from ON to OFF?">
   <p>
   A problem with a checkbox is that the browser will only include it in the request
  @@ -194,6 +211,19 @@
   </section>
   
   
  +<section href="reset" name="Do I need to implement reset and set all my form properties to their initial values?">
  +<p>
  +No.
  +You need to set checkbox properties to false if the ActionForm is being retained in session scope.
  +This is because an unchecked box does not submit an attribute.
  +Only checked boxes submit attributes.
  +If the form is in session scope, and the checkbox was checked, there is no way to turn it back off without the reset method.
  +Resetting the properties for other controls, or for a request scope form, is pointless.
  +If the form is in request scope, everything already just started at the initial value.
  +</p>
  +</section>
  +
  +
   <section href="scriptlets" name="Can't I just create some of my JavaBeans in the JSP using a scriptlet?">
   <p>
   Struts is designed to encourage a
  @@ -223,7 +253,8 @@
   
   <section href="tags" name="Why do the Struts tags provide for so little formatting?">
   <p>
  -<i>The Struts tags seem to provide only the most rudimentary funcationality. Why is there not better support for date formatting and advanced string handling?</i>
  +<i>The Struts tags seem to provide only the most rudimentary funcationality.
  +Why is there not better support for date formatting and advanced string handling?</i>
   </p>
   <p>
   Three reasons:
  @@ -236,8 +267,32 @@
   </p>
   <p>
   Third, in a Model 2 application, most of the formatting can be handled in the ActionForms (or in the business tier),
  -so all the tag has to do is spit out a string. This leads to better reuse since the same "how to format" code
  -does not need to be repeated in every instance. You can "say it once" in a JavaBean and be done with it.
  +so all the tag has to do is spit out a string.
  +This leads to better reuse since the same "how to format" code does not need to be repeated in every instance.
  +You can "say it once" in a JavaBean and be done with it.
  +</p>
  +</section>
  +
  +<section href="layout" name="Why don't the Struts taglibs offer more layout options?">
  +<p>
  +Since the Struts tags are open source, you can extend them to provide whatever additional formatting you may need.
  +If you are interested in a prewritten taglib that offers more layout options, see the
  +<a href="http://struts.application-servers.com">struts-layout taglib</a>.
  +</p>
  +<p>
  +In the same arena, there is a well regarded contributtor taglib that can help you create
  +<a href="http://husted.com/struts/resources/struts-menu.zip">Menus for your Struts applications</a>.
  +</p>
  +</section>
  +
  +
  +<section href="link" name="Why does the &lt;html:link> tag URL-encode javascript and mailto links?">
  +<p>
  +The &lt;html:link> tag is not intended for use with client-side references like those used to launch Javascripts or email clients.
  +The purpose of link tag is to interject the context (or module) path into the URI so that your server-side links are not dependant on your context (or modoule) name.
  +It also encodes the link, as needed, to maintain the client's session on the server.
  +Neither feature applies to client-side links, so there is no reason to use the &lt;html:link> tag.
  +Simply markup the client-side links using the standard <a/> tag.
   </p>
   </section>
   
  
  
  
  1.2       +41 -3     jakarta-struts/doc/faqs/kickstart.xml
  
  Index: kickstart.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/doc/faqs/kickstart.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- kickstart.xml	29 Oct 2002 11:09:24 -0000	1.1
  +++ kickstart.xml	6 Nov 2002 21:04:11 -0000	1.2
  @@ -36,7 +36,7 @@
       <li><a href="#hosts">Are there ISPs that will host my Struts application?</a></li>
       <li><a href="#powered">What Web sites are already Powered by Struts?</a></li>
     </ul><ul>
  -    <li><a href="#turbine">What's the difference between Struts and Turbine?</a></li>
  +    <li><a href="#turbine">What's the difference between Struts and Turbine?  What's the difference between Struts and Expresso?</a></li>
       <li><a href="#taglibs">Why aren't the Struts tags maintained as part of the Jakarta Taglibs project?</a></li>
       <li><a href="#xhmtl">Are the Struts tags XHTML compliant?</a></li>
       <li><a href="#jsf">What about the JSTL and JavaServer Faces?</a></li>
  @@ -136,6 +136,26 @@
   (in the org.apache.struts.mock package) so that you can package up things
   that look like servlet API and Struts API objects to pass in as arguments
   to such tests.</p>
  +<p>
  +Another valuable tool is
  +<a href="http://sourceforge.net/projects/strutstestcase/">Struts TestCase</a>
  +which provides a useful harness for Action classes that can be used with JUnit or
  +<a href="http://jakarta.apache.org/cactus">Cactus</a>.
  +</p>
  +</section>
  +
  +<section href="requests" name="If the framework doesn't do what I want, can I request that a feature be added?">
  +<p>
  +First, it's important to remember that Struts is an all-volunteer project.
  +We don't charge anyone anything to use Struts.
  +Committers and other developers work on Struts because they need to use it with their own applications.
  +If others can use it too, that's "icing on the cake".
  +If you submit a patch for a feature that a Committer finds useful, then that Committer may choose to volunteer his or her time to apply the patch.
  +If you just submit an idea without a patch, it is much less likely to be added (since first someone else has to volunteer their time to write the patch).
  +</p>
  +<p>
  +We are grateful for any patches, and we welcome new ideas, but the best way to see that something gets added to the framework is to do as much of the work as you can, rather than rely on the "kindness of strangers". Worst case, you can apply the patch to your copy of Struts and still use the feature in your own application. (Which is what open source is ~really~ all about.)
  +</p>
   </section>
   
   <section href="help" name="Where can I get help with Struts?">
  @@ -181,8 +201,26 @@
   <p>For a listing of some Struts-powered Web sites available to the public, visit our <a href="resources/powered.html">Resources page</a>.</p>
   </section>
   
  -<section href="turbine" name="What's the difference between Jakarta Struts and Jakarta Turbine?">
  -<p>See</p>
  +<section href="turbine" name="What's the difference between Struts and Turbine? What's the difference between Struts and Expresso?">
  +<p>
  +If you are starting fromn scratch, packages like
  +<a href="http://jakarta.apache.org/turbine">Turbine</a> and
  +<a href="http://jcorporate.com">Expresso</a>
  +can be very helpful since they try to provide all of the basic services that your team is likely to need.
  +Such services include things like data persistance and logging.
  +</p>
  +<p>
  +If you are not starting from scratch, and need to hook up your web application to an existing infrastructure, then "plain vanilla" Struts can be a better choice.
  +The core Struts framework does not presuppose that you are using a given set of data persistance, presentation, or logging tools.
  +Anything goes =:0)
  +</p>
  +<p>
  +Compared to other offerings, Struts endeavors to be a minimalist framework.
  +We try leverage existing technologies whenever we can and then provide only the missing pieces you need to combine disparent technologies into a coherent application.
  +This is great when you want to select your own tools to use with Struts.
  +But, if you prefer a more integrated infrastructure, then packages like Turbine or Expresso are perfectly good ways to go.
  +</p>
  +<p>See also</p>
   <ul>
   <li>&lt; <a href="http://www.mail-archive.com/struts-user@jakarta.apache.org/msg03206.html">http://www.mail-archive.com/struts-user@jakarta.apache.org/msg03206.html</a> &gt;</li>
   <li>&lt; <a href="http://www.mail-archive.com/general@jakarta.apache.org/msg00495.html">http://www.mail-archive.com/general@jakarta.apache.org/msg00495.html</a> &gt;</li>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>