You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2015/06/12 19:25:49 UTC

struts-examples git commit: Refactor coding actions struts example

Repository: struts-examples
Updated Branches:
  refs/heads/master 5f8d4946c -> b9c38f587


Refactor coding actions struts example

- log4j2 setup
- artifact name
- jetty plugin


Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/b9c38f58
Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/b9c38f58
Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/b9c38f58

Branch: refs/heads/master
Commit: b9c38f58734acee18f41fb9c586fa463f142494e
Parents: 5f8d494
Author: Johannes Geppert <jo...@apache.org>
Authored: Fri Jun 12 19:25:49 2015 +0200
Committer: Johannes Geppert <jo...@apache.org>
Committed: Fri Jun 12 19:25:49 2015 +0200

----------------------------------------------------------------------
 basic-struts/README.txt                         |   4 +-
 bean-validation/README.txt                      |   5 +-
 coding-actions/README.txt                       |  19 ++
 coding-actions/pom.xml                          |  40 ++++
 .../helloworld/action/HelloWorldAction.java     |  79 +++++++
 .../struts/helloworld/model/MessageStore.java   |  31 +++
 coding-actions/src/main/resources/log4j2.xml    |  16 ++
 coding-actions/src/main/resources/struts.xml    |  27 +++
 coding-actions/src/main/webapp/HelloWorld.jsp   |  20 ++
 .../src/main/webapp/META-INF/MANIFEST.MF        |   3 +
 coding-actions/src/main/webapp/WEB-INF/web.xml  |  19 ++
 coding-actions/src/main/webapp/index.jsp        |  30 +++
 coding_actions/README.txt                       |  16 --
 coding_actions/pom.xml                          |  22 --
 .../helloworld/action/HelloWorldAction.java     |  80 -------
 .../struts/helloworld/model/MessageStore.java   |  31 ---
 coding_actions/src/main/resources/log4j.dtd     | 227 -------------------
 coding_actions/src/main/resources/log4j.xml     |  28 ---
 coding_actions/src/main/resources/struts.xml    |  27 ---
 coding_actions/src/main/webapp/HelloWorld.jsp   |  17 --
 .../src/main/webapp/META-INF/MANIFEST.MF        |   3 -
 coding_actions/src/main/webapp/WEB-INF/web.xml  |  19 --
 coding_actions/src/main/webapp/index.jsp        |  28 ---
 pom.xml                                         |   2 +-
 24 files changed, 292 insertions(+), 501 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/basic-struts/README.txt
----------------------------------------------------------------------
diff --git a/basic-struts/README.txt b/basic-struts/README.txt
index 58bee4e..c609f31 100644
--- a/basic-struts/README.txt
+++ b/basic-struts/README.txt
@@ -10,7 +10,9 @@ The war file is created in the target sub-folder.
 Copy the war file to your Servlet container (e.g. Tomcat) and 
 then startup the Servlet container.
 
-Or run mvn jetty:run
+Or you are using maven you can run command:
+mvn jetty:run
+
 
 In a web browser go to:  http://localhost:8080/basic-struts/index.action.
 

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/bean-validation/README.txt
----------------------------------------------------------------------
diff --git a/bean-validation/README.txt b/bean-validation/README.txt
index 9de7277..519f3f6 100755
--- a/bean-validation/README.txt
+++ b/bean-validation/README.txt
@@ -10,7 +10,10 @@ The war file is created in the target sub-folder.
 Copy the war file to your Servlet container (e.g. Tomcat, GlassFish) and 
 then startup the Servlet container.
 
-In a web browser go to:  http://localhost:8080/bean_validation/index.action
+Or you are using maven you can run command:
+mvn jetty:run
+
+In a web browser go to:  http://localhost:8080/bean-validation/index.action
 
 You should see a web page with Welcome to Struts 2!
 

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/README.txt
----------------------------------------------------------------------
diff --git a/coding-actions/README.txt b/coding-actions/README.txt
new file mode 100644
index 0000000..ee850e8
--- /dev/null
+++ b/coding-actions/README.txt
@@ -0,0 +1,19 @@
+This is the example project referred to in the
+Struts 2 documentation, Coding Actions tutorial.
+See:  http://struts.apache.org.
+
+To build the application's war file run mvn clean package
+from the project's root folder.
+
+The war file is created in the target sub-folder.
+
+Copy the war file to your Servlet container (e.g. Tomcat, GlassFish) and 
+then startup the Servlet container.
+
+Or you are using maven you can run command:
+mvn jetty:run
+
+In a web browser go to:  http://localhost:8080/coding-actions/index.action.
+
+You should see a web page with Welcome to Struts 2!
+

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/pom.xml
----------------------------------------------------------------------
diff --git a/coding-actions/pom.xml b/coding-actions/pom.xml
new file mode 100644
index 0000000..207f77d
--- /dev/null
+++ b/coding-actions/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>struts.apache.org</groupId>
+        <artifactId>struts2examples</artifactId>
+        <version>1.0.0</version>
+    </parent>
+
+    <artifactId>coding-actions</artifactId>
+
+    <name>Coding Struts 2 Action</name>
+    <description>Struts 2 example application for the Getting Started coding Struts 2 actions</description>
+
+    <packaging>war</packaging>
+
+    <build>
+        <finalName>coding-actions</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <version>8.1.16.v20140903</version>
+                <configuration>
+                    <webApp>
+                        <contextPath>/${artifactId}</contextPath>
+                    </webApp>
+                    <stopKey>CTRL+C</stopKey>
+                    <stopPort>8999</stopPort>
+                    <scanIntervalSeconds>10</scanIntervalSeconds>
+                    <scanTargets>
+                        <scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
+                    </scanTargets>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java b/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
new file mode 100644
index 0000000..1285010
--- /dev/null
+++ b/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -0,0 +1,79 @@
+package org.apache.struts.helloworld.action;
+
+import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts.helloworld.model.MessageStore;
+
+/**
+ * Acts as a Struts 2 controller that responds
+ * to a user action by setting the value
+ * of the Message model class, and returns a String 
+ * result.
+ * @author Bruce Phillips
+ *
+ */
+public class HelloWorldAction extends ActionSupport {
+
+	private static final long serialVersionUID = 1L;
+	
+	/**
+	 * The model class that stores the message
+	 * to display in the view.
+	 */
+	private MessageStore messageStore;
+	
+	private static int helloCount = 0;
+	
+	public int getHelloCount() {
+		return helloCount;
+	}
+
+	public void setHelloCount(int helloCount) {
+		HelloWorldAction.helloCount = helloCount;
+	}
+	
+	private String userName;
+
+	public String getUserName() {
+		return userName;
+	}
+
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+
+	/*
+	 * Creates the MessageStore model object, 
+	 * increase helloCount by 1 and 
+	 * returns success.  The MessageStore model
+	 * object will be available to the view.
+	 * (non-Javadoc)
+	 * @see com.opensymphony.xwork2.ActionSupport#execute()
+	 */
+	public String execute() throws Exception {
+		
+		messageStore = new MessageStore() ;
+		
+		//Action included a query string parameter of userName
+		//or a form field with name of userName
+		if (userName != null) {
+			
+			messageStore.setMessage( messageStore.getMessage() + " " + userName);
+			
+		}
+		
+		helloCount++;
+		
+		return SUCCESS;
+	}
+
+	public MessageStore getMessageStore() {
+		return messageStore;
+	}
+
+	public void setMessageStore(MessageStore messageStore) {
+		this.messageStore = messageStore;
+	}
+	
+	
+
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java b/coding-actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
new file mode 100644
index 0000000..b7fceeb
--- /dev/null
+++ b/coding-actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
@@ -0,0 +1,31 @@
+package org.apache.struts.helloworld.model;
+
+/**
+ * Model class that stores a message.
+ * @author Bruce Phillips
+ *
+ */
+public class MessageStore {
+	
+	private String message;
+	
+	public MessageStore() {
+		
+		setMessage("Hello Struts User");
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+	
+	public String toString() {
+		
+		return message + " (from toString)";
+		
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/resources/log4j2.xml b/coding-actions/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..25edfa1
--- /dev/null
+++ b/coding-actions/src/main/resources/log4j2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+    <Appenders>
+        <Console name="STDOUT" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+        </Console>
+    </Appenders>
+    <Loggers>
+        <Logger name="com.opensymphony.xwork2" level="info"/>
+        <Logger name="org.apache.struts2" level="info"/>
+        <Logger name="org.apache.struts2.helloworld" level="debug"/>
+        <Root level="warn">
+            <AppenderRef ref="STDOUT"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/resources/struts.xml
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/resources/struts.xml b/coding-actions/src/main/resources/struts.xml
new file mode 100644
index 0000000..4112d23
--- /dev/null
+++ b/coding-actions/src/main/resources/struts.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd">
+
+<struts>
+
+	<constant name="struts.devMode" value="true" />
+
+	<package name="basicstruts2" extends="struts-default">
+
+        <!-- If no class attribute is specified the framework will assume success and 
+        render the result index.jsp -->
+        <!-- If no name value for the result node is specified the success value is the default -->
+		<action name="index">
+			<result>/index.jsp</result>
+		</action>
+		
+		<!-- If the URL is hello.action the call the execute method of class HelloWorldAction.
+		If the result returned by the execute method is success render the HelloWorld.jsp -->
+		<action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
+			<result name="success">/HelloWorld.jsp</result>
+		</action>
+
+	</package>
+
+</struts>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/webapp/HelloWorld.jsp
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/webapp/HelloWorld.jsp b/coding-actions/src/main/webapp/HelloWorld.jsp
new file mode 100644
index 0000000..4e19ac9
--- /dev/null
+++ b/coding-actions/src/main/webapp/HelloWorld.jsp
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <title>Hello World!</title>
+</head>
+
+<body>
+<h2><s:property value="%{messageStore.message}"/></h2>
+
+<p>I've said hello <s:property value="%{helloCount}"/> times!</p>
+
+<p><s:property value="%{messageStore}"/></p>
+
+<p><a href="<s:url action='index'/>">Home Page</a></p>
+</body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/webapp/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/webapp/META-INF/MANIFEST.MF b/coding-actions/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/coding-actions/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/webapp/WEB-INF/web.xml b/coding-actions/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..3afdf0e
--- /dev/null
+++ b/coding-actions/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+<display-name>Coding Actions</display-name>
+  <welcome-file-list>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+  
+  					 
+    <filter>
+        <filter-name>struts2</filter-name>
+        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
+    </filter>
+
+     <filter-mapping>
+        <filter-name>struts2</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    
+</web-app>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding-actions/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/coding-actions/src/main/webapp/index.jsp b/coding-actions/src/main/webapp/index.jsp
new file mode 100644
index 0000000..f96ec7f
--- /dev/null
+++ b/coding-actions/src/main/webapp/index.jsp
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <title>Basic Struts 2 Application - Welcome</title>
+</head>
+
+<body>
+<h1>Welcome To Struts 2!</h1>
+
+<p>
+    <a href="<s:url action='hello'/>">Hello World</a>
+</p>
+<s:url action="hello" var="helloLink">
+    <s:param name="userName">Bruce Phillips</s:param>
+</s:url>
+<p><a href="${helloLink}">Hello Bruce Phillips</a></p>
+
+<p>Get your own personal hello by filling out and submitting this form.</p>
+
+<s:form action="hello">
+    <s:textfield name="userName" label="%{'Your name'}"/>
+    <s:submit value="%{'Submit'}"/>
+
+</s:form>
+</body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/README.txt
----------------------------------------------------------------------
diff --git a/coding_actions/README.txt b/coding_actions/README.txt
deleted file mode 100644
index d620f86..0000000
--- a/coding_actions/README.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-This is the example project referred to in the
-Struts 2 documentation, Coding Actions tutorial.
-See:  http://struts.apache.org.
-
-To build the application's war file run mvn clean package
-from the project's root folder.
-
-The war file is created in the target sub-folder.
-
-Copy the war file to your Servlet container (e.g. Tomcat, GlassFish) and 
-then startup the Servlet container.
-
-In a web browser go to:  http://localhost:8080/coding_actions/index.action.
-
-You should see a web page with Welcome to Struts 2!
-

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/pom.xml
----------------------------------------------------------------------
diff --git a/coding_actions/pom.xml b/coding_actions/pom.xml
deleted file mode 100644
index abd5c3a..0000000
--- a/coding_actions/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>struts.apache.org</groupId>
-    <artifactId>struts2examples</artifactId>
-    <version>1.0.0</version>
-  </parent>
-
-  <artifactId>coding_actions</artifactId>
-
-  <name>Coding Struts 2 Action</name>
-  <description>Struts 2 example application for the Getting
-  Started coding Struts 2 actions</description>
-  
-    <build>
-		<finalName>coding_actions</finalName>
-	</build>
-
-    <packaging>war</packaging>
-</project>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java b/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
deleted file mode 100644
index 92fda49..0000000
--- a/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.struts.helloworld.action;
-
-import org.apache.struts.helloworld.model.MessageStore;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-/**
- * Acts as a Struts 2 controller that responds
- * to a user action by setting the value
- * of the Message model class, and returns a String 
- * result.
- * @author Bruce Phillips
- *
- */
-public class HelloWorldAction extends ActionSupport {
-
-	private static final long serialVersionUID = 1L;
-	
-	/**
-	 * The model class that stores the message
-	 * to display in the view.
-	 */
-	private MessageStore messageStore;
-	
-	private static int helloCount = 0;
-	
-	public int getHelloCount() {
-		return helloCount;
-	}
-
-	public void setHelloCount(int helloCount) {
-		HelloWorldAction.helloCount = helloCount;
-	}
-	
-	private String userName;
-
-	public String getUserName() {
-		return userName;
-	}
-
-	public void setUserName(String userName) {
-		this.userName = userName;
-	}
-
-	/*
-	 * Creates the MessageStore model object, 
-	 * increase helloCount by 1 and 
-	 * returns success.  The MessageStore model
-	 * object will be available to the view.
-	 * (non-Javadoc)
-	 * @see com.opensymphony.xwork2.ActionSupport#execute()
-	 */
-	public String execute() throws Exception {
-		
-		messageStore = new MessageStore() ;
-		
-		//Action included a query string parameter of userName
-		//or a form field with name of userName
-		if (userName != null) {
-			
-			messageStore.setMessage( messageStore.getMessage() + " " + userName);
-			
-		}
-		
-		helloCount++;
-		
-		return SUCCESS;
-	}
-
-	public MessageStore getMessageStore() {
-		return messageStore;
-	}
-
-	public void setMessageStore(MessageStore messageStore) {
-		this.messageStore = messageStore;
-	}
-	
-	
-
-}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java b/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
deleted file mode 100644
index b7fceeb..0000000
--- a/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.struts.helloworld.model;
-
-/**
- * Model class that stores a message.
- * @author Bruce Phillips
- *
- */
-public class MessageStore {
-	
-	private String message;
-	
-	public MessageStore() {
-		
-		setMessage("Hello Struts User");
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public void setMessage(String message) {
-		this.message = message;
-	}
-	
-	public String toString() {
-		
-		return message + " (from toString)";
-		
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/resources/log4j.dtd
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/resources/log4j.dtd b/coding_actions/src/main/resources/log4j.dtd
deleted file mode 100644
index 1aabd96..0000000
--- a/coding_actions/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
-                               (categoryFactory|loggerFactory)?)>
-
-<!-- The "threshold" attribute takes a level value below which -->
-<!-- all logging statements are disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging   -->
-<!-- statements.                                                         -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository	 -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field   --> 
-<!-- keeps its old value.                                                -->
-     
-<!ATTLIST log4j:configuration
-  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/" 
-  threshold                (all|trace|debug|info|warn|error|fatal|off|null) "null"
-  debug                    (true|false|null)  "null"
-  reset                    (true|false) "false"
->
-
-<!-- renderer elements allow the user to customize the conversion of  -->
-<!-- message objects to String.                                       -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
-  renderedClass  CDATA #REQUIRED
-  renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*,
-      rollingPolicy?, triggeringPolicy?, connectionSource?,
-      layout?, filter*, appender-ref*)>
-<!ATTLIST appender
-  name 		CDATA 	#REQUIRED
-  class 	CDATA	#REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
-  class		CDATA	#REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
-  class		CDATA	#REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)> 
-<!ATTLIST errorHandler
-   class        CDATA   #REQUIRED 
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
-  ref CDATA #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  name		CDATA   #REQUIRED
-  value		CDATA	#REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
-  class   CDATA	#IMPLIED
-  value	  CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
-  class   CDATA	#IMPLIED
-  value	  CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
-  class         CDATA   #IMPLIED
-  name		CDATA	#REQUIRED
-  additivity	(true|false) "true"  
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
-  name		CDATA	#REQUIRED
-  additivity	(true|false) "true"  
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory 
-   class        CDATA #REQUIRED>
-
-<!ELEMENT loggerFactory (param*)>
-<!ATTLIST loggerFactory
-   class        CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
-  ref CDATA #REQUIRED
->
-
-<!-- plugins must have a name and class and can have optional parameters -->
-<!ELEMENT plugin (param*, connectionSource?)>
-<!ATTLIST plugin
-  name 		CDATA 	   #REQUIRED
-  class 	CDATA  #REQUIRED
->
-
-<!ELEMENT connectionSource (dataSource?, param*)>
-<!ATTLIST connectionSource
-  class        CDATA  #REQUIRED
->
-
-<!ELEMENT dataSource (param*)>
-<!ATTLIST dataSource
-  class        CDATA  #REQUIRED
->
-
-<!ELEMENT triggeringPolicy ((param|filter)*)>
-<!ATTLIST triggeringPolicy
-  name 		CDATA  #IMPLIED
-  class 	CDATA  #REQUIRED
->
-
-<!ELEMENT rollingPolicy (param*)>
-<!ATTLIST rollingPolicy
-  name 		CDATA  #IMPLIED
-  class 	CDATA  #REQUIRED
->
-
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!--                       A logging event                                -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
-  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/" 
-  version                (1.1|1.2) "1.2" 
-  includesLocationInfo   (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
-                       log4j:locationInfo?, log4j:properties?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
-    logger     CDATA #REQUIRED
-    level      CDATA #REQUIRED
-    thread     CDATA #REQUIRED
-    timestamp  CDATA #REQUIRED
-    time       CDATA #IMPLIED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
-  class  CDATA	#REQUIRED
-  method CDATA	#REQUIRED
-  file   CDATA	#REQUIRED
-  line   CDATA	#REQUIRED
->
-
-<!ELEMENT log4j:properties (log4j:data*)>
-
-<!ELEMENT log4j:data EMPTY>
-<!ATTLIST log4j:data
-  name   CDATA	#REQUIRED
-  value  CDATA	#REQUIRED
->

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/resources/log4j.xml b/coding_actions/src/main/resources/log4j.xml
deleted file mode 100644
index 2100cb2..0000000
--- a/coding_actions/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-    
-    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
-       <layout class="org.apache.log4j.PatternLayout"> 
-          <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/> 
-       </layout> 
-    </appender>
- 
-    <!-- specify the logging level for loggers from other libraries -->
-    <logger name="com.opensymphony">
-    	<level value="DEBUG" />
-    </logger>
-
-    <logger name="org.apache.struts2">
-    	 <level value="DEBUG" />
-    </logger>
-  
-   <!-- for all other loggers log only debug and above log messages -->
-     <root>
-        <priority value="INFO"/> 
-        <appender-ref ref="STDOUT" /> 
-     </root> 
-    
-</log4j:configuration> 
-

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/resources/struts.xml
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/resources/struts.xml b/coding_actions/src/main/resources/struts.xml
deleted file mode 100644
index 4112d23..0000000
--- a/coding_actions/src/main/resources/struts.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE struts PUBLIC
-    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
-    "http://struts.apache.org/dtds/struts-2.0.dtd">
-
-<struts>
-
-	<constant name="struts.devMode" value="true" />
-
-	<package name="basicstruts2" extends="struts-default">
-
-        <!-- If no class attribute is specified the framework will assume success and 
-        render the result index.jsp -->
-        <!-- If no name value for the result node is specified the success value is the default -->
-		<action name="index">
-			<result>/index.jsp</result>
-		</action>
-		
-		<!-- If the URL is hello.action the call the execute method of class HelloWorldAction.
-		If the result returned by the execute method is success render the HelloWorld.jsp -->
-		<action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
-			<result name="success">/HelloWorld.jsp</result>
-		</action>
-
-	</package>
-
-</struts>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/webapp/HelloWorld.jsp
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/webapp/HelloWorld.jsp b/coding_actions/src/main/webapp/HelloWorld.jsp
deleted file mode 100644
index 7d2bf60..0000000
--- a/coding_actions/src/main/webapp/HelloWorld.jsp
+++ /dev/null
@@ -1,17 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
-    pageEncoding="ISO-8859-1"%>
-<%@ taglib prefix="s" uri="/struts-tags" %>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Hello World!</title>
-</head>
-<body>
-<h2><s:property value="%{messageStore.message}" /></h2>
-<p>I've said hello <s:property value="%{helloCount}" /> times!</p>
-<p><s:property value="%{messageStore}" /></p>
-
-<p><a href="<s:url action='index'/>">Home Page</a></p>
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/webapp/META-INF/MANIFEST.MF b/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
deleted file mode 100644
index 254272e..0000000
--- a/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: 
-

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/webapp/WEB-INF/web.xml b/coding_actions/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 3afdf0e..0000000
--- a/coding_actions/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
-<display-name>Coding Actions</display-name>
-  <welcome-file-list>
-    <welcome-file>index.jsp</welcome-file>
-  </welcome-file-list>
-  
-  					 
-    <filter>
-        <filter-name>struts2</filter-name>
-        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
-    </filter>
-
-     <filter-mapping>
-        <filter-name>struts2</filter-name>
-        <url-pattern>/*</url-pattern>
-    </filter-mapping>
-    
-</web-app>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/coding_actions/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/coding_actions/src/main/webapp/index.jsp b/coding_actions/src/main/webapp/index.jsp
deleted file mode 100644
index f1a5444..0000000
--- a/coding_actions/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,28 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
-    pageEncoding="ISO-8859-1"%>
-<%@ taglib prefix="s" uri="/struts-tags" %>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Basic Struts 2 Application - Welcome</title>
-</head>
-<body>
-<h1>Welcome To Struts 2!</h1>
-<p><a href="<s:url action='hello'/>">Hello World</a></p>
-<s:url action="hello" var="helloLink">
-  <s:param name="userName">Bruce Phillips</s:param>
-</s:url>
-<p><a href="${helloLink}">Hello Bruce Phillips</a></p>
-
-<p>Get your own personal hello by filling out and submitting this form.</p>
-
-<s:form action="hello">
-
-	<s:textfield name="userName" label="%{'Your name'}" />
-	
-	<s:submit value="%{'Submit'}" />
-
-</s:form>
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/b9c38f58/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 876f811..852cff7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
         <module>mailreader</module>
         <module>helloworld</module>
         <module>using_tags</module>
-        <module>coding_actions</module>
+        <module>coding-actions</module>
         <module>form_processing</module>
         <module>form_validation</module>
         <module>message_resource</module>