struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lukaszlen...@apache.org
Subject svn commit: r1009714 - /websites/production/struts/content/getting-started/hello-world-using-struts2.html
Date Mon, 03 Apr 2017 19:57:11 GMT
Author: lukaszlenart
Date: Mon Apr  3 19:57:11 2017
New Revision: 1009714

Log:
Updates production

Modified:
    websites/production/struts/content/getting-started/hello-world-using-struts2.html

Modified: websites/production/struts/content/getting-started/hello-world-using-struts2.html
==============================================================================
--- websites/production/struts/content/getting-started/hello-world-using-struts2.html (original)
+++ websites/production/struts/content/getting-started/hello-world-using-struts2.html Mon
Apr  3 19:57:11 2017
@@ -138,38 +138,27 @@
     <p>Create an Action class to control the interaction between the user, the model,
and the view (the controller)</p>
   </li>
   <li>
-    <p>Create a mapping (struts.xml) to couple the Action class and view</p>
+    <p>Create a mapping (<code class="highlighter-rouge">struts.xml</code>)
to couple the Action class and view</p>
   </li>
 </ol>
 
 <p>By creating these components, we are separating the work flow into three well-known
concerns: the View, the Model, and the Controller. Separating concerns makes it easier to
manage applications as they become more complex.</p>
 
-<table>
-  <tbody>
-    <tr>
-    </tr>
-  </tbody>
-</table>
-
 <p>Let’s look at an example model class, Action, server page, and mapping. If
you like, fire up your Java IDE, and enter the code as we go.</p>
 
 <blockquote>
   <p>This tutorial assumes you’ve completed the <a href="#PAGE_14811860">How
To Create A Struts 2 Web Application</a> tutorial and have a working basic Struts project.
The example code for this tutorial, helloworld, is available for checkout from the Struts
2 GitHub repository at <a href="https://github.com/apache/struts-examples">https://github.com/apache/struts-examples</a>.
The example projects use Maven to manage the artifact dependencies and to build the .war files.</p>
 </blockquote>
 
-<p><strong>The Code</strong></p>
+<h3 id="the-code">The Code</h3>
 
 <p>Let’s modify either the basic_struts project to add a model class to store
our message, a view that displays our message, an Action class to act as the controller, and
a configuration that ties everything together.</p>
 
-<table>
-  <tbody>
-    <tr>
-      <td>The <a href="http://struts.apache.org/mail.html">Struts 2 user mailing
list</a> is an excellent place to get help. If you are having a problem getting this
application to work search the Struts 2 mailing list. If you don’t find an answer to
your problem, post a question on the mailing list.</td>
-    </tr>
-  </tbody>
-</table>
+<blockquote>
+  <p>The <a href="http://struts.apache.org/mail.html">Struts 2 user mailing list</a>
is an excellent place to get help. If you are having a problem getting this application to
work search the Struts 2 mailing list. If you don’t find an answer to your problem, post
a question on the mailing list.</p>
+</blockquote>
 
-<p><strong>Step 1 - Create The Model Class MessageStore.java</strong></p>
+<h4 id="step-1---create-the-model-class-messagestorejava">Step 1 - Create The Model
Class MessageStore.java</h4>
 
 <p>If you’re using the Basic_Struts2_Ant project to start with create the MessageStore
class in the src folder and if you’re using the Basic_Struts2_Mvn class create the MessageStore
class in src/main/java. Be sure to note the package statement below.</p>
 
@@ -201,11 +190,11 @@
 </code></pre>
 </div>
 
-<p>In the model class above note the use of public set and get methods to allow access
to the private message String attribute. The Struts 2 framework requires that objects you
want to expose to the view (HelloWorld.jsp) follow the <a href="http://en.wikipedia.org/wiki/JavaBean\#JavaBean_conventions">JavaBean-style
conventions</a>.</p>
+<p>Note the use of public set and get methods to allow access to the private message
String attribute. The Struts 2 framework requires that objects you want to expose to the view
(<code class="highlighter-rouge">HelloWorld.jsp</code>) follow the <a href="http://en.wikipedia.org/wiki/JavaBean#JavaBean_conventions">JavaBean-style
conventions</a>.</p>
 
-<p><strong>Step 2 - Create The Action Class HelloWorldAction.java</strong></p>
+<h4 id="step-2---create-the-action-class-helloworldactionjava">Step 2 - Create The
Action Class HelloWorldAction.java</h4>
 
-<p>We need an Action class to act as the Controller. The Action class responds to a
user action (in this example that action will be clicking an HTML hyperlink and sending a
specific URL to the Servlet container). One or more of the Action class’s methods are
executed and a String result is returned. Based on the value of the result, a specific view
page (in this example that view page is HelloWorld.jsp) is rendered.</p>
+<p>We need an Action class to act as the Controller. The Action class responds to a
user action (in this example that action will be clicking an HTML hyperlink and sending a
specific URL to the Servlet container). One or more of the Action class’s methods are
executed and a String result is returned. Based on the value of the result, a specific view
page (in this example that view page is <code class="highlighter-rouge">HelloWorld.jsp</code>)
is rendered.</p>
 
 <p>Note the package and import statements below.</p>
 
@@ -245,7 +234,7 @@
 
 <p>Note also the public getter and setter methods for the private <code class="highlighter-rouge">MessageStore</code> object.
Since we want to make the <code class="highlighter-rouge">MessageStore</code> object
available to the view page, <code class="highlighter-rouge">HelloWorld.jsp</code>, we
need to follow the <a href="http://en.wikipedia.org/wiki/JavaBean\#JavaBean_conventions">JavaBean-style</a>
of providing get and set methods.</p>
 
-<p><strong>Step 3 - Create The View HelloWorld.jsp</strong></p>
+<h4 id="step-3---create-the-view-helloworldjsp">Step 3 - Create The View HelloWorld.jsp</h4>
 
 <p>We need a server page to present the message that is stored in the model class <code
class="highlighter-rouge">MessageStore</code>. Create the below JSP in the <code
class="highlighter-rouge">WebContent</code> folder (if using Ant) or in <code
class="highlighter-rouge">src/main/webapp</code> (if using Maven).</p>
 
@@ -273,7 +262,7 @@
 
 <p>We’ll learn more about tags in the next tutorial. See the <em>Struts
Tags</em>  for more information about tags.</p>
 
-<p><strong>Step 4 - Add The Struts Configuration In struts.xml</strong></p>
+<h4 id="step-4---add-the-struts-configuration-in-strutsxml">Step 4 - Add The Struts
Configuration In struts.xml</h4>
 
 <p>We need a mapping to tie the URL, the <code class="highlighter-rouge">HelloWorldAction</code> class
(controller), and the <code class="highlighter-rouge">HelloWorld.jsp</code> (the
view) together. The mapping tells the Struts 2 framework which class will respond to the user’s
action (the URL), which method of that class will be executed, and what view to render based
on the String result that method returns.</p>
 
@@ -303,7 +292,7 @@
 </code></pre>
 </div>
 
-<p><strong>Step 5 - Create The URL Action</strong></p>
+<h4 id="step-5---create-the-url-action">Step 5 - Create The URL Action</h4>
 
 <p>In index.jsp (see WebContent folder for Ant project and src/main/webapp for Mvn
project) let’s add an Action URL the user can click on to tell the Struts 2 framework
to run the execute method of the HelloWorldAction class and render the HelloWorld.jsp view.</p>
 
@@ -329,7 +318,7 @@
 
 <p>The Struts url tag creates the URL with an action of hello. The hello action was
mapped to the HelloWorldAction class and its execute method. When the user clicks on the above
URL it will cause the Struts 2 framework to run the execute method of the HelloWorldAction
class. After that method returns the String success, the view page HelloWorld.jsp will be
rendered.</p>
 
-<p><strong>Step 6 - Build the WAR File and Run The Application</strong></p>
+<h4 id="step-6---build-the-war-file-and-run-the-application">Step 6 - Build the WAR
File and Run The Application</h4>
 
 <p>Execute <code class="highlighter-rouge">mvn clean package</code> to
create the war file.</p>
 
@@ -341,17 +330,13 @@
 
 <p><img src="attachments/att14974993_Hello.png" alt="Hello.png" /></p>
 
-<p><strong>Getting Help</strong></p>
-
-<p>The <a href="http://struts.apache.org/mail.html">Struts 2 user mailing list</a>
is an excellent place to get help. If you are having a problem getting this application to
work search the Struts 2 mailing list. If you don’t find an answer to your problem, post
a question on the mailing list.</p>
-
-<p><strong>How the Code Works</strong></p>
+<h3 id="how-the-code-works">How the Code Works</h3>
 
 <p>Your browser sends to the web server a request for the URL <a href="http://localhost:8080/Hello_World_Struts2_Ant/hello.action">http://localhost:8080/Hello_World_Struts2_Ant/hello.action</a>.</p>
 
 <ol>
   <li>
-    <p>The container receives from the web server a request for the resource <code
class="highlighter-rouge">hello.action</code>. According to the settings loaded from
the <em>web.xml</em> , the container finds that all requests are being routed
to <code class="highlighter-rouge">org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</code>,
including the <code class="highlighter-rouge">*.action</code> requests. The StrutsPrepareAndExecuteFilter
is the entry point into the framework.</p>
+    <p>The container receives from the web server a request for the resource <code
class="highlighter-rouge">hello.action</code>. According to the settings loaded from
the <a href="//struts.apache.org/docs/webxml.html">web.xml</a> , the container
finds that all requests are being routed to <code class="highlighter-rouge">org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</code>,
including the <code class="highlighter-rouge">*.action</code> requests. The StrutsPrepareAndExecuteFilter
is the entry point into the framework.</p>
   </li>
   <li>
     <p>The framework looks for an action mapping named “hello”, and it finds
that this mapping corresponds to the class “HelloWorldAction”. The framework instantiates
the Action and calls the Action’s <code class="highlighter-rouge">execute</code>
method.</p>
@@ -367,7 +352,7 @@
   </li>
 </ol>
 
-<p><strong>What to Remember</strong></p>
+<h3 id="what-to-remember">What to Remember</h3>
 
 <p>The framework uses Actions to process HTML forms and other requests. The <code
class="highlighter-rouge">Action</code> class returns a result-name such as <code
class="highlighter-rouge">SUCCESS</code>, <code class="highlighter-rouge">ERROR</code>
or <code class="highlighter-rouge">INPUT</code>. Based on the mappings loaded
from the <code class="highlighter-rouge">struts.xml</code>, a given result-name
may select a page (as in this example), another action, or some other web resource (image,
PDF).</p>
 



Mime
View raw message