You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Maurizio Cucchiara <mc...@apache.org> on 2013/07/01 10:16:49 UTC
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_...
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
>
>
>