You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by bp...@apache.org on 2013/06/30 22:29:35 UTC
svn commit: r1498175 - in /struts/sandbox/trunk/struts2examples: ./
basic_struts/ basic_struts/src/main/webapp/WEB-INF/ coding_actions/
coding_actions/src/ coding_actions/src/main/ coding_actions/src/main/java/
coding_actions/src/main/java/org/ coding_...
Author: bphillips
Date: Sun Jun 30 20:29:33 2013
New Revision: 1498175
URL: http://svn.apache.org/r1498175
Log:
Added additional example applications
Added:
struts/sandbox/trunk/struts2examples/basic_struts/README.txt
struts/sandbox/trunk/struts2examples/coding_actions/ (with props)
struts/sandbox/trunk/struts2examples/coding_actions/README.txt
struts/sandbox/trunk/struts2examples/coding_actions/pom.xml
struts/sandbox/trunk/struts2examples/coding_actions/src/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd
struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml
struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml
struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp
struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/
struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml
struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp
struts/sandbox/trunk/struts2examples/form_processing/ (with props)
struts/sandbox/trunk/struts2examples/form_processing/README.txt
struts/sandbox/trunk/struts2examples/form_processing/pom.xml
struts/sandbox/trunk/struts2examples/form_processing/src/
struts/sandbox/trunk/struts2examples/form_processing/src/main/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/
struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java
struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/
struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd
struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml
struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp
struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp
struts/sandbox/trunk/struts2examples/using_tags/ (with props)
struts/sandbox/trunk/struts2examples/using_tags/README.txt
struts/sandbox/trunk/struts2examples/using_tags/pom.xml
struts/sandbox/trunk/struts2examples/using_tags/src/
struts/sandbox/trunk/struts2examples/using_tags/src/main/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/
struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java
struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/
struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd
struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml
struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml
struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/
struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp
struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/
struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml
struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp
Removed:
struts/sandbox/trunk/struts2examples/src/
Modified:
struts/sandbox/trunk/struts2examples/basic_struts/pom.xml
struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml
struts/sandbox/trunk/struts2examples/helloworld/README.txt
struts/sandbox/trunk/struts2examples/helloworld/pom.xml
struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml
struts/sandbox/trunk/struts2examples/pom.xml
Added: struts/sandbox/trunk/struts2examples/basic_struts/README.txt
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/basic_struts/README.txt?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/basic_struts/README.txt (added)
+++ struts/sandbox/trunk/struts2examples/basic_struts/README.txt Sun Jun 30 20:29:33 2013
@@ -0,0 +1,16 @@
+This is the example project referred to in the
+Struts 2 documentation, Ready, Set, Go 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) and
+then startup the Servlet container.
+
+In a web browser go to: http://localhost:8080/basic_struts/index.action.
+
+You should see a web page with Welcome to Struts 2!
+
Modified: struts/sandbox/trunk/struts2examples/basic_struts/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/basic_struts/pom.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2examples/basic_struts/pom.xml (original)
+++ struts/sandbox/trunk/struts2examples/basic_struts/pom.xml Sun Jun 30 20:29:33 2013
@@ -10,5 +10,11 @@
<artifactId>basic_struts</artifactId>
<name>basic_struts</name>
<description>Basic Struts 2 example application</description>
+
+ <packaging>war</packaging>
+
+ <build>
+ <finalName>basic_struts</finalName>
+ </build>
</project>
Modified: struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml (original)
+++ struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml Sun Jun 30 20:29:33 2013
@@ -1,6 +1,6 @@
<?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>Basic_Struts2_Maven</display-name>
+<display-name>Basic Struts2</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Propchange: struts/sandbox/trunk/struts2examples/coding_actions/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jun 30 20:29:33 2013
@@ -0,0 +1,4 @@
+target
+.settings
+.classpath
+.project
Added: struts/sandbox/trunk/struts2examples/coding_actions/README.txt
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/README.txt?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/README.txt (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/README.txt Sun Jun 30 20:29:33 2013
@@ -0,0 +1,16 @@
+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!
+
Added: struts/sandbox/trunk/struts2examples/coding_actions/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/pom.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/pom.xml (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/pom.xml Sun Jun 30 20:29:33 2013
@@ -0,0 +1,22 @@
+<?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>
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java Sun Jun 30 20:29:33 2013
@@ -0,0 +1,80 @@
+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;
+ }
+
+
+
+}
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java Sun Jun 30 20:29:33 2013
@@ -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)";
+
+ }
+
+}
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd Sun Jun 30 20:29:33 2013
@@ -0,0 +1,227 @@
+<?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
+>
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml Sun Jun 30 20:29:33 2013
@@ -0,0 +1,28 @@
+<?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>
+
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml Sun Jun 30 20:29:33 2013
@@ -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
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,17 @@
+<%@ 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
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF Sun Jun 30 20:29:33 2013
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml Sun Jun 30 20:29:33 2013
@@ -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>
Added: struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp (added)
+++ struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,28 @@
+<%@ 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
Propchange: struts/sandbox/trunk/struts2examples/form_processing/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jun 30 20:29:33 2013
@@ -0,0 +1,4 @@
+.settings
+.classpath
+.project
+target
Added: struts/sandbox/trunk/struts2examples/form_processing/README.txt
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/README.txt?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/README.txt (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/README.txt Sun Jun 30 20:29:33 2013
@@ -0,0 +1,16 @@
+This is the example project referred to in the
+Struts 2 documentation, Processing Forms 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/form_processing/index.action.
+
+You should see a web page with Welcome to Struts 2!
+
Added: struts/sandbox/trunk/struts2examples/form_processing/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/pom.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/pom.xml (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/pom.xml Sun Jun 30 20:29:33 2013
@@ -0,0 +1,21 @@
+<?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>form_processing</artifactId>
+
+ <name>Form Processing</name>
+
+ <description>Form processing example application for the
+ Struts 2 getting started tutorials</description>
+ <packaging>war</packaging>
+
+ <build>
+ <finalName>form_processing</finalName>
+ </build>
+</project>
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java Sun Jun 30 20:29:33 2013
@@ -0,0 +1,80 @@
+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;
+ }
+
+
+
+}
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java Sun Jun 30 20:29:33 2013
@@ -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)";
+
+ }
+
+}
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java Sun Jun 30 20:29:33 2013
@@ -0,0 +1,40 @@
+package org.apache.struts.register.action;
+
+import org.apache.struts.register.model.Person;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+/**
+ * Acts as a controller to handle actions
+ * related to registering a user.
+ * @author bruce phillips
+ *
+ */
+public class Register extends ActionSupport {
+
+ private static final long serialVersionUID = 1L;
+
+ private Person personBean;
+
+
+ public String execute() throws Exception {
+
+ //call Service class to store personBean's state in database
+
+ return SUCCESS;
+
+ }
+
+ public Person getPersonBean() {
+
+ return personBean;
+
+ }
+
+ public void setPersonBean(Person person) {
+
+ personBean = person;
+
+ }
+
+}
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java Sun Jun 30 20:29:33 2013
@@ -0,0 +1,62 @@
+package org.apache.struts.register.model;
+
+
+/**
+ * Models a Person who registers.
+ * @author bruce phillips
+ *
+ */
+public class Person
+{
+ private String firstName;
+ private String lastName;
+ private String email;
+ private int age;
+
+ public String getFirstName()
+ {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName)
+ {
+ this.firstName = firstName;
+ }
+
+ public String getLastName()
+ {
+ return lastName;
+ }
+
+ public void setLastName(String lastName)
+ {
+ this.lastName = lastName;
+ }
+
+ public String getEmail()
+ {
+ return email;
+ }
+
+ public void setEmail(String email)
+ {
+ this.email = email;
+ }
+
+ public int getAge()
+ {
+ return age;
+ }
+
+ public void setAge( int age)
+ {
+ this.age = age;
+ }
+
+
+ public String toString()
+ {
+ return "First Name: " + getFirstName() + " Last Name: " + getLastName() +
+ " Email: " + getEmail() + " Age: " + getAge() ;
+ }
+}
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd Sun Jun 30 20:29:33 2013
@@ -0,0 +1,227 @@
+<?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
+>
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml Sun Jun 30 20:29:33 2013
@@ -0,0 +1,28 @@
+<?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>
+
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml Sun Jun 30 20:29:33 2013
@@ -0,0 +1,31 @@
+<?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>
+
+ <action name="register" class="org.apache.struts.register.action.Register" method="execute">
+ <result name="success">/thankyou.jsp</result>
+ </action>
+
+ </package>
+
+</struts>
\ No newline at end of file
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,16 @@
+<%@ 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' />" >Return to home page</a>.</p>
+</body>
+</html>
\ No newline at end of file
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF Sun Jun 30 20:29:33 2013
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml Sun Jun 30 20:29:33 2013
@@ -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>Form_Processing_Struts2_Mvn</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>
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,30 @@
+<%@ 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>
+
+<p><a href="register.jsp">Please register</a> for our prize drawing.</p>
+</body>
+</html>
\ No newline at end of file
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Register</title>
+</head>
+<body>
+<h3>Register for a prize by completing this form.</h3>
+
+<s:form action="register">
+
+ <s:textfield name="personBean.firstName" label="First name" />
+ <s:textfield name="personBean.lastName" label="Last name" />
+ <s:textfield name="personBean.email" label ="Email"/>
+ <s:textfield name="personBean.age" label="Age" />
+
+ <s:submit/>
+
+</s:form>
+
+</body>
+</html>
\ No newline at end of file
Added: struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp (added)
+++ struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Registration Successful</title>
+</head>
+<body>
+<h3>Thank you for registering for a prize.</h3>
+
+<p>Your registration information: <s:property value="personBean" /> </p>
+
+<p><a href="<s:url action='index' />" >Return to home page</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
Modified: struts/sandbox/trunk/struts2examples/helloworld/README.txt
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/helloworld/README.txt?rev=1498175&r1=1498174&r2=1498175&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2examples/helloworld/README.txt (original)
+++ struts/sandbox/trunk/struts2examples/helloworld/README.txt Sun Jun 30 20:29:33 2013
@@ -10,7 +10,7 @@ The war file is created in the target su
Copy the war file to your Servlet container (e.g. Tomcat) and
then startup the Servlet container.
-In a web browser go to: http://localhost:8080/Hello_World_Struts2_Mvn/index.action.
+In a web browser go to: http://localhost:8080/hello_world/index.action.
You should see a web page with Welcome to Struts 2!
Modified: struts/sandbox/trunk/struts2examples/helloworld/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/helloworld/pom.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2examples/helloworld/pom.xml (original)
+++ struts/sandbox/trunk/struts2examples/helloworld/pom.xml Sun Jun 30 20:29:33 2013
@@ -1,15 +1,19 @@
<?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>helloworld</artifactId>
- <packaging>war</packaging>
- <name>Hello World Struts 2 Example Application</name>
- <description>Hello world example application for the
+<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>helloworld</artifactId>
+ <packaging>war</packaging>
+ <name>Hello World Struts 2 Example Application</name>
+ <description>Hello world example application for the
Struts 2 Getting Started tutorials</description>
+ <build>
+ <finalName>hello_world</finalName>
+ </build>
</project>
Modified: struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml (original)
+++ struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml Sun Jun 30 20:29:33 2013
@@ -1,6 +1,6 @@
<?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>Hello World Struts 2 Maven</display-name>
+<display-name>Hello World Struts 2</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Modified: struts/sandbox/trunk/struts2examples/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/pom.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2examples/pom.xml (original)
+++ struts/sandbox/trunk/struts2examples/pom.xml Sun Jun 30 20:29:33 2013
@@ -5,7 +5,7 @@
<artifactId>struts2examples</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
- <name>struts2examples</name>
+ <name>Struts 2 Examples</name>
<description>
This is the parent pom for the Struts 2 examples that
go with the Struts 2 Getting Started series of tutorials.
@@ -32,6 +32,9 @@
<modules>
<module>basic_struts</module>
<module>helloworld</module>
+ <module>using_tags</module>
+ <module>coding_actions</module>
+ <module>form_processing</module>
</modules>
<dependencies>
Propchange: struts/sandbox/trunk/struts2examples/using_tags/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jun 30 20:29:33 2013
@@ -0,0 +1,4 @@
+target
+.settings
+.classpath
+.project
Added: struts/sandbox/trunk/struts2examples/using_tags/README.txt
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/README.txt?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/README.txt (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/README.txt Sun Jun 30 20:29:33 2013
@@ -0,0 +1,16 @@
+This is the example project referred to in the
+Struts 2 documentation, Using Tags 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/using_tags/index.action.
+
+You should see a web page with Welcome to Struts 2!
+
Added: struts/sandbox/trunk/struts2examples/using_tags/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/pom.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/pom.xml (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/pom.xml Sun Jun 30 20:29:33 2013
@@ -0,0 +1,21 @@
+<?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>using_tags</artifactId>
+ <name>using_tags</name>
+ <description>Struts 2 example application for the
+ Using Struts 2 Tags getting started tutorial</description>
+
+ <packaging>war</packaging>
+
+ <build>
+ <finalName>using_tags</finalName>
+ </build>
+
+</project>
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java Sun Jun 30 20:29:33 2013
@@ -0,0 +1,64 @@
+package org.apache.struts.using_tags.helloworld.action;
+
+
+
+import org.apache.struts.using_tags.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;
+ }
+
+ /*
+ * 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() ;
+
+ helloCount++;
+
+ return SUCCESS;
+ }
+
+ public MessageStore getMessageStore() {
+ return messageStore;
+ }
+
+ public void setMessageStore(MessageStore messageStore) {
+ this.messageStore = messageStore;
+ }
+
+
+
+}
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java Sun Jun 30 20:29:33 2013
@@ -0,0 +1,31 @@
+package org.apache.struts.using_tags.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)";
+
+ }
+
+}
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd Sun Jun 30 20:29:33 2013
@@ -0,0 +1,227 @@
+<?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
+>
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml Sun Jun 30 20:29:33 2013
@@ -0,0 +1,28 @@
+<?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>
+
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml Sun Jun 30 20:29:33 2013
@@ -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.using_tags.helloworld.action.HelloWorldAction" method="execute">
+ <result name="success">/HelloWorld.jsp</result>
+ </action>
+
+ </package>
+
+</struts>
\ No newline at end of file
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,15 @@
+<%@ 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>
+</body>
+</html>
\ No newline at end of file
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml Sun Jun 30 20:29:33 2013
@@ -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>Using_Tags_Struts2</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>
Added: struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp?rev=1498175&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp (added)
+++ struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp Sun Jun 30 20:29:33 2013
@@ -0,0 +1,28 @@
+<%@ 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
Re: svn commit: r1498175 - in /struts/sandbox/trunk/struts2examples:
./ basic_struts/ basic_struts/src/main/webapp/WEB-INF/ coding_actions/
coding_actions/src/ coding_actions/src/main/ coding_actions/src/main/java/
coding_actions/src/main/java/org/ coding_...
Posted by Maurizio Cucchiara <mc...@apache.org>.
Bruce,
it's really important that every files contain the header of the Apache
Licence.
Twitter :http://www.twitter.com/m_cucchiara
G+ :https://plus.google.com/107903711540963855921
Linkedin :http://www.linkedin.com/in/mauriziocucchiara
VisualizeMe: http://vizualize.me/maurizio.cucchiara?r=maurizio.cucchiara
Maurizio Cucchiara
On 30 June 2013 22:29, <bp...@apache.org> wrote:
> Author: bphillips
> Date: Sun Jun 30 20:29:33 2013
> New Revision: 1498175
>
> URL: http://svn.apache.org/r1498175
> Log:
> Added additional example applications
>
> Added:
> struts/sandbox/trunk/struts2examples/basic_struts/README.txt
> struts/sandbox/trunk/struts2examples/coding_actions/ (with props)
> struts/sandbox/trunk/struts2examples/coding_actions/README.txt
> struts/sandbox/trunk/struts2examples/coding_actions/pom.xml
> struts/sandbox/trunk/struts2examples/coding_actions/src/
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml
>
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp
> struts/sandbox/trunk/struts2examples/form_processing/ (with props)
> struts/sandbox/trunk/struts2examples/form_processing/README.txt
> struts/sandbox/trunk/struts2examples/form_processing/pom.xml
> struts/sandbox/trunk/struts2examples/form_processing/src/
> struts/sandbox/trunk/struts2examples/form_processing/src/main/
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp
>
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp
> struts/sandbox/trunk/struts2examples/using_tags/ (with props)
> struts/sandbox/trunk/struts2examples/using_tags/README.txt
> struts/sandbox/trunk/struts2examples/using_tags/pom.xml
> struts/sandbox/trunk/struts2examples/using_tags/src/
> struts/sandbox/trunk/struts2examples/using_tags/src/main/
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml
>
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp
> Removed:
> struts/sandbox/trunk/struts2examples/src/
> Modified:
> struts/sandbox/trunk/struts2examples/basic_struts/pom.xml
>
> struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml
> struts/sandbox/trunk/struts2examples/helloworld/README.txt
> struts/sandbox/trunk/struts2examples/helloworld/pom.xml
>
> struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml
> struts/sandbox/trunk/struts2examples/pom.xml
>
> Added: struts/sandbox/trunk/struts2examples/basic_struts/README.txt
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/basic_struts/README.txt?rev=1498175&view=auto
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/basic_struts/README.txt (added)
> +++ struts/sandbox/trunk/struts2examples/basic_struts/README.txt Sun Jun
> 30 20:29:33 2013
> @@ -0,0 +1,16 @@
> +This is the example project referred to in the
> +Struts 2 documentation, Ready, Set, Go 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) and
> +then startup the Servlet container.
> +
> +In a web browser go to: http://localhost:8080/basic_struts/index.action.
> +
> +You should see a web page with Welcome to Struts 2!
> +
>
> Modified: struts/sandbox/trunk/struts2examples/basic_struts/pom.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/basic_struts/pom.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/basic_struts/pom.xml (original)
> +++ struts/sandbox/trunk/struts2examples/basic_struts/pom.xml Sun Jun 30
> 20:29:33 2013
> @@ -10,5 +10,11 @@
> <artifactId>basic_struts</artifactId>
> <name>basic_struts</name>
> <description>Basic Struts 2 example application</description>
> +
> + <packaging>war</packaging>
> +
> + <build>
> + <finalName>basic_struts</finalName>
> + </build>
>
> </project>
>
> Modified:
> struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml
> (original)
> +++
> struts/sandbox/trunk/struts2examples/basic_struts/src/main/webapp/WEB-INF/web.xml
> Sun Jun 30 20:29:33 2013
> @@ -1,6 +1,6 @@
> <?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>Basic_Struts2_Maven</display-name>
> +<display-name>Basic Struts2</display-name>
> <welcome-file-list>
> <welcome-file>index.jsp</welcome-file>
> </welcome-file-list>
>
> Propchange: struts/sandbox/trunk/struts2examples/coding_actions/
>
> ------------------------------------------------------------------------------
> --- svn:ignore (added)
> +++ svn:ignore Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,4 @@
> +target
> +.settings
> +.classpath
> +.project
>
> Added: struts/sandbox/trunk/struts2examples/coding_actions/README.txt
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/README.txt?rev=1498175&view=auto
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/coding_actions/README.txt (added)
> +++ struts/sandbox/trunk/struts2examples/coding_actions/README.txt Sun Jun
> 30 20:29:33 2013
> @@ -0,0 +1,16 @@
> +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!
> +
>
> Added: struts/sandbox/trunk/struts2examples/coding_actions/pom.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/pom.xml?rev=1498175&view=auto
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/coding_actions/pom.xml (added)
> +++ struts/sandbox/trunk/struts2examples/coding_actions/pom.xml Sun Jun 30
> 20:29:33 2013
> @@ -0,0 +1,22 @@
> +<?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>
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,80 @@
> +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;
> + }
> +
> +
> +
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
> Sun Jun 30 20:29:33 2013
> @@ -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)";
> +
> + }
> +
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.dtd
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,227 @@
> +<?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
> +>
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/log4j.xml
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,28 @@
> +<?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>
> +
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/resources/struts.xml
> Sun Jun 30 20:29:33 2013
> @@ -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
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/HelloWorld.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,17 @@
> +<%@ 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
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/META-INF/MANIFEST.MF
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,3 @@
> +Manifest-Version: 1.0
> +Class-Path:
> +
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/WEB-INF/web.xml
> Sun Jun 30 20:29:33 2013
> @@ -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>
>
> Added:
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/coding_actions/src/main/webapp/index.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,28 @@
> +<%@ 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
>
> Propchange: struts/sandbox/trunk/struts2examples/form_processing/
>
> ------------------------------------------------------------------------------
> --- svn:ignore (added)
> +++ svn:ignore Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,4 @@
> +.settings
> +.classpath
> +.project
> +target
>
> Added: struts/sandbox/trunk/struts2examples/form_processing/README.txt
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/README.txt?rev=1498175&view=auto
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/form_processing/README.txt (added)
> +++ struts/sandbox/trunk/struts2examples/form_processing/README.txt Sun
> Jun 30 20:29:33 2013
> @@ -0,0 +1,16 @@
> +This is the example project referred to in the
> +Struts 2 documentation, Processing Forms 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/form_processing/index.action.
> +
> +You should see a web page with Welcome to Struts 2!
> +
>
> Added: struts/sandbox/trunk/struts2examples/form_processing/pom.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/pom.xml?rev=1498175&view=auto
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/form_processing/pom.xml (added)
> +++ struts/sandbox/trunk/struts2examples/form_processing/pom.xml Sun Jun
> 30 20:29:33 2013
> @@ -0,0 +1,21 @@
> +<?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>form_processing</artifactId>
> +
> + <name>Form Processing</name>
> +
> + <description>Form processing example application for the
> + Struts 2 getting started tutorials</description>
> + <packaging>war</packaging>
> +
> + <build>
> + <finalName>form_processing</finalName>
> + </build>
> +</project>
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,80 @@
> +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;
> + }
> +
> +
> +
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
> Sun Jun 30 20:29:33 2013
> @@ -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)";
> +
> + }
> +
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/action/Register.java
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,40 @@
> +package org.apache.struts.register.action;
> +
> +import org.apache.struts.register.model.Person;
> +
> +import com.opensymphony.xwork2.ActionSupport;
> +
> +/**
> + * Acts as a controller to handle actions
> + * related to registering a user.
> + * @author bruce phillips
> + *
> + */
> +public class Register extends ActionSupport {
> +
> + private static final long serialVersionUID = 1L;
> +
> + private Person personBean;
> +
> +
> + public String execute() throws Exception {
> +
> + //call Service class to store personBean's state in
> database
> +
> + return SUCCESS;
> +
> + }
> +
> + public Person getPersonBean() {
> +
> + return personBean;
> +
> + }
> +
> + public void setPersonBean(Person person) {
> +
> + personBean = person;
> +
> + }
> +
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/java/org/apache/struts/register/model/Person.java
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,62 @@
> +package org.apache.struts.register.model;
> +
> +
> +/**
> + * Models a Person who registers.
> + * @author bruce phillips
> + *
> + */
> +public class Person
> +{
> + private String firstName;
> + private String lastName;
> + private String email;
> + private int age;
> +
> + public String getFirstName()
> + {
> + return firstName;
> + }
> +
> + public void setFirstName(String firstName)
> + {
> + this.firstName = firstName;
> + }
> +
> + public String getLastName()
> + {
> + return lastName;
> + }
> +
> + public void setLastName(String lastName)
> + {
> + this.lastName = lastName;
> + }
> +
> + public String getEmail()
> + {
> + return email;
> + }
> +
> + public void setEmail(String email)
> + {
> + this.email = email;
> + }
> +
> + public int getAge()
> + {
> + return age;
> + }
> +
> + public void setAge( int age)
> + {
> + this.age = age;
> + }
> +
> +
> + public String toString()
> + {
> + return "First Name: " + getFirstName() + " Last Name: " +
> getLastName() +
> + " Email: " + getEmail() + " Age: " + getAge() ;
> + }
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.dtd
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,227 @@
> +<?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
> +>
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/log4j.xml
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,28 @@
> +<?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>
> +
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/resources/struts.xml
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,31 @@
> +<?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>
> +
> + <action name="register"
> class="org.apache.struts.register.action.Register" method="execute">
> + <result name="success">/thankyou.jsp</result>
> + </action>
> +
> + </package>
> +
> +</struts>
> \ No newline at end of file
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/HelloWorld.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,16 @@
> +<%@ 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' />" >Return to home page</a>.</p>
> +</body>
> +</html>
> \ No newline at end of file
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/META-INF/MANIFEST.MF
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,3 @@
> +Manifest-Version: 1.0
> +Class-Path:
> +
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/WEB-INF/web.xml
> Sun Jun 30 20:29:33 2013
> @@ -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>Form_Processing_Struts2_Mvn</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>
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/index.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,30 @@
> +<%@ 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>
> +
> +<p><a href="register.jsp">Please register</a> for our prize drawing.</p>
> +</body>
> +</html>
> \ No newline at end of file
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/register.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,26 @@
> +<?xml version="1.0" encoding="ISO-8859-1" ?>
> +<%@ taglib prefix="s" uri="/struts-tags" %>
> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
> + pageEncoding="ISO-8859-1"%>
> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> +<html xmlns="http://www.w3.org/1999/xhtml">
> +<head>
> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
> +<title>Register</title>
> +</head>
> +<body>
> +<h3>Register for a prize by completing this form.</h3>
> +
> +<s:form action="register">
> +
> + <s:textfield name="personBean.firstName" label="First name" />
> + <s:textfield name="personBean.lastName" label="Last name" />
> + <s:textfield name="personBean.email" label ="Email"/>
> + <s:textfield name="personBean.age" label="Age" />
> +
> + <s:submit/>
> +
> +</s:form>
> +
> +</body>
> +</html>
> \ No newline at end of file
>
> Added:
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/form_processing/src/main/webapp/thankyou.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,19 @@
> +<?xml version="1.0" encoding="ISO-8859-1" ?>
> +<%@ taglib prefix="s" uri="/struts-tags" %>
> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
> + pageEncoding="ISO-8859-1"%>
> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> +<html xmlns="http://www.w3.org/1999/xhtml">
> +<head>
> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
> +<title>Registration Successful</title>
> +</head>
> +<body>
> +<h3>Thank you for registering for a prize.</h3>
> +
> +<p>Your registration information: <s:property value="personBean" /> </p>
> +
> +<p><a href="<s:url action='index' />" >Return to home page</a>.</p>
> +
> +</body>
> +</html>
> \ No newline at end of file
>
> Modified: struts/sandbox/trunk/struts2examples/helloworld/README.txt
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/helloworld/README.txt?rev=1498175&r1=1498174&r2=1498175&view=diff
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/helloworld/README.txt (original)
> +++ struts/sandbox/trunk/struts2examples/helloworld/README.txt Sun Jun 30
> 20:29:33 2013
> @@ -10,7 +10,7 @@ The war file is created in the target su
> Copy the war file to your Servlet container (e.g. Tomcat) and
> then startup the Servlet container.
>
> -In a web browser go to:
> http://localhost:8080/Hello_World_Struts2_Mvn/index.action.
> +In a web browser go to: http://localhost:8080/hello_world/index.action.
>
> You should see a web page with Welcome to Struts 2!
>
>
> Modified: struts/sandbox/trunk/struts2examples/helloworld/pom.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/helloworld/pom.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/helloworld/pom.xml (original)
> +++ struts/sandbox/trunk/struts2examples/helloworld/pom.xml Sun Jun 30
> 20:29:33 2013
> @@ -1,15 +1,19 @@
> <?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>helloworld</artifactId>
> - <packaging>war</packaging>
> - <name>Hello World Struts 2 Example Application</name>
> - <description>Hello world example application for the
> +<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>helloworld</artifactId>
> + <packaging>war</packaging>
> + <name>Hello World Struts 2 Example Application</name>
> + <description>Hello world example application for the
> Struts 2 Getting Started tutorials</description>
> + <build>
> + <finalName>hello_world</finalName>
> + </build>
> </project>
>
> Modified:
> struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml
> (original)
> +++
> struts/sandbox/trunk/struts2examples/helloworld/src/main/webapp/WEB-INF/web.xml
> Sun Jun 30 20:29:33 2013
> @@ -1,6 +1,6 @@
> <?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>Hello World Struts 2 Maven</display-name>
> +<display-name>Hello World Struts 2</display-name>
> <welcome-file-list>
> <welcome-file>index.jsp</welcome-file>
> </welcome-file-list>
>
> Modified: struts/sandbox/trunk/struts2examples/pom.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/pom.xml?rev=1498175&r1=1498174&r2=1498175&view=diff
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/pom.xml (original)
> +++ struts/sandbox/trunk/struts2examples/pom.xml Sun Jun 30 20:29:33 2013
> @@ -5,7 +5,7 @@
> <artifactId>struts2examples</artifactId>
> <version>1.0.0</version>
> <packaging>pom</packaging>
> - <name>struts2examples</name>
> + <name>Struts 2 Examples</name>
> <description>
> This is the parent pom for the Struts 2 examples that
> go with the Struts 2 Getting Started series of tutorials.
> @@ -32,6 +32,9 @@
> <modules>
> <module>basic_struts</module>
> <module>helloworld</module>
> + <module>using_tags</module>
> + <module>coding_actions</module>
> + <module>form_processing</module>
> </modules>
>
> <dependencies>
>
> Propchange: struts/sandbox/trunk/struts2examples/using_tags/
>
> ------------------------------------------------------------------------------
> --- svn:ignore (added)
> +++ svn:ignore Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,4 @@
> +target
> +.settings
> +.classpath
> +.project
>
> Added: struts/sandbox/trunk/struts2examples/using_tags/README.txt
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/README.txt?rev=1498175&view=auto
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/using_tags/README.txt (added)
> +++ struts/sandbox/trunk/struts2examples/using_tags/README.txt Sun Jun 30
> 20:29:33 2013
> @@ -0,0 +1,16 @@
> +This is the example project referred to in the
> +Struts 2 documentation, Using Tags 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/using_tags/index.action.
> +
> +You should see a web page with Welcome to Struts 2!
> +
>
> Added: struts/sandbox/trunk/struts2examples/using_tags/pom.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/pom.xml?rev=1498175&view=auto
>
> ==============================================================================
> --- struts/sandbox/trunk/struts2examples/using_tags/pom.xml (added)
> +++ struts/sandbox/trunk/struts2examples/using_tags/pom.xml Sun Jun 30
> 20:29:33 2013
> @@ -0,0 +1,21 @@
> +<?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>using_tags</artifactId>
> + <name>using_tags</name>
> + <description>Struts 2 example application for the
> + Using Struts 2 Tags getting started tutorial</description>
> +
> + <packaging>war</packaging>
> +
> + <build>
> + <finalName>using_tags</finalName>
> + </build>
> +
> +</project>
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,64 @@
> +package org.apache.struts.using_tags.helloworld.action;
> +
> +
> +
> +import org.apache.struts.using_tags.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;
> + }
> +
> + /*
> + * 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() ;
> +
> + helloCount++;
> +
> + return SUCCESS;
> + }
> +
> + public MessageStore getMessageStore() {
> + return messageStore;
> + }
> +
> + public void setMessageStore(MessageStore messageStore) {
> + this.messageStore = messageStore;
> + }
> +
> +
> +
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/java/org/apache/struts/using_tags/helloworld/model/MessageStore.java
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,31 @@
> +package org.apache.struts.using_tags.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)";
> +
> + }
> +
> +}
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.dtd
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,227 @@
> +<?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
> +>
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/log4j.xml
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,28 @@
> +<?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>
> +
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/resources/struts.xml
> Sun Jun 30 20:29:33 2013
> @@ -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.using_tags.helloworld.action.HelloWorldAction"
> method="execute">
> + <result name="success">/HelloWorld.jsp</result>
> + </action>
> +
> + </package>
> +
> +</struts>
> \ No newline at end of file
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/HelloWorld.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,15 @@
> +<%@ 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>
> +</body>
> +</html>
> \ No newline at end of file
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/WEB-INF/web.xml
> Sun Jun 30 20:29:33 2013
> @@ -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>Using_Tags_Struts2</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>
>
> Added:
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp
> URL:
> http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp?rev=1498175&view=auto
>
> ==============================================================================
> ---
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp
> (added)
> +++
> struts/sandbox/trunk/struts2examples/using_tags/src/main/webapp/index.jsp
> Sun Jun 30 20:29:33 2013
> @@ -0,0 +1,28 @@
> +<%@ 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
>
>
>