[jbosstools-commits] JBoss Tools SVN: r7109 - in trunk/struts: docs and 8 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Tue Mar 25 10:30:57 EDT 2008
Author: ochikvina
Date: 2008-03-25 10:30:57 -0400 (Tue, 25 Mar 2008)
New Revision: 7109
Added:
trunk/struts/docs/
trunk/struts/docs/struts_tools_ref_guide/
trunk/struts/docs/struts_tools_ref_guide/en/
trunk/struts/docs/struts_tools_ref_guide/en/images/
trunk/struts/docs/struts_tools_tutorial/
trunk/struts/docs/struts_tools_tutorial/en/
trunk/struts/docs/struts_tools_tutorial/en/images/
trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/
trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_1.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_2.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_3.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_4.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_5.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_6.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/
trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation_1.png
trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation_2.png
trunk/struts/docs/struts_tools_tutorial/en/master.xml
trunk/struts/docs/struts_tools_tutorial/en/modules/
trunk/struts/docs/struts_tools_tutorial/en/modules/introduction.xml
trunk/struts/docs/struts_tools_tutorial/en/modules/struts_application.xml
trunk/struts/docs/struts_tools_tutorial/en/modules/struts_validation.xml
trunk/struts/docs/struts_tools_tutorial/pom.xml
Log:
http://jira.jboss.com/jira/browse/JBDS-261 - two new guides are created "Struts Tools tutorial" & "Struts Tools Ref guide"
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_application/struts_application_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en/images/struts_validation/struts_validation_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en/master.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en/master.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en/master.xml 2008-03-25 14:30:57 UTC (rev 7109)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"../../../resources/support/docbook-dtd/docbookx.dtd"
+
+[<!ENTITY introduction SYSTEM "modules/introduction.xml">
+<!ENTITY struts_application SYSTEM "modules/struts_application.xml">
+<!ENTITY struts_validation SYSTEM "modules/struts_validation.xml">
+]>
+
+<book>
+
+ <bookinfo>
+ <title>Struts Tools Tutorial</title>
+
+ <copyright>
+ <year>2007</year>
+ <holder>Red Hat</holder>
+ </copyright>
+
+ <releaseinfo>
+<para>Version: 1.0.0.GA</para>
+</releaseinfo>
+ </bookinfo>
+
+ <toc/>
+
+ &introduction;
+ &struts_application;
+ &struts_validation;
+
+
+</book>
Added: trunk/struts/docs/struts_tools_tutorial/en/modules/introduction.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en/modules/introduction.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en/modules/introduction.xml 2008-03-25 14:30:57 UTC (rev 7109)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="introduction" xreflabel="introduction">
+ <?dbhtml filename="introduction.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Introduction</title>
+ <para>The following chapters describe how to deal with classic/old style of Struts development. We
+ recommend users to use <ulink url="../../../seam/en/html/create_new_seam.html">JBoss
+ Seam</ulink> to simplify development, but until then you can read about classical Struts
+ usage here.</para>
+</chapter>
Added: trunk/struts/docs/struts_tools_tutorial/en/modules/struts_application.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en/modules/struts_application.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en/modules/struts_application.xml 2008-03-25 14:30:57 UTC (rev 7109)
@@ -0,0 +1,512 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="struts_application" xreflabel="struts_application">
+ <?dbhtml filename="struts_application.html"?>
+ <title>Getting Started Guide for Creating a Struts Application</title>
+ <para>We are going to show you how to create a simple <emphasis><property>Struts application</property></emphasis> using the JBoss Developer Studio. The completed application will ask a user to enter a name and click a button.
+ The resulting new page will display the familiar message, "Hello <name>!"</para>
+<para>This document will show you how to create such an application from the beginning, along
+the way demonstrating some of the powerful features of JBoss Developer Studio. You will design the
+application, generate stub code for the application, fill in the stub coding, compile the application,
+and run the application all from inside JBoss Developer Studio.</para>
+<para>We assume that you have already launched Eclipse with JBoss Developer Studio installed and also that the Web Development perspective is the current perspective. (If not,
+ make it active by selecting <emphasis><property>Window > Open Perspective > Other > Web Development</property></emphasis> from the menu bar.)</para>
+
+ <section id="StartingUp">
+ <title>Starting Up</title>
+<para>We are first going to create a new project for the application.</para>
+ <itemizedlist>
+<listitem><para>Go to the menu bar and select <emphasis><property>File > New > Project...</property></emphasis>.</para></listitem>
+<listitem><para>Select <emphasis><property>JBoss Tools Web > Struts > Struts Project</property></emphasis> in the New Project dialog box</para></listitem>
+<listitem><para>Click <emphasis><property>Next </property></emphasis></para></listitem>
+<listitem><para>Enter "StrutsHello" as the project name</para></listitem>
+ <listitem><para>Leave everything else as is, and click <emphasis><property>Next</property></emphasis></para></listitem>
+ <listitem><para>Click <emphasis><property>Next</property></emphasis> again</para></listitem>
+ <listitem><para>Make sure that <emphasis><property>struts-bean.tld</property></emphasis>, <emphasis><property>struts-html.tld</property></emphasis>, and <emphasis><property>struts-logic.tld</property></emphasis> are checked in the list of included tag libraries and then click <emphasis><property>Finish</property></emphasis></para></listitem>
+</itemizedlist>
+<para>A "StrutsHello" node should appear in the upper-left Package Explorer view.</para>
+ <itemizedlist continuation="continues">
+ <listitem><para>Click the plus sign next to <emphasis><property>StrutsHello</property></emphasis> to reveal the child nodes</para></listitem>
+ <listitem><para>Click the plus sign next to <emphasis><property>WebContent</property></emphasis> under StrutsHello</para></listitem>
+ <listitem><para>Click the plus sign next to <emphasis><property>WEB-INF</property></emphasis> under WebContent</para></listitem>
+ <listitem><para>Then, double-click on the <emphasis><property>struts-config.xml</property></emphasis> node to display a diagram of the Struts application configuration file in the editing area</para></listitem>
+ </itemizedlist>
+<para>At this point, its empty except for the background grid lines.</para>
+ </section>
+
+ <section id="CreatingtheApplicationComponents">
+ <?dbhtml filename="CreatingtheApplicationComponents.html"?>
+ <title>Creating the Application Components</title>
+<para>Now, we will design the application by creating the individual components as placeholders
+first. (We dont have to complete all of the details inside the components until afterwards.)</para>
+ <section id="CreatingJSPPagePlaceholders">
+ <title>Creating JSP Page Placeholders</title>
+ <para>Next, let's create and place two JSP pages. We will not write any code for the files, but only
+create them as placeholders so that we can create links to them in the diagram. We will write
+the code a little bit later.</para>
+ <section id="CreatingthePagePlaceholders">
+ <title>Creating the Page Placeholders</title>
+ <itemizedlist continuation="continues">
+ <listitem><para>Bring the Web Projects view to the front of the Package Explorer view by selecting the <emphasis><property>Web Projects</property></emphasis> tab next to that tab.</para></listitem>
+ <listitem><para>Right-click the <emphasis><property>StrutsHello > WEB-ROOT (WebContent)</property></emphasis> folder in the Web Projects view and select <emphasis><property>New > Folder...</property></emphasis></para></listitem>
+ <listitem><para>Enter <emphasis><property>pages</property></emphasis> for a folder name and click <emphasis><property>Finish</property></emphasis></para></listitem>
+
+<listitem><para>We will keep our presentation files in this folder</para></listitem>
+
+<listitem><para>Right-click the pages folder and select <emphasis><property>New > Fila > JSP...</property></emphasis> </para></listitem>
+ <listitem><para>For Name type in <emphasis><property>inputname</property></emphasis> (the JSP extension will be automatically added to the file), for Template select <emphasis><property>StrutsForm</property></emphasis> and then click on the <emphasis><property>Finish</property></emphasis> button</para></listitem>
+<listitem><para>Right-click the pages folder again and select <emphasis><property>New > File > JSP...</property></emphasis></para></listitem>
+ <listitem><para>For Name type in <emphasis><property>greeting</property></emphasis>, for Template leave as Blank, and then click on the <emphasis><property>Finish</property></emphasis> button</para></listitem>
+ </itemizedlist>
+<para>Just leave these files as is for now.</para>
+ </section>
+ <section id="PlacingthePagePlaceholders">
+ <title>Placing the Page Placeholders</title>
+<para>Lets now place the two pages just created on the diagram.</para>
+ <itemizedlist continuation="continues">
+ <listitem><para>Click on the <emphasis><property>struts-config.xml</property></emphasis> tab in the Editing area to bring the diagram to the front</para></listitem>
+ <listitem><para>Click on the <emphasis><property>inputname.jsp</property></emphasis> page in the Web Projects view, drag it onto the diagram, and drop it</para></listitem>
+ <listitem>Click on the <emphasis><property>greeting.jsp</property></emphasis> page in the Web Projects view, drag it onto the diagram,
+and drop it to the right of the <emphasis><property>/pages/inputname.jsp</property></emphasis> icon with some extra space</listitem>
+</itemizedlist>
+<para>You should now have two JSP pages in the diagram.</para>
+ </section>
+ </section>
+ <section id="CreatinganActionMappings">
+ <title>Creating an Action Mappings</title>
+<para>Using a context menu on the diagram, we are next going to create an Action mapping.</para>
+ <itemizedlist continuation="continues">
+<listitem><para>Right-click between the two icons and select <emphasis><property>Add > Action</property></emphasis></para></listitem>
+<listitem><para>Enter the following values:</para></listitem>
+ </itemizedlist>
+ <table>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>path</entry>
+ <entry>/greeting</entry>
+ </row>
+ <row>
+ <entry>name</entry>
+ <entry>GetNameForm</entry>
+ </row>
+ <row>
+ <entry>scope</entry>
+ <entry>request</entry>
+ </row>
+ <row>
+ <entry>type</entry>
+ <entry>sample.GreetingAction</entry>
+ </row>
+ <row>
+ <entry>validate</entry>
+ <entry><leave blank></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<para>("GetNameForm" is the name for a form bean that we will create later.)</para>
+<itemizedlist continuation="continues">
+ <listitem><para>Click <emphasis><property>Finish</property></emphasis></para></listitem>
+</itemizedlist>
+
+<para>The <emphasis><property>/greeting</property></emphasis> action should appear in four places, in the diagram, under the action-mappings node, under the struts-config.xml node in Tree view, in Web Projects view and in the Outline view. Also, note the asterisk to the right of the name, struts-config.xml, in the Outline view showing that the file has been changed, but not saved to disk.</para>
+ </section>
+ <section id="CreatingaLink">
+ <title>Creating a Link</title>
+<para>Let's now create a link from the inputname.jsp page to the action.</para>
+ <itemizedlist continuation="continues">
+<listitem><para>On the left-hand side of the diagram in the column of icons, click on this icon:</para></listitem>
+ </itemizedlist>
+ <figure>
+ <title>Create New Connection Icon</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist continuation="continues">
+ <listitem><para>In the connect-the-components mode you are in now, click on the <emphasis><property>/pages/inputname.jsp</property></emphasis> icon in the diagram and then click on the <emphasis><property>/greeting</property></emphasis> action</para></listitem>
+ </itemizedlist>
+<para>A link will be created from the page to the action.</para>
+ </section>
+ <section id="CreatingaForward">
+ <title>Creating a Forward</title>
+<para>Next, we are going to create a forward for the action.</para>
+ <itemizedlist continuation="continues">
+<listitem><para>On the left-hand side of the diagram in the column of icons, click on this icon, again:</para></listitem>
+ </itemizedlist>
+ <figure>
+ <title>Create New Connection Icon</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist continuation="continues">>
+<listitem><para>Click on the <emphasis><property>/greeting</property></emphasis> action icon in the diagram and then click on the <emphasis><property>pages/greeting.jsp</property></emphasis> icon</para></listitem>
+
+<listitem><para>That's it. A link will be drawn from the actions new greeting forward to the greeting.jsp JSP page. Note that the forwards name will be set based on the name of the target JSP file name. If you don't like it, you can easily change it</para></listitem>
+
+ <listitem><para>Select the <emphasis><property>Tree</property></emphasis> tab at the bottom of the editor window (between Diagram and Source)</para></listitem>
+<listitem><para>Expand the <emphasis><property>struts-config.xml/action-mappings//greeting</property></emphasis> node and then select the greeting forward</para></listitem>
+<listitem><para>In the Properties Editor to the right, change the text to "sayHello" in the Name field</para></listitem>
+ <listitem><para>Select the <emphasis><property>Diagram</property></emphasis> tab at the bottom of the editor window and see how the diagram is also updated to reflect the change</para></listitem>
+ </itemizedlist>
+ </section>
+ <section id="CreatingaGlobalForward">
+ <title>Creating a Global Forward</title>
+<para>One last component that we need to create in the diagram is a global forward.</para>
+ <itemizedlist continuation="continues">
+<listitem><para>Somewhere in the top-left corner of diagram, right-click and select <emphasis><property> Add > Global Forward...</property></emphasis></para></listitem>
+ <listitem><para>Enter <emphasis><property>getName</property></emphasis> in the Name field</para></listitem>
+<listitem><para>Select the <emphasis><property>Change...</property></emphasis>button for Path</para></listitem>
+ <listitem><para>In the Edit Path window, switch to the <emphasis><property>Pages</property></emphasis> tab</para></listitem>
+<listitem><para>Expand the <emphasis><property>StrutsHello > WEB-ROOT (WebContent) > pages</property></emphasis> node and then select the inputname.jsp page</para></listitem>
+<listitem><para>Click <emphasis><property>Ok</property></emphasis>.</para></listitem>
+<listitem><para>Leave the rest of the fields blank and click <emphasis><property>OK</property></emphasis></para></listitem>
+ </itemizedlist>
+<para>A forward object now appears on the diagram and also in the global-forwards folder in the Outline view.</para>
+ <itemizedlist continuation="continues">
+ <listitem><para>Tidy up the diagram, by clicking and dragging around each icon, so that the diagram looks something like this:</para></listitem>
+ </itemizedlist>
+ <figure>
+ <title>Diagram View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="CreatingaFormBean">
+ <title>Creating a Form Bean</title>
+<para>One last thing that we need to do is to create a form bean.</para>
+ <itemizedlist continuation="continues">
+ <listitem><para>Switch to the Tree viewer in the editor for the struts-config.xml file, by selecting the <emphasis><property>Tree</property></emphasis> tab at the bottom of the editor window</para></listitem>
+<listitem><para>Right-click <emphasis><property>struts-config.xml > form-beans</property></emphasis> and select Create Form Bean</para></listitem>
+ <listitem><para>Enter <emphasis><property>GetNameForm</property></emphasis> in the name field and <emphasis><property>sample.GetNameForm</property></emphasis> for type</para></listitem>
+ <listitem><para>Click <emphasis><property>Finish</property></emphasis></para></listitem>
+<listitem><para>To save your changes to struts-config.xml, select <emphasis><property>File > Save</property></emphasis> from the menu bar</para></listitem>
+ </itemizedlist>
+<para>Note the disappearance of the asterisk next to the name, struts-config.xml.</para>
+</section>
+</section>
+
+ <section id="GeneratingStubCoding">
+ <?dbhtml filename="GeneratingStubCoding.html"?>
+ <title>Generating Stub Coding</title>
+ <para>We are done with designing the application through the diagram. Now we need to write
+ code for the action component. We also need to write an action class for the <emphasis><property>/greeting</property></emphasis> mapping
+ along with a FormBean. To aid in the coding phase, JBoss Developer Studio can generate Java class
+ stubs for all of the components shown in the diagram.</para>
+ <itemizedlist continuation="continues">
+ <listitem><para>Switch back to the diagram, by selecting the <emphasis><property>Diagram</property></emphasis> tab at the bottom of the editor window</para></listitem>
+ <listitem><para>Right-click a blank space in the diagram and select <emphasis><property>Generate Java Code</property></emphasis></para></listitem>
+ <listitem><para>Leave everything as is in the dialog box and click <emphasis><property>Generate</property></emphasis></para></listitem>
+</itemizedlist>
+<para>You should see a screen that says:</para>
+<para>Generated classes: 2</para>
+<para>Actions: 1</para>
+<para>Form beans: 1</para>
+ <itemizedlist continuation="continues">
+ <listitem><para>Click <emphasis><property>Finish</property></emphasis></para></listitem>
+ </itemizedlist>
+<para>The Java files will be generated in a <emphasis><property>JavaSource > sample</property></emphasis> folder that you can see in the Package Explorer view under the "StrutsHello" node. One Action stub and one FormBean stub will have been generated.</para>
+ </section>
+ <section id="CodingtheVariousFiles">
+ <?dbhtml filename="CodingtheVariousFiles.html"?>
+ <title>Coding the Various Files</title>
+<para>We will now code both the Java stub classes just generated, the JSP files left in as placeholders
+ from previous steps, and a new start JSP page we will have to create.</para>
+ <section id="JavaStubClasses">
+ <title>Java Stub Classes</title>
+ <itemizedlist continuation="continues">
+ <listitem><para>To finish the two Java classes, switch to the <emphasis><property>Package Explorer</property></emphasis> view and expand the <emphasis><property>JavaSource > sample</property></emphasis> folder</para></listitem>
+ </itemizedlist>
+ <section id="GetNameForm.java">
+ <title>GetNameForm.java</title>
+ <itemizedlist continuation="continues">
+ <listitem><para>Double-click <emphasis><property>GetNameForm.java</property></emphasis> for editing</para></listitem>
+
+<listitem><para>You are looking at a Java stub class that was generated by JBoss Developer Studio. Now we are going to edit the file</para></listitem>
+
+<listitem><para>Add the following attributes at the beginning of the class:</para></listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[private String name = "";
+ private String greetName = "";
+]]></programlisting>
+
+ <itemizedlist continuation="continues">
+<listitem><para>Inside the reset method, delete the TO DO and throw lines and add:</para></listitem>
+</itemizedlist>
+<programlisting role="JAVA"><![CDATA[this.name = "";
+ this.greetName = "";
+]]></programlisting>
+
+ <itemizedlist continuation="continues">
+<listitem><para>Inside the validate method, delete the TO DO and throw lines and add:</para></listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[ActionErrors errors = new ActionErrors();
+ return errors;
+]]></programlisting>
+
+ <itemizedlist continuation="continues">
+<listitem><para>Right-click and select <emphasis><property>Source > Generate Getters and Setters...</property></emphasis>from the context menu</para></listitem>
+ <listitem><para>In the dialog box, check the check boxes for name and greetName, select First method for Insertion point, and click on the <emphasis><property>OK</property></emphasis> button</para></listitem>
+ </itemizedlist>
+<para>The final GetNameForm.java file should look like this:</para>
+<programlisting role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionMapping;
+
+public class GetNameForm extends org.apache.struts.action.ActionForm
+{
+
+ private String name = "";
+ private String greetName = "";
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getGreetName()
+ {
+ return greetName;
+ }
+
+ public void setGreetName(String greetName)
+ {
+ this.greetName = greetName;
+ }
+
+ public GetNameForm()
+ {
+ }
+
+ public void reset(ActionMapping actionMapping, HttpServletRequest request)
+ {
+ this.name = "";
+ this.greetName = "";
+ }
+
+ public ActionErrors validate(ActionMapping actionMapping,
+ HttpServletRequest request)
+ {
+ ActionErrors errors = new ActionErrors();
+ return errors;
+ }
+}
+]]></programlisting>
+
+<itemizedlist continuation="continues">
+<listitem><para>Save the file</para></listitem>
+</itemizedlist>
+</section>
+ <section id="GreetingAction.java">
+ <title>GreetingAction.java</title>
+ <itemizedlist continuation="continues">
+<listitem><para>Open GreetingAction.java for editing</para></listitem>
+<listitem><para>Inside the execute method, delete the TO DO lines and add the following:</para></listitem>
+ </itemizedlist>
+
+ <programlisting role="JAVA"><![CDATA[String name = ((GetNameForm)form).getName();
+String greeting = "Hello, "+name+"!";
+((GetNameForm)form).setName(greeting);
+return mapping.findForward(FORWARD_sayHello);
+]]></programlisting>
+
+<para>The final version of GreetingAction.java should look like this:</para>
+
+<programlisting role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+public class GreetingAction extends org.apache.struts.action.Action
+{
+
+ // Global Forwards
+ public static final String GLOBAL_FORWARD_getName = "getName";
+
+ // Local Forwards
+ public static final String FORWARD_sayHello = "sayHello";
+
+ public GreetingAction()
+ {
+ }
+ public ActionForward execute(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) throws Exception
+ {
+ String name = ((GetNameForm)form).getName();
+ String greeting = "Hello, "+name+"!";
+ ((GetNameForm)form).setName(greeting);
+ return mapping.findForward(FORWARD_sayHello);
+ }
+}
+]]></programlisting>
+ <itemizedlist continuation="continues">
+<listitem><para>Save the file</para></listitem>
+<listitem><para>Close the editors for the two Java files</para></listitem>
+ </itemizedlist>
+<para>The last thing left to do is to code the JSP files whose editors should still be open from having been created as placeholders.</para>
+ </section>
+ </section>
+ <section id="JSPPages">
+ <title>JSP Pages</title>
+ <section id="inputname.jsp">
+ <title>inputname.jsp</title>
+ <para>In this page, the user will enter any name and click the <emphasis><property>submit</property></emphasis> button. Then, the greeting action will be called through the form.</para>
+ <itemizedlist continuation="continues">
+ <listitem><para>Click on the <emphasis><property>inputname.jsp</property></emphasis> tab in the Editing area to bring its editor forward</para></listitem>
+<listitem><para>In the Web Projects view, expand <emphasis><property>StrutsHello > Configuration > default > struts-config.xml > action-mappings</property></emphasis> and select <emphasis><property>/greeting</property></emphasis></para></listitem>
+<listitem><para>Drag it and drop it between the quotes for the <emphasis role="italic"><property>"action"</property></emphasis> attribute to the <emphasis role="bold"><property><html:form></property></emphasis> element in the Source pane of the editor</para></listitem>
+<listitem><para>Then type this text on a new line just below this line:</para></listitem>
+
+<programlisting role="XML"><![CDATA[Input name:
+]]></programlisting>
+
+ <listitem><para>Select the <emphasis><property>Visual</property></emphasis> pane of the editor</para></listitem>
+ <listitem><para>Then, in the JBoss Tools Palette, expand the <emphasis><property>Struts Form</property></emphasis> library, select <emphasis><property>text</property></emphasis>, and drag it onto the box
+ <note>
+ <title>Note:</title>
+ <para>By default there are only four groups on the JBoss Tools Palette. If you wish to make some group visible click the <emphasis><property>Show/Hide</property></emphasis> button on the top of palette and in the prompted dialog check the group (or groups) you want to be shown.</para>
+ </note>
+ </para></listitem>
+ </itemizedlist>
+ <figure>
+ <title>JBoss Tools Palette</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_3.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist continuation="continues">
+ <listitem><para>In the Insert Tag dialog box, type in name for property and select <emphasis><property>Finish</property></emphasis></para></listitem>
+ <listitem><para>In the StrutsForm library in the JBoss Tools Palette, select <emphasis><property>submit</property></emphasis>, and drag it to right after the text box in the Visual pane of the editor</para></listitem>
+ <listitem><para>Right-click the <emphasis><property>submit</property></emphasis> button and select <emphasis role="bold"><property><html:submit></property></emphasis> Attributes from the context menu</para></listitem>
+ <listitem><para>In the Attributes dialog box, select the <emphasis><property>value</property></emphasis> field and type in "Say Hello!" for its value</para></listitem>
+ </itemizedlist>
+<para>After tidying the page source, the Editor window for the file should look something like this:</para>
+ <figure>
+ <title>Editor Window</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_4.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="greeting.jsp">
+ <title>greeting.jsp</title>
+<para>Next, we will fill in the result page.</para>
+<itemizedlist continuation="continues">
+ <listitem><para>Click on the <emphasis><property>greeting.jsp</property></emphasis> tab in the Editing area to bring its editor forward</para></listitem>
+<listitem><para>Type in the following code:</para></listitem>
+ </itemizedlist>
+<programlisting role="XML"><![CDATA[<html>
+<head>
+ <title>Greeting</title>
+</head>
+ <body>
+ <p>
+ </p>
+ </body>
+</html>
+]]></programlisting>
+
+<para>To complete editing of this file, we will use macros from the JBoss Tools Palette. This palette is a view that should be available to the right of the editing area.</para>
+ <itemizedlist continuation="continues">
+<listitem><para>Click on the <emphasis><property>Struts Common</property></emphasis> folder in the JBoss Tools Palette to open it</para></listitem>
+<listitem><para>Position the cursor at the beginning of the greeting.jsp file in the Source pane and then click on bean taglib in the JBoss Tools Palette</para></listitem>
+</itemizedlist>
+<para>This will insert the following line at the top of the file:</para>
+<programlisting role="JAVA"><![CDATA[
+<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
+]]></programlisting>
+<itemizedlist continuation="continues">
+ <listitem><para>Click on the <emphasis><property>Struts Bean</property></emphasis> folder in the JBoss Tools Palette to open it</para></listitem>
+<listitem><para>Position the cursor inside the <emphasis role="bold"><property><p></property></emphasis> element</para></listitem>
+<listitem><para>Click on write in the JBoss Tools Palette</para></listitem>
+<listitem><para>Type in "GetNameForm" for the <emphasis role="italic"><property>"name"</property></emphasis> attribute and add a <emphasis role="italic"><property>"property"</property></emphasis> attribute with "greetName" as its value</para></listitem>
+ </itemizedlist>
+<para>The editor should now look like this:</para>
+ <figure>
+ <title>Editor Window</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_5.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="index.jsp">
+ <title>index.jsp</title>
+<para>Finally, we will need to create and edit an index.jsp page. This page will use a Struts forward to simply redirect us to the getName global forward.</para>
+ <itemizedlist continuation="continues">
+<listitem><para>In the Web Projects view, right-click on <emphasis><property>StrutsHello > WEB-ROOT(WebContent)</property></emphasis> node and select <emphasis><property>New > File > JSP..</property></emphasis></para></listitem>
+ <listitem><para>Type index for Name and click on the <emphasis><property>Finish</property></emphasis> button</para></listitem>
+ <listitem><para>On the JBoss Tools Palette, select the <emphasis><property>Struts Common</property></emphasis> folder of macros by clicking on it in the palette</para></listitem>
+<listitem><para>Click on the logic taglib icon</para></listitem>
+ <listitem><para>Press the <emphasis><property>Enter</property></emphasis> key in the editor to go to the next line</para></listitem>
+ <listitem><para>Back on the palette, select the <emphasis><property>Struts Logic</property></emphasis> folder of macros</para></listitem>
+<listitem><para>Click on redirect</para></listitem>
+<listitem><para>Delete the ending tag, put a forward slash in front of the closing angle bracket, and type "forward=getName" in front of the slash</para></listitem>
+ </itemizedlist>
+<para>The finished code for the page is shown below:</para>
+<programlisting role="JAVA"><![CDATA[<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
+<logic:redirect forward="getName"/>
+]]></programlisting>
+ <itemizedlist continuation="continues">
+<listitem><para>To save all the edits to files, select <emphasis><property>File>Save All</property></emphasis> from the menu bar</para></listitem>
+ </itemizedlist>
+ </section>
+ </section>
+ </section>
+ <section id="CompilingtheClasses">
+ <?dbhtml filename="CompilingtheClasses.html"?>
+ <title>Compiling the Classes</title>
+ <para>Because this is the Eclipse environment, no explicit compilation step is required. By default, Eclipse compiles as you go.</para>
+ </section>
+ <section id="RunningtheApplication">
+ <?dbhtml filename="RunningtheApplication.html"?>
+ <title>Running the Application</title>
+ <para>Everything is now ready for running our application without having to leave JBoss Developer Studio
+ by using the JBoss Application Server engine that comes with the JBoss Developer Studio. For controlling
+ JBoss AS within JBoss Developer Studio, there is JBoss Server view.</para>
+ <figure>
+ <title>JBoss Server Panel</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist continuation="continues">
+<listitem><para>Start up JBoss AS by clicking on the icon in JBoss Server view. (If JBoss AS is already running, stop it by clicking on the red icon and then start it again. Remember, the Struts run-time requires restarting the servlet engine when any changes have been made.)</para></listitem>
+<listitem><para>After the messages in the Console tabbed view stop scrolling, JBoss AS is available. At this point, right-click on the getName global forward in the struts-config.xml diagram view and select Run on Server.</para></listitem>
+ </itemizedlist>
+<para>The browser should appear with the application started.</para>
+ </section>
+
+ <section id="OtherRelevantResourcesOnTheTopic4">
+<?dbhtml filename="OtherRelevantResourcesOnTheTopic4.html"?>
+<title>Other relevant resources on the topic</title>
+<para>Apache Struts: <ulink url="http://struts.apache.org/">Struts Technology</ulink></para>
+<para>Struts 2: <ulink url="http://struts.apache.org/2.x/">Apache Struts 2</ulink></para>
+<para>Get Started: <ulink url="http://struts.apache.org/2.x/docs/home.html">Struts Getting Started</ulink></para>
+<para>Struts on IBM: <ulink url="http://www.ibm.com/developerworks/library/j-struts/">Struts - An open-source MVC implementation</ulink></para>
+<para>FAQ: <ulink url="http://struts.apache.org/2.x/docs/faqs.html">Struts FAQ</ulink></para>
+<para>Download: <ulink url="http://struts.apache.org/download.cgi#struts206">Release of Apache Struts</ulink></para>
+</section>
+</chapter>
\ No newline at end of file
Added: trunk/struts/docs/struts_tools_tutorial/en/modules/struts_validation.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en/modules/struts_validation.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en/modules/struts_validation.xml 2008-03-25 14:30:57 UTC (rev 7109)
@@ -0,0 +1,267 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="struts_validation" xreflabel="struts_validation">
+ <?dbhtml filename="struts_validation.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Validation</keyword>
+ </keywordset>
+ </chapterinfo>
+<title>Getting Started Struts Validation Examples</title>
+
+<para><property>Validation</property> of input is an important part of any Web application. All Apache Jakarta frameworks,
+including Struts, can use a common Jakarta Validation Framework for streamlining this aspect of Web
+application development. The Validation Framework allows you to define validation rules and then apply these rules on the client-side or the server-side.</para>
+
+ <para>JBoss Developer Studio makes using the <property>Validation Framework</property> in Struts even easier with the help of a specialized editor for the XML files that controls validation in a project. In this document, we'll show you how this all works by creating some simple client-side validation and server-side validation examples.</para>
+
+<section id="StartingPoint">
+<?dbhtml filename="StartingPoint.html"?>
+<title>Starting Point</title>
+<para>The example assumes that you have already created our sample "StrutsHello" application from the
+Getting Started Guide for Creating a Struts Application. You should have the JBoss Developer Studio perspective
+ open on this StrutsHello project.</para>
+</section>
+
+<section id="DefiningTheValidationRule">
+<?dbhtml filename="DefiningTheValidationRule.html"?>
+<title>Defining the Validation Rule</title>
+<para>In these steps you will set up the validation that can be used for either client-side or
+server side validation. You need to enable validation as a part of the project, define an error message, and tie it into an appropriate part of the application.</para>
+
+<itemizedlist>
+<listitem><para>Right-click on a "plug-ins" node under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml</property></emphasis> node in the Web Projects view and select <emphasis><property>Create Special Plugin > Validators</property></emphasis> from the context menu</para></listitem>
+<listitem><para>Further down in the Web Projects view, right-click on the
+<emphasis><property>StrutsHello > ResourceBundles</property></emphasis> node and select <emphasis><property> New > Properties File...</property></emphasis>from the context menu</para></listitem>
+<listitem><para>In the dialog box, click on the <emphasis><property>Browse...</property></emphasis>button next to the Folder field, expand the
+ JavaSource folder in this next dialog box, select the sample subfolder, and click on the <emphasis><property>OK</property></emphasis> button</para></listitem>
+ <listitem><para>Back in the first dialog box, type in "applResources" for the Name field and click on the <emphasis><property>Finish</property></emphasis> button</para></listitem>
+<listitem><para>Right-click on a newly created file and select <emphasis><property>Add > Default Error Messages</property></emphasis>
+ from the context menu</para></listitem>
+
+<listitem><para>Drag up the sample.applResources icon until you can drop it on the resources folder under struts-config.xml</para></listitem>
+<listitem><para>Select<emphasis><property> File > Save </property></emphasis>All from the menu bar</para></listitem>
+<listitem><para>Select validation.xml under the <emphasis><property>StrutsHello > Validation</property></emphasis> node and double-click it to open it with the JBoss Tools XML Editor</para></listitem>
+<listitem><para>Here you must create a Formset.</para></listitem>
+<listitem><para>In the validation.xml file editor click the button <emphasis><property>Create Formset</property></emphasis> on the panel <emphasis><property>Formsets</property></emphasis></para></listitem>
+<listitem><para>In the dialog <emphasis><property>Add Formset</property></emphasis> fill the fields <emphasis><property>Language</property></emphasis> and <emphasis><property>Country</property></emphasis> or just leave them empty to create a default formset. Click <emphasis><property>OK</property></emphasis></para></listitem>
+</itemizedlist>
+<figure>
+ <title>Create Formset</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<itemizedlist>
+<listitem><para>Expand the "form-beans" node under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml node.</property></emphasis> Then, drag the form bean "GetNameForm" and drop it onto a formset in the <property>XML</property> Editor</para></listitem>
+<listitem><para>In the Validation Editor, expand the formset node, right-click GetNameForm, and select <emphasis><property>Create Field...</property></emphasis> from the context menu</para></listitem>
+<listitem><para>Enter a name for Property in the dialog box. A new property will be created:</para></listitem>
+</itemizedlist>
+<figure>
+ <title>New Property Is Added</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation_2.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<itemizedlist>
+<listitem><para>In the Properties view for the name field to the right of the "tree" for the validation.xml file, click on the <emphasis><property>Change...</property></emphasis>button next to the Depends entry field</para></listitem>
+<listitem><para>In the displayed double list, select <emphasis><property>required</property></emphasis> from the left list and then click <emphasis><property>Add</property></emphasis></para></listitem>
+ <listitem><para>Click <emphasis><property>Ok</property></emphasis></para></listitem>
+<listitem><para>Right-click name and select <emphasis><property>Add Arg...</property></emphasis> from the context menu</para></listitem>
+<listitem><para>In the Add Arg dialog box, click on the <emphasis><property>Change...</property></emphasis>button next to the <emphasis><property>Key</property></emphasis> field</para></listitem>
+ <listitem><para>In the Key dialog box that appears now, click on the <emphasis><property>Add</property></emphasis> button</para></listitem>
+ <listitem><para>Enter "name.required" in the Name field, and enter a person's name in the Value field</para></listitem>
+ <listitem><para>Click <emphasis><property>Finish</property></emphasis>, then <emphasis><property>Ok</property></emphasis>, and then <emphasis><property>Ok</property></emphasis> again</para></listitem>
+<listitem><para>Select <emphasis><property>File > Save All</property></emphasis> from the menu bar</para></listitem>
+</itemizedlist>
+</section>
+
+<section id="Client-SideValidation">
+<?dbhtml filename="Client-SideValidation.html"?>
+<title>Client-Side Validation</title>
+<para>Client-side <property>validation</property> uses a scripting language (like JavaScript) running in the client browser to actually do the <property>validation</property>. In a Struts application using the <property>Validation</property> Framework, however, you don't actually have to do any of the script coding. The <property>Validation</property> Framework handles this.</para>
+<para>To see how this works in our application, you'll just need to make a couple of modifications to one of the JSP files.</para>
+<itemizedlist continuation="continues">
+<listitem><para>Double-click inputname.jsp under <emphasis><property>StrutsHello > WEB-ROOT(WebContent) > pages</property></emphasis> to open it for editing</para></listitem>
+<listitem><para>Find the tag near the top and hit Return to make a new line under it</para></listitem>
+ <listitem><para>In the JBoss Tools Palette view to the right, open the Struts HTML folder and click on the javascript tag</para></listitem>
+<listitem><para>Back in the editor, just in front of the closing slash for this inserted tag, hit Ctrl+Space and select "formName" from the prompting menu</para></listitem>
+<listitem><para>Over in the Web Projects view, select GetNameForm under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml > form-beans</property></emphasis> node, drag it, and drop it between the quotes in the editor</para></listitem>
+<listitem><para>Modify the <emphasis role="bold"><property><html:form></property></emphasis> tag by inserting this attribute:</para></listitem>
+</itemizedlist>
+<programlisting role="XML"><![CDATA[onsubmit="return validateGetNameForm(this)"
+]]></programlisting>
+<para></para>
+<para>The file should now look like this:</para>
+<programlisting role="XML"><![CDATA[
+<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
+<html:html>
+<head>
+ <title>Input name</title>
+ <html:javascript formName="GetNameForm"/>
+</head>
+<body>
+ <html:form action="/greeting.do" onsubmit="return
+ <para>validateGetNameForm(this)"></para>
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Input name:</b></td>
+ </tr>
+ <tr>
+ <td>
+ <html:text property="name" />
+ <html:submit value=" Say Hello! " />
+ </td>
+ </tr>
+ </table>
+ </html:form>
+</body>
+</html:html>
+]]></programlisting>
+<itemizedlist continuation="continues">
+<listitem><para>Select<emphasis><property> File > Save </property></emphasis>from the menu bar</para></listitem>
+<listitem><para>Start JBoss Application Server by clicking on its icon (a right-pointing arrow) in the toolbar</para></listitem>
+<listitem><para>Click the Run icon or right click your project folder and select <emphasis><property>Run As > Run on Server</property></emphasis></para></listitem>
+</itemizedlist>
+<figure>
+ <title>Run Icon</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation_1.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<itemizedlist><listitem><para>In the browser window, click on the "Say Hello!" button without having entered any name in the form</para></listitem></itemizedlist>
+<para>A JavaScript error message should be displayed in an alert box.</para>
+</section>
+<section id="Server-SideValidation">
+<?dbhtml filename="Server-SideValidation.html"?>
+<title>Server Side Validation</title>
+<para>Server side validation does the validation inside the application on the server. In a Struts application using the Validation Framework, you still don't have to do any of the actual validation coding. The Validation Framework handles this. You will though have to make a few changes to the JSP file you modified for client-side validation along with a change to an action and a few changes to the form bean class.</para>
+</section>
+
+<section id="EditingTheJSPFile">
+<?dbhtml filename="EditingTheJSPFile.html"?>
+<title>Editing the JSP File</title>
+<itemizedlist continuation="continues">
+<listitem><para>Reopen inputname.jsp for editing</para></listitem>
+<listitem><para>Delete the <emphasis role="italic"><property>"onsubmit"</property></emphasis> attribute in the <emphasis role="bold"><property><html:form></property></emphasis> element that you put in for client-side validation</para></listitem>
+
+<listitem><para>Add an <emphasis role="bold"><property><html:errors></property></emphasis> tag after the <emphasis role="bold"><property><html:form></property></emphasis> tag</para></listitem>
+</itemizedlist>
+<para>The JSP file should now look like this:</para>
+
+<programlisting role="XML"><![CDATA[<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
+<html:html>
+<head>
+ <title>Input name</title>
+ <html:javascript formName="GetNameForm"/>
+</head>
+<body>
+ <html:form action="/greeting.do">
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Input name:</b></td>
+ </tr>
+ <tr>
+ <td>
+ <html:text property="name" />
+ <html:submit value=" Say Hello! " />
+ </td>
+ </tr>
+ </table>
+ </html:form>
+ <html:errors />
+</body>
+</html:html>
+]]></programlisting>
+
+</section>
+
+<section id="EditingTheAction">
+<?dbhtml filename="EditingTheAction.html"?>
+<title>Editing the Action</title>
+<itemizedlist continuation="continues">
+<listitem><para>In the Web Projects view, expand the node under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml > action-mappings</property></emphasis> node, right-click the <emphasis><property>/greeting</property></emphasis> action, and then select <emphasis><property>Properties...</property></emphasis>from the context menu</para></listitem>
+
+ <listitem><para>In the Edit Properties window, insert the cursor into the value column for the input property and click on the <property>...</property> button</para></listitem>
+
+ <listitem><para>In the dialog box, make sure the Pages tab is selected, select <emphasis><property>StrutsHello > WEB-ROOT(WebContent) > pages > inputname.jsp</property></emphasis>, click the <emphasis><property>Ok</property></emphasis> button, and then click on the <emphasis><property>Close</property></emphasis> button</para></listitem>
+</itemizedlist>
+</section>
+<section id="EditingTheFormBean">
+<?dbhtml filename="EditingTheFormBean.html"?>
+
+<title>Editing the Form Bean</title>
+<itemizedlist continuation="continues">
+<listitem><para>Right-click the <emphasis><property>/greeting</property></emphasis> action again and select Open Form-bean Source to open the GetNameForm.java file for editing</para></listitem>
+<listitem><para>Change the class that it extends from: <emphasis><property>org.apache.struts.action.ActionForm</property></emphasis> to <emphasis><property>org.apache.struts.validator.ValidatorForm</property></emphasis></para></listitem>
+<listitem><para>Comment out a validate method</para></listitem>
+</itemizedlist>
+<para>The file should now look like this:</para>
+<programlisting role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionMapping;
+public class GetNameForm extends
+
+org.apache.struts.validator.ValidatorForm
+{
+
+ private String name = "";
+
+ /**
+ * @return Returns the name.
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name The name to set.
+ */
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public GetNameForm ()
+ {
+ }
+
+ public void reset(ActionMapping actionMapping,
+ HttpServletRequest request)
+ {
+ this.name = "";
+ }
+
+ // public ActionErrors validate(ActionMapping actionMapping,
+ HttpServletRequest request)
+ {
+ // ActionErrors errors = new ActionErrors();
+ // return errors;
+ // }
+ }
+]]></programlisting>
+
+<itemizedlist continuation="continues">
+<listitem><para>Select <emphasis><property>File > Save All </property></emphasis>from the menu bar</para></listitem>
+<listitem><para>Reload the application into JBoss AS by clicking on the "Change Time Stamp" icon (a finger pointing with a little star) in the toolbar</para></listitem>
+<listitem><para>Run the application</para></listitem>
+<listitem><para>In the browser window, click on the "Say Hello!" button without having entered any name in the form</para></listitem>
+</itemizedlist>
+<para>The error message should appear in a refreshed version of the form.</para>
+</section>
+
+<section id="OtherResource">
+<?dbhtml filename="OtherResource.html"?>
+<title>Other Resources</title>
+ <para>You can also read <ulink url="../../../../../../jsf/docs/build/userguide/en/html/Struts.html">Struts</ulink> chapter in our "Visual Web Tools" guide for more information on this topic.</para>
+</section>
+</chapter>
\ No newline at end of file
Added: trunk/struts/docs/struts_tools_tutorial/pom.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/pom.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/pom.xml 2008-03-25 14:30:57 UTC (rev 7109)
@@ -0,0 +1,104 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>struts-tools-tutorial-${translation}</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jdocbook</packaging>
+ <name>Struts_Tools_Tutorial_(${translation})</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.0.0</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-docbook-xslt</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.0.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.docs</groupId>
+ <artifactId>highlight</artifactId>
+ <version>3.1.4.GA</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${pom.basedir}/en</sourceDirectory>
+ <imageResource>
+ <directory>${pom.basedir}/en</directory>
+ <includes>
+ <include>images/**/*</include>
+ </includes>
+ </imageResource>
+ <!--<cssResource>
+ <directory>src/main/css</directory>
+ </cssResource>-->
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+ <finalName>${pom.name}.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>eclipse</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-eclipse.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
+ <!-- could also locate the docbook dependency and inspect its version... -->
+ <docbookVersion>1.72.0</docbookVersion>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <distributionManagement>
+ <repository>
+ <!-- Copy the dist to the local checkout of the JBoss maven2 repo ${maven.repository.root} -->
+ <!-- It is anticipated that ${maven.repository.root} be set in user's settings.xml -->
+ <!-- todo : replace this with direct svn access once the svnkit providers are available -->
+ <id>repository.jboss.org</id>
+ <url>file://${maven.repository.root}</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshot Repository</name>
+ <url>dav:https://snapshots.jboss.org/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <properties>
+ <translation>en-US</translation>
+ </properties>
+
+
+</project>
More information about the jbosstools-commits
mailing list