Compare commits

..

1 Commits

Author SHA1 Message Date
Lukasz Lenart f15f28a176 [maven-release-plugin] copy for tag STRUTS_2_3_12
git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12@1453278 13f79535-47bb-0310-9956-ffa450edef68
2013-03-06 10:44:26 +00:00
1202 changed files with 25163 additions and 108109 deletions
-70
View File
@@ -1,70 +0,0 @@
# IDEA
.idea
*.iml
*.ipr
*.iws
# Eclipse
.classpath
.project
.settings/
# OSX
.DS_Store
# Scripts
*.sh
# Maven
core/target
xwork-core/target
archetypes/struts2-archetype-angularjs/target
archetypes/struts2-archetype-blank/target
archetypes/struts2-archetype-convention/target
archetypes/struts2-archetype-dbportlet/target
archetypes/struts2-archetype-plugin/target
archetypes/struts2-archetype-portlet/target
archetypes/struts2-archetype-starter/target
archetypes/target
plugins/convention/target
plugins/embeddedjsp/target
plugins/dojo/target
plugins/osgi/target
plugins/cdi/target
plugins/codebehind/target
plugins/spring/target
plugins/jfreechart/target
apps/rest-showcase/target
apps/mailreader/target
apps/portlet/target
apps/blank/target
apps/jboss-blank/target
apps/mailreader/target
apps/portlet/target
apps/showcase/target
apps/target
bundles/admin/target
plugins/config-browser/target
plugins/jasperreports/target
plugins/jsf/target
plugins/json/target
plugins/portlet-tiles/target
plugins/portlet/target
plugins/sitegraph/target
plugins/sitemesh/target
plugins/struts1/target
plugins/tiles3/target
plugins/javatemplates/target
bundles/demo/target
plugins/rest/target
plugins/plexus/target
plugins/testng/target
plugins/dwr/target
plugins/gxp/target
plugins/oval/target
plugins/junit/target
plugins/tiles/target
bundles/target
plugins/target
target
plugins/testng/test-output
+1 -7
View File
@@ -7,10 +7,4 @@ For more on getting started with Struts, see
* http://cwiki.apache.org/WW/home.html
I18N:
=====
Please note that this project was created with the assumption that it will be run
in an environment where the default locale is set to English. This means that
the default messages defined in package.properties are in English. If the default
locale for your server is different, then rename package.properties to package_en.properties
and create a new package.properties with proper values for your default locale.
----------------------------------------------------------------------------
+10 -16
View File
@@ -26,12 +26,18 @@
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-apps</artifactId>
<version>2.3.17</version>
<version>2.3.12</version>
</parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-blank</artifactId>
<packaging>war</packaging>
<name>Struts 2 Blank Webapp</name>
<name>Blank Webapp</name>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/blank</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/blank</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_12/apps/blank</url>
</scm>
<dependencies>
@@ -47,19 +53,10 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -82,7 +79,4 @@
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
+7 -6
View File
@@ -21,18 +21,19 @@
package example;
import org.apache.struts2.interceptor.validation.SkipValidation;
public class Login extends ExampleSupport {
@Override
public String execute() throws Exception {
if (isInvalid(getUsername())) return INPUT;
if (isInvalid(getPassword())) return INPUT;
return SUCCESS;
}
@SkipValidation
public String form() throws Exception {
return INPUT;
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
private String username;
+3 -3
View File
@@ -8,16 +8,16 @@
<package name="example" namespace="/example" extends="default">
<action name="HelloWorld" class="example.HelloWorld">
<result>/WEB-INF/jsp/example/HelloWorld.jsp</result>
<result>/example/HelloWorld.jsp</result>
</action>
<action name="Login_*" method="{1}" class="example.Login">
<result name="input">/WEB-INF/jsp/example/Login.jsp</result>
<result name="input">/example/Login.jsp</result>
<result type="redirectAction">Menu</result>
</action>
<action name="*" class="example.ExampleSupport">
<result>/WEB-INF/jsp/example/{1}.jsp</result>
<result>/example/{1}.jsp</result>
</action>
<!-- Add actions here -->
@@ -1,26 +0,0 @@
#
# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)
#
# The five logging levels used by Log are (in order):
#
# 1. DEBUG (the least serious)
# 2. INFO
# 3. WARN
# 4. ERROR
# 5. FATAL (the most serious)
# Set root logger level to WARN and append to stdout
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n
# Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=FATAL
log4j.logger.com.opensymphony.xwork2=DEBUG
log4j.logger.org.apache.struts2=DEBUG
+1 -1
View File
@@ -13,7 +13,7 @@
<default-action-ref name="index" />
<global-results>
<result name="error">/WEB-INF/jsp/error.jsp</result>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
+1 -20
View File
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" 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">
<web-app id="WebApp_9" 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>Struts Blank</display-name>
@@ -19,21 +17,4 @@
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- Restricts access to pure JSP files - access available only via Struts action -->
<security-constraint>
<display-name>No direct JSP access</display-name>
<web-resource-collection>
<web-resource-name>No-JSP</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>no-users</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>Don't assign users to this role</description>
<role-name>no-users</role-name>
</security-role>
</web-app>
@@ -21,9 +21,11 @@
package example;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.StrutsTestCase;
import com.opensymphony.xwork2.ActionSupport;
import junit.framework.TestCase;
public class HelloWorldTest extends StrutsTestCase {
public void testHelloWorld() throws Exception {
+1 -7
View File
@@ -7,10 +7,4 @@ For more on getting started with Struts, see
* http://cwiki.apache.org/WW/home.html
I18N:
=====
Please note that this project was created with the assumption that it will be run
in an environment where the default locale is set to English. This means that
the default messages defined in package.properties are in English. If the default
locale for your server is different, then rename package.properties to package_en.properties
and create a new package.properties with proper values for your default locale.
----------------------------------------------------------------------------
+11 -7
View File
@@ -26,12 +26,18 @@
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-apps</artifactId>
<version>2.3.17</version>
<version>2.3.12</version>
</parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-jboss-blank</artifactId>
<packaging>war</packaging>
<name>Struts 2 JBoss Blank Webapp</name>
<name>JBoss Blank Webapp</name>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/jboss-blank</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/jboss-blank</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_12/apps/jboss-blank</url>
</scm>
<dependencies>
@@ -51,11 +57,9 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
</project>
@@ -8,16 +8,16 @@
<package name="example" namespace="/example" extends="struts-default">
<action name="HelloWorld" class="example.HelloWorld">
<result>/WEB-INF/jsp/example/HelloWorld.jsp</result>
<result>/example/HelloWorld.jsp</result>
</action>
<action name="Login_*" method="{1}" class="example.Login">
<result name="input">/WEB-INF/jsp/example/Login.jsp</result>
<result name="input">/example/Login.jsp</result>
<result type="redirectAction">Menu</result>
</action>
<action name="*" class="example.ExampleSupport">
<result>/WEB-INF/jsp/example/{1}.jsp</result>
<result>/example/{1}.jsp</result>
</action>
<!-- Add actions here -->
@@ -17,21 +17,4 @@
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- Restricts access to pure JSP files - access available only via Struts action -->
<security-constraint>
<display-name>No direct JSP access</display-name>
<web-resource-collection>
<web-resource-name>No-JSP</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>no-users</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>Don't assign users to this role</description>
<role-name>no-users</role-name>
</security-role>
</web-app>
@@ -1,28 +1,28 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title><s:text name="HelloWorld.message"/></title>
</head>
<body>
<h2><s:property value="message"/></h2>
<h3>Languages</h3>
<ul>
<li>
<s:url id="url" action="HelloWorld">
<s:param name="request_locale">en</s:param>
</s:url>
<s:a href="%{url}">English</s:a>
</li>
<li>
<s:url id="url" action="HelloWorld">
<s:param name="request_locale">es</s:param>
</s:url>
<s:a href="%{url}">Espanol</s:a>
</li>
</ul>
</body>
</html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title><s:text name="HelloWorld.message"/></title>
</head>
<body>
<h2><s:property value="message"/></h2>
<h3>Languages</h3>
<ul>
<li>
<s:url id="url" action="HelloWorld">
<s:param name="request_locale">en</s:param>
</s:url>
<s:a href="%{url}">English</s:a>
</li>
<li>
<s:url id="url" action="HelloWorld">
<s:param name="request_locale">es</s:param>
</s:url>
<s:a href="%{url}">Espanol</s:a>
</li>
</ul>
</body>
</html>
@@ -1,15 +1,15 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Sign On</title>
</head>
<body>
<s:form action="Login">
<s:textfield key="username"/>
<s:password key="password" />
<s:submit/>
</s:form>
</body>
</html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Sign On</title>
</head>
<body>
<s:form action="Login">
<s:textfield key="username"/>
<s:password key="password" />
<s:submit/>
</s:form>
</body>
</html>
@@ -1,3 +1,3 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:include value="Missing.jsp"/>
@@ -1,11 +1,11 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head><title>Missing Feature</title></head>
<body>
<p>
<s:text name="Missing.message"/>
</p>
</body>
</html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head><title>Missing Feature</title></head>
<body>
<p>
<s:text name="Missing.message"/>
</p>
</body>
</html>
@@ -1,3 +1,3 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:include value="Missing.jsp"/>
@@ -1,18 +1,18 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Welcome</title>
<link href="<s:url value="/css/examplecss"/>" rel="stylesheet"
type="text/css"/>
</head>
<body>
<h3>Commands</h3>
<ul>
<li><a href="<s:url action="Login_input"/>">Sign On</a></li>
<li><a href="<s:url action="Register"/>">Register</a></li>
</ul>
</body>
</html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Welcome</title>
<link href="<s:url value="/css/examplecss"/>" rel="stylesheet"
type="text/css"/>
</head>
<body>
<h3>Commands</h3>
<ul>
<li><a href="<s:url action="Login_input"/>">Sign On</a></li>
<li><a href="<s:url action="Register"/>">Register</a></li>
</ul>
</body>
</html>
@@ -24,6 +24,7 @@ package example;
import org.apache.struts2.StrutsTestCase;
import com.opensymphony.xwork2.ActionSupport;
import junit.framework.TestCase;
public class HelloWorldTest extends StrutsTestCase {
+2 -7
View File
@@ -14,10 +14,5 @@ For more about the MailReader applicaton genneraly, visit Struts University.
* http://www.StrutsUniversity.org/
I18N:
=====
Please note that this project was created with the assumption that it will be run
in an environment where the default locale is set to English. This means that
the default messages defined in package.properties are in English. If the default
locale for your server is different, then rename package.properties to package_en.properties
and create a new package.properties with proper values for your default locale.
----------------------------------------------------------------------------
+9 -6
View File
@@ -26,12 +26,18 @@
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-apps</artifactId>
<version>2.3.17</version>
<version>2.3.12</version>
</parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-mailreader</artifactId>
<packaging>war</packaging>
<name>Struts 2 Mail Reader Webapp</name>
<name>Mail Reader Webapp</name>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/mailreader</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/mailreader</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_12/apps/mailreader</url>
</scm>
<dependencies>
@@ -94,7 +100,4 @@
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
@@ -12,7 +12,7 @@
</action>
<action name="Welcome" class="mailreader2.Welcome">
<result>/WEB-INF/jsp/Welcome.jsp</result>
<result>/Welcome.jsp</result>
<interceptor-ref name="guest"/>
</action>
@@ -21,7 +21,7 @@
</action>
<action name="Login_*" method="{1}" class="mailreader2.Login">
<result name="input">/WEB-INF/jsp/Login.jsp</result>
<result name="input">/Login.jsp</result>
<result name="cancel" type="redirectAction">Welcome</result>
<result type="redirectAction">MainMenu</result>
<result name="expired" type="chain">ChangePassword</result>
@@ -32,7 +32,7 @@
</action>
<action name="Registration_*" method="{1}" class="mailreader2.Registration">
<result name="input">/WEB-INF/jsp/Registration.jsp</result>
<result name="input">/Registration.jsp</result>
<result type="redirectAction">MainMenu</result>
<interceptor-ref name="guest"/>
</action>
@@ -41,7 +41,7 @@
<package name="subscription" namespace="/" extends="mailreader-support">
<global-results>
<result name="input">/WEB-INF/jsp/Subscription.jsp</result>
<result name="input">/Subscription.jsp</result>
<result type="redirectAction">Registration_input</result>
</global-results>
@@ -56,7 +56,7 @@
<package name="wildcard" namespace="/" extends="mailreader-support">
<action name="*" class="mailreader2.MailreaderSupport">
<result>/WEB-INF/jsp/{1}.jsp</result>
<result>/{1}.jsp</result>
</action>
</package>
@@ -27,21 +27,4 @@
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- Restricts access to pure JSP files - access available only via Struts action -->
<security-constraint>
<display-name>No direct JSP access</display-name>
<web-resource-collection>
<web-resource-name>No-JSP</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>no-users</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>Don't assign users to this role</description>
<role-name>no-users</role-name>
</security-role>
</web-app>
+9 -5
View File
@@ -26,11 +26,12 @@
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-parent</artifactId>
<version>2.3.17</version>
<version>2.3.12</version>
</parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-apps</artifactId>
<packaging>pom</packaging>
<name>Struts 2 Webapps</name>
<name>Webapps</name>
<modules>
<module>blank</module>
<module>jboss-blank</module>
@@ -40,6 +41,12 @@
<module>rest-showcase</module>
</modules>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_12/apps</url>
</scm>
<profiles>
<profile>
<id>hostedqa</id>
@@ -218,7 +225,4 @@
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
+2 -7
View File
@@ -13,10 +13,5 @@ WAR is not ready-to-run. Extract the portlet WAR, and then copy the
contents of apps/portlet/src/main/etc/<your_portal_server>/ into the
WAR's WEB-INF directory.
I18N:
=====
Please note that this project was created with the assumption that it will be run
in an environment where the default locale is set to English. This means that
the default messages defined in package.properties are in English. If the default
locale for your server is different, then rename package.properties to package_en.properties
and create a new package.properties with proper values for your default locale.
----------------------------------------------------------------------------
+9 -10
View File
@@ -26,12 +26,18 @@
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-apps</artifactId>
<version>2.3.17</version>
<version>2.3.12</version>
</parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-portlet</artifactId>
<packaging>war</packaging>
<name>Struts 2 Portlet Webapp</name>
<name>Portlet Webapp</name>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/portlet</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/portlet</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_12/apps/portlet</url>
</scm>
<profiles>
<profile>
@@ -103,10 +109,6 @@
<groupId>org.apache.struts</groupId>
<artifactId>struts2-dwr-plugin</artifactId>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-portlet-tiles-plugin</artifactId>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
@@ -207,7 +209,4 @@
</plugin>
</plugins>
</reporting>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
@@ -8,5 +8,4 @@
<include file="struts-edit.xml"/>
<include file="struts-help.xml"/>
<include file="struts-eventing.xml"/>
<include file="struts-tiles.xml"/>
</struts>
@@ -12,7 +12,6 @@ Here you'll find examples of what is possible with the Struts Portlet integratio
<li><a href="<s:url action="fileUpload" method="input"/>">File upload</li>
<li><a href="<s:url action="freeMarkerExample"/>">FreeMarker</a></li>
<li><a href="<s:url action="velocityHelloWorld"/>">Velocity</a></li>
<li><a href="<s:url action="index" namespace="/tiles"/>">Form Example Validation with Tiles</a></li>
<li><a href="<s:url action="index" portletMode="edit"/>">Go to edit mode and see what's there</a></li>
<li><a href="<s:url action="index" portletMode="help"/>">Go to help mode and see what's there</a></li>
</ul>
@@ -1,16 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="StrutsPortlet">
<context-param>
<param-name>org.apache.tiles.factory.TilesContainerFactory</param-name>
<param-value>org.apache.struts2.tiles.StrutsTilesContainerFactory</param-value>
</context-param>
<context-param>
<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>
<!-- Uncomment/comment this if you need/don't need Spring support -->
<context-param>
<param-name>contextConfigLocation</param-name>
@@ -22,10 +12,4 @@
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Tiles Plugin -->
<listener>
<listener-class>org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
</web-app>
-15
View File
@@ -1,15 +0,0 @@
README.txt - Rest Showcase Webapp
Rest Showcase is a simple example of REST app build with the REST plugin.
For more on getting started with Struts, see
* http://cwiki.apache.org/WW/home.html
I18N:
=====
Please note that this project was created with the assumption that it will be run
in an environment where the default locale is set to English. This means that
the default messages defined in package.properties are in English. If the default
locale for your server is different, then rename package.properties to package_en.properties
and create a new package.properties with proper values for your default locale.
+8 -6
View File
@@ -26,27 +26,31 @@
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-apps</artifactId>
<version>2.3.17</version>
<version>2.3.12</version>
</parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-rest-showcase</artifactId>
<packaging>war</packaging>
<version>2.3.17</version>
<name>Struts 2 Rest Showcase Webapp</name>
<version>2.3.12</version>
<name>Struts 2 Rest Showcase Example</name>
<description>Struts 2 Rest Showcase Example</description>
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-rest-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
@@ -67,6 +71,7 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.jwebunit</groupId>
<artifactId>jwebunit-htmlunit-plugin</artifactId>
@@ -138,7 +143,4 @@
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
@@ -26,21 +26,4 @@
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Restricts access to pure JSP files - access available only via Struts action -->
<security-constraint>
<display-name>No direct JSP access</display-name>
<web-resource-collection>
<web-resource-name>No-JSP</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>no-users</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>Don't assign users to this role</description>
<role-name>no-users</role-name>
</security-role>
</web-app>
+1 -7
View File
@@ -7,10 +7,4 @@ For more on getting started with Struts, see
* http://cwiki.apache.org/WW/home.html
I18N:
=====
Please note that this project was created with the assumption that it will be run
in an environment where the default locale is set to English. This means that
the default messages defined in package.properties are in English. If the default
locale for your server is different, then rename package.properties to package_en.properties
and create a new package.properties with proper values for your default locale.
----------------------------------------------------------------------------
+22 -6
View File
@@ -26,12 +26,19 @@
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-apps</artifactId>
<version>2.3.17</version>
<version>2.3.12</version>
</parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-showcase</artifactId>
<packaging>war</packaging>
<name>Struts 2 Showcase Webapp</name>
<name>Showcase Webapp</name>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/showcase</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_12/apps/showcase</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_12/apps/showcase</url>
</scm>
<profiles>
<profile>
@@ -49,41 +56,49 @@
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-struts1-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-dojo-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-jsf-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-sitemesh-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-tiles-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-dwr-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
@@ -95,11 +110,13 @@
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
@@ -122,10 +139,12 @@
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>uk.ltd.getahead</groupId>
<artifactId>dwr</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -239,7 +258,4 @@
</resources>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
@@ -39,23 +39,7 @@ public class FileDownloadAction implements Action {
}
public void setInputPath(String value) {
inputPath = sanitizeInputPath(value);
}
/**
* As the user modifiable parameter inputPath will be used to access server side resources, we want the path to be
* sanitized - in this case it is demonstrated to disallow inputPath parameter values containing "WEB-INF". Consider to
* use even stricter rules in production environments.
*
* @param value the raw parameter input value to sanitize
*
* @return the sanitized value; <tt>null</tt> if value contains an invalid path segment like WEB-INF
*/
String sanitizeInputPath( String value ) {
if (value != null && value.toUpperCase().contains("WEB-INF")) {
return null;
}
return value;
inputPath = value;
}
public InputStream getInputStream() throws Exception {
@@ -23,99 +23,99 @@ package org.apache.struts2.showcase.validation;
import java.sql.Date;
/**
* <!-- START SNIPPET: fieldValidatorsExample -->
*/
// START SNIPPET: fieldValidatorsExample
public class FieldValidatorsExampleAction extends AbstractValidationActionSupport {
private static final long serialVersionUID = -4829381083003175423L;
private static final long serialVersionUID = -4829381083003175423L;
private String requiredValidatorField = null;
private String requiredStringValidatorField = null;
private Integer integerValidatorField = null;
private Date dateValidatorField = null;
private String emailValidatorField = null;
private String urlValidatorField = null;
private String stringLengthValidatorField = null;
private String regexValidatorField = null;
private String fieldExpressionValidatorField = null;
private String requiredValidatorField = null;
private String requiredStringValidatorField = null;
private Integer integerValidatorField = null;
private Date dateValidatorField = null;
private String emailValidatorField = null;
private String urlValidatorField = null;
private String stringLengthValidatorField = null;
private String regexValidatorField = null;
private String fieldExpressionValidatorField = null;
public Date getDateValidatorField() {
return dateValidatorField;
}
public Date getDateValidatorField() {
return dateValidatorField;
}
public void setDateValidatorField(Date dateValidatorField) {
this.dateValidatorField = dateValidatorField;
}
public void setDateValidatorField(Date dateValidatorField) {
this.dateValidatorField = dateValidatorField;
}
public String getEmailValidatorField() {
return emailValidatorField;
}
public String getEmailValidatorField() {
return emailValidatorField;
}
public void setEmailValidatorField(String emailValidatorField) {
this.emailValidatorField = emailValidatorField;
}
public void setEmailValidatorField(String emailValidatorField) {
this.emailValidatorField = emailValidatorField;
}
public Integer getIntegerValidatorField() {
return integerValidatorField;
}
public Integer getIntegerValidatorField() {
return integerValidatorField;
}
public void setIntegerValidatorField(Integer integerValidatorField) {
this.integerValidatorField = integerValidatorField;
}
public void setIntegerValidatorField(Integer integerValidatorField) {
this.integerValidatorField = integerValidatorField;
}
public String getRegexValidatorField() {
return regexValidatorField;
}
public String getRegexValidatorField() {
return regexValidatorField;
}
public void setRegexValidatorField(String regexValidatorField) {
this.regexValidatorField = regexValidatorField;
}
public void setRegexValidatorField(String regexValidatorField) {
this.regexValidatorField = regexValidatorField;
}
public String getRequiredStringValidatorField() {
return requiredStringValidatorField;
}
public String getRequiredStringValidatorField() {
return requiredStringValidatorField;
}
public void setRequiredStringValidatorField(String requiredStringValidatorField) {
this.requiredStringValidatorField = requiredStringValidatorField;
}
public void setRequiredStringValidatorField(String requiredStringValidatorField) {
this.requiredStringValidatorField = requiredStringValidatorField;
}
public String getRequiredValidatorField() {
return requiredValidatorField;
}
public String getRequiredValidatorField() {
return requiredValidatorField;
}
public void setRequiredValidatorField(String requiredValidatorField) {
this.requiredValidatorField = requiredValidatorField;
}
public void setRequiredValidatorField(String requiredValidatorField) {
this.requiredValidatorField = requiredValidatorField;
}
public String getStringLengthValidatorField() {
return stringLengthValidatorField;
}
public String getStringLengthValidatorField() {
return stringLengthValidatorField;
}
public void setStringLengthValidatorField(String stringLengthValidatorField) {
this.stringLengthValidatorField = stringLengthValidatorField;
}
public void setStringLengthValidatorField(String stringLengthValidatorField) {
this.stringLengthValidatorField = stringLengthValidatorField;
}
public String getFieldExpressionValidatorField() {
return fieldExpressionValidatorField;
}
public String getFieldExpressionValidatorField() {
return fieldExpressionValidatorField;
}
public void setFieldExpressionValidatorField(
String fieldExpressionValidatorField) {
this.fieldExpressionValidatorField = fieldExpressionValidatorField;
}
public void setFieldExpressionValidatorField(
String fieldExpressionValidatorField) {
this.fieldExpressionValidatorField = fieldExpressionValidatorField;
}
public String getUrlValidatorField() {
return urlValidatorField;
}
public String getUrlValidatorField() {
return urlValidatorField;
}
public void setUrlValidatorField(String urlValidatorField) {
this.urlValidatorField = urlValidatorField;
}
public void setUrlValidatorField(String urlValidatorField) {
this.urlValidatorField = urlValidatorField;
}
}
/**
* <!-- END SNIPPET: fieldValidatorsExample -->
*/
// END SNIPPET: fieldValidatorsExample
@@ -11,7 +11,7 @@
# Set root logger level to WARN and append to stdout
log4j.rootLogger=INFO, stdout
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
@@ -20,14 +20,17 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n
# Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=INFO
log4j.logger.noModule=FATAL
# OpenSymphony Stuff
log4j.logger.freemarker=INFO
log4j.logger.com.opensymphony=INFO
log4j.logger.com.opensymphony.xwork2.ognl=INFO
log4j.logger.org.apache.struts2=INFO
log4j.logger.com.opensymphony.xwork2.ognl=ERROR
log4j.logger.org.apache.struts2=WARN
log4j.logger.org.apache.struts2.components=WARN
log4j.logger.org.apache.struts2.dispatcher=WARN
log4j.logger.org.apache.struts2.convention=INFO
# Spring Stuff
log4j.logger.org.springframework=INFO
log4j.logger.org.springframework=WARN
@@ -58,7 +58,7 @@
</field>
<field name="regexValidatorField">
<field-validator type="regex">
<param name="regex">.*\.txt</param>
<param name="expression">.*\.txt</param>
<message><![CDATA[ regexValidatorField must match a regexp (.*\.txt) if specified ]]></message>
</field-validator>
</field>
@@ -52,7 +52,7 @@
</field>
<field name="regexValidatorField">
<field-validator type="regex">
<param name="regex"><![CDATA[ [^<>]+ ]]></param>
<param name="expression">.*\.txt</param>
<message><![CDATA[ regexValidatorField must match a regexp (.*\.txt) if specified ]]></message>
</field-validator>
</field>
@@ -12,7 +12,7 @@
<result type="chain">actionChain3</result>
</action>
<action name="actionChain3" class="org.apache.struts2.showcase.actionchaining.ActionChain3">
<result>/WEB-INF/actionchaining/actionChainingResult.jsp</result>
<result>/actionchaining/actionChainingResult.jsp</result>
</action>
</package>
</struts>
@@ -6,27 +6,27 @@
<struts>
<package name="ajax" extends="struts-default">
<action name="AjaxTest" class="org.apache.struts2.showcase.ajax.AjaxTestAction">
<result>/WEB-INF/ajax/AjaxResult.jsp</result>
<result>/ajax/AjaxResult.jsp</result>
</action>
<action name="AjaxRemoteLink" class="org.apache.struts2.showcase.ajax.AjaxTestAction">
<result>/WEB-INF/ajax/AjaxResult2.js</result>
<result>/ajax/AjaxResult2.js</result>
</action>
<action name="AjaxRemoteForm" class="org.apache.struts2.showcase.ajax.AjaxTestAction">
<result>/WEB-INF/ajax/AjaxResult3.jsp</result>
<result>/ajax/AjaxResult3.jsp</result>
</action>
<action name="Test1">
<result>/WEB-INF/ajax/remoteforms/test2.jsp</result>
<result>/ajax/remoteforms/test2.jsp</result>
</action>
<action name="Test2">
<result>/WEB-INF/ajax/remoteforms/test3.jsp</result>
<result>/ajax/remoteforms/test3.jsp</result>
</action>
<action name="Test3">
<result>/WEB-INF/ajax/testjs.jsp</result>
<result>/ajax/testjs.jsp</result>
</action>
<action name="JSONList">
@@ -34,81 +34,54 @@
</action>
<action name="tree">
<result>/WEB-INF/ajax/tree/tree.jsp</result>
<result>/ajax/tree/tree.jsp</result>
</action>
<action name="getCategory" class="org.apache.struts2.showcase.ajax.tree.GetCategory">
<result>/WEB-INF/ajax/tree/getCategory.jsp</result>
<result>/ajax/tree/getCategory.jsp</result>
</action>
<action name="toggle" class="org.apache.struts2.showcase.ajax.tree.Toggle">
<result>/WEB-INF/ajax/tree/toggle.jsp</result>
<result>/ajax/tree/toggle.jsp</result>
</action>
<action name="example4">
<result type="freemarker">/WEB-INF/ajax/tabbedpanel/example4.ftl</result>
<result type="freemarker">/ajax/tabbedpanel/example4.ftl</result>
</action>
<action name="example5" class="org.apache.struts2.showcase.ajax.Example5Action">
<result name="input">/WEB-INF/ajax/tabbedpanel/example5.jsp</result>
<result>/WEB-INF/ajax/tabbedpanel/example5Ok.jsp</result>
</action>
</package>
<package name="ajax-examples" namespace="/ajax" extends="struts-default">
<action name="bind">
<result>/WEB-INF/ajax/bind/index.jsp</result>
</action>
<action name="autocompleter">
<result>/WEB-INF/ajax/autocompleter/index.jsp</result>
</action>
<action name="remotebutton">
<result>/WEB-INF/ajax/remotebutton/index.jsp</result>
</action>
<action name="remotediv">
<result>/WEB-INF/ajax/remotediv/index.jsp</result>
</action>
<action name="remotelink">
<result>/WEB-INF/ajax/remotelink/index.jsp</result>
</action>
<action name="tabbedpanel">
<result>/WEB-INF/ajax/tabbedpanel/index.jsp</result>
</action>
<action name="remoteforms">
<result>/WEB-INF/ajax/remoteforms/index.jsp</result>
</action>
<action name="widgets">
<result>/WEB-INF/ajax/widgets/index.jsp</result>
<result name="input">/ajax/tabbedpanel/example5.jsp</result>
<result>/ajax/tabbedpanel/example5Ok.jsp</result>
</action>
</package>
<package name="ajaxNoDecorate" namespace="/nodecorate" extends="json-default">
<!-- example 4 -->
<action name="panel1" class="org.apache.struts2.showcase.ajax.Example4ShowPanelAction" method="panel1">
<result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel1.ftl</result>
<result type="freemarker">/ajax/tabbedpanel/nodecorate/panel1.ftl</result>
</action>
<action name="panel2">
<result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel2.ftl</result>
<result type="freemarker">/ajax/tabbedpanel/nodecorate/panel2.ftl</result>
</action>
<action name="panel3">
<result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel3.ftl</result>
<result type="freemarker">/ajax/tabbedpanel/nodecorate/panel3.ftl</result>
</action>
<action name="panel2Submit" class="org.apache.struts2.showcase.ajax.Example4ShowPanelAction" method="panel2">
<result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel2Submit.ftl</result>
<result type="freemarker">/ajax/tabbedpanel/nodecorate/panel2Submit.ftl</result>
</action>
<action name="panel3Submit" class="org.apache.struts2.showcase.ajax.Example4ShowPanelAction" method="panel3">
<result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel3Submit.ftl</result>
<result type="freemarker">/ajax/tabbedpanel/nodecorate/panel3Submit.ftl</result>
</action>
<action name="AutocompleterExample" class="org.apache.struts2.showcase.ajax.AutocompleterExampleAction">
<result type="freemarker">/WEB-INF/ajax/options.ftl</result>
<result type="freemarker">/ajax/options.ftl</result>
</action>
<action name="quizAjax" class="org.apache.struts2.showcase.validation.QuizAction">
<interceptor-ref name="jsonValidationWorkflowStack"/>
<result name="input">/WEB-INF/validation/quiz-ajax.jsp</result>
<result>/WEB-INF/validation/quiz-success.jsp</result>
<result name="input">/validation/quiz-ajax.jsp</result>
<result>/validation/quiz-success.jsp</result>
</action>
<action name="getNodes" class="org.apache.struts2.showcase.ShowAjaxDynamicTreeAction">
<result type="freemarker">/WEB-INF/tags/ui/treeExampleAjaxDynamic.ftl</result>
<result type="freemarker">/tags/ui/treeExampleAjaxDynamic.ftl</result>
</action>
</package>
</struts>
@@ -33,18 +33,18 @@
</interceptors>
<global-results>
<result name="login" type="freemarker">/WEB-INF/chat/chatLogin.ftl</result>
<result name="login" type="freemarker">/chat/chatLogin.ftl</result>
</global-results>
<action name="main">
<interceptor-ref name="chatAuthentication" />
<result type="freemarker">/WEB-INF/chat/roomSelection.ftl</result>
<result type="freemarker">/chat/roomSelection.ftl</result>
</action>
<action name="login" class="chatLoginAction">
<interceptor-ref name="defaultStack" />
<result type="redirect">/chat/showRooms.action</result>
<result name="input" type="freemarker">/WEB-INF/chat/chatLogin.ftl</result>
<result name="input" type="freemarker">/chat/chatLogin.ftl</result>
</action>
<action name="logout" class="chatLogoutAction">
@@ -54,12 +54,12 @@
<action name="showRooms">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/roomSelection.ftl</result>
<result type="freemarker">/chat/roomSelection.ftl</result>
</action>
<action name="enterRoom" class="enterRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/showRoom.ftl</result>
<result type="freemarker">/chat/showRoom.ftl</result>
</action>
<action name="exitRoom" class="exitRoomAction">
@@ -100,35 +100,35 @@
<action name="usersAvailable" class="usersAvailableAction">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/usersAvailable.ftl</result>
<result type="freemarker">/chat/usersAvailable.ftl</result>
</action>
<action name="roomsAvailable" class="roomsAvailableAction">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/roomsAvailable.ftl</result>
<result type="freemarker">/chat/roomsAvailable.ftl</result>
</action>
<action name="createRoom" class="crudRoomAction" method="create">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/createRoom.ftl</result>
<result name="input" type="freemarker">/WEB-INF/chat/createRoom.ftl</result>
<result type="freemarker">/chat/createRoom.ftl</result>
<result name="input" type="freemarker">/chat/createRoom.ftl</result>
</action>
<action name="messagesAvailableInRoom" class="messagesAvailableInRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/messagesAvailableInRoom.ftl</result>
<result name="input" type="freemarker">/WEB-INF/chat/messagesAvailableInRoom.ftl</result>
<result type="freemarker">/chat/messagesAvailableInRoom.ftl</result>
<result name="input" type="freemarker">/chat/messagesAvailableInRoom.ftl</result>
</action>
<action name="sendMessageToRoom" class="sendMessageToRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/sendMessageToRoomResult.ftl</result>
<result name="input" type="freemarker">/WEB-INF/chat/sendMessageToRoomResult.ftl</result>
<result type="freemarker">/chat/sendMessageToRoomResult.ftl</result>
<result name="input" type="freemarker">/chat/sendMessageToRoomResult.ftl</result>
</action>
<action name="usersAvailableInRoom" class="usersAvailableInRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
<result type="freemarker">/WEB-INF/chat/usersAvailableInRoom.ftl</result>
<result type="freemarker">/chat/usersAvailableInRoom.ftl</result>
</action>
</package>
</struts>
@@ -6,72 +6,68 @@
<struts>
<package name="conversion" namespace="/conversion" extends="struts-default">
<action name="index">
<result>/WEB-INF/conversion/index.jsp</result>
</action>
<!-- Example populating a List inside an Action -->
<action name="enterPersonsInfo" method="input"
class="org.apache.struts2.showcase.conversion.PersonAction">
<result>/WEB-INF/conversion/enterPersonInfo.jsp</result>
<result>enterPersonInfo.jsp</result>
</action>
<action name="submitPersonInfo" method="submit"
class="org.apache.struts2.showcase.conversion.PersonAction">
<result>/WEB-INF/conversion/showPersonInfo.jsp</result>
<result name="input">/WEB-INF/conversion/enterPersonInfo.jsp</result>
<result>showPersonInfo.jsp</result>
<result name="input">enterPersonInfo.jsp</result>
</action>
<action name="showPersonJspCode">
<result type="plainText">/WEB-INF/conversion/enterPersonInfo.jsp</result>
<result type="plainText">/conversion/enterPersonInfo.jsp</result>
</action>
<action name="showPersonActionJavaCode">
<result type="plainText">/WEB-INF/conversion/PersonAction.java.txt</result>
<result type="plainText">/conversion/PersonAction.java.txt</result>
</action>
<action name="showPersonJavaCode">
<result type="plainText">/WEB-INF/conversion/Person.java.txt</result>
<result type="plainText">/conversion/Person.java.txt</result>
</action>
<!-- Example populating a Set inside an Action -->
<action name="enterAddressesInfo" class="org.apache.struts2.showcase.conversion.AddressAction" method="input">
<result>/WEB-INF/conversion/enterAddressInfo.jsp</result>
<result>enterAddressInfo.jsp</result>
</action>
<action name="submitAddressesInfo" class="org.apache.struts2.showcase.conversion.AddressAction" method="submit">
<result>/WEB-INF/conversion/showAddressInfo.jsp</result>
<result name="input">/WEB-INF/conversion/enterAddressInfo.jsp</result>
<result>showAddressInfo.jsp</result>
<result name="input">enterAddressInfo.jsp</result>
</action>
<action name="showAddressJspCode">
<result type="plainText">/WEB-INF/conversion/enterAddressInfo.jsp</result>
<result type="plainText">/conversion/enterAddressInfo.jsp</result>
</action>
<action name="showAddressActionJavaCode">
<result type="plainText">/WEB-INF/conversion/AddressAction.java.txt</result>
<result type="plainText">/conversion/AddressAction.java.txt</result>
</action>
<action name="showAddressJavaCode">
<result type="plainText">/WEB-INF/conversion/Address.java.txt</result>
<result type="plainText">/conversion/Address.java.txt</result>
</action>
<!-- Example populating a List with Tiger 5 Enum -->
<action name="enterOperationEnumInfo" class="org.apache.struts2.showcase.conversion.OperationsEnumAction" method="input">
<result>/WEB-INF/conversion/enterOperations.jsp</result>
<result>enterOperations.jsp</result>
</action>
<action name="submitOperationEnumInfo" class="org.apache.struts2.showcase.conversion.OperationsEnumAction" method="submit">
<result>/WEB-INF/conversion/showOperations.jsp</result>
<result name="input">/WEB-INF/conversion/enterOperations.jsp</result>
<result>showOperations.jsp</result>
<result name="input">enterOperations.jsp</result>
</action>
<action name="showEnumJspCode">
<result type="plainText">/WEB-INF/conversion/enterOperations.jsp</result>
<result type="plainText">/conversion/enterOperations.jsp</result>
</action>
<action name="showOperationsEnumJavaCode">
<result type="plainText">/WEB-INF/conversion/OperationsEnum.java.txt</result>
<result type="plainText">/conversion/OperationsEnum.java.txt</result>
</action>
<action name="showOperationEnumActionJavaCode">
<result type="plainText">/WEB-INF/conversion/OperationsEnumAction.java.txt</result>
<result type="plainText">/conversion/OperationsEnumAction.java.txt</result>
</action>
<action name="showEnumTypeConverterJavaCode">
<result type="plainText">/WEB-INF/conversion/EnumTypeConverter.java.txt</result>
<result type="plainText">/conversion/EnumTypeConverter.java.txt</result>
</action>
<action name="showOperationsEnumActionConversionProperties">
<result type="plainText">/WEB-INF/conversion/OperationsEnumActionConversion.txt</result>
<result type="plainText">/conversion/OperationsEnumActionConversion.txt</result>
</action>
</package>
@@ -8,10 +8,6 @@
<default-action-ref name="download"/>
<action name="index">
<result>/WEB-INF/filedownload/index.jsp</result>
</action>
<action name="download" class="org.apache.struts2.showcase.filedownload.FileDownloadAction">
<param name="inputPath">/images/struts.gif</param>
<result name="success" type="stream">
@@ -7,29 +7,29 @@
<package name="fileupload" extends="struts-default" namespace="/fileupload">
<action name="upload" class="org.apache.struts2.showcase.fileupload.FileUploadAction" method="input">
<result>/WEB-INF/fileupload/upload.jsp</result>
<result>upload.jsp</result>
</action>
<action name="doUpload" class="org.apache.struts2.showcase.fileupload.FileUploadAction" method="upload">
<result name="input">/WEB-INF/fileupload/upload.jsp</result>
<result>/WEB-INF/fileupload/upload-success.jsp</result>
<result name="input">upload.jsp</result>
<result>upload-success.jsp</result>
</action>
<action name="multipleUploadUsingList">
<result>/WEB-INF/fileupload/multipleUploadUsingList.jsp</result>
<result>multipleUploadUsingList.jsp</result>
</action>
<action name="doMultipleUploadUsingList" class="org.apache.struts2.showcase.fileupload.MultipleFileUploadUsingListAction" method="upload">
<result>/WEB-INF/fileupload/multiple-success.jsp</result>
<result>multiple-success.jsp</result>
</action>
<action name="multipleUploadUsingArray">
<result>/WEB-INF/fileupload/multipleUploadUsingArray.jsp</result>
<result>multipleUploadUsingArray.jsp</result>
</action>
<action name="doMultipleUploadUsingArray" class="org.apache.struts2.showcase.fileupload.MultipleFileUploadUsingArrayAction" method="upload">
<result>/WEB-INF/fileupload/multiple-success.jsp</result>
<result>multiple-success.jsp</result>
</action>
@@ -6,11 +6,11 @@
<struts>
<package name="freemarker" namespace="/freemarker" extends="struts-default">
<action name="customFreemarkerManagerDemo">
<result type="freemarker">/WEB-INF/freemarker/customFreemarkerManagerUsage.ftl</result>
<result type="freemarker">/freemarker/customFreemarkerManagerUsage.ftl</result>
</action>
<action name="standardTags" class="org.apache.struts2.showcase.freemarker.StandardTagsAction">
<result type="freemarker">/WEB-INF/freemarker/standardTags.ftl</result>
<result type="freemarker">/freemarker/standardTags.ftl</result>
</action>
</package>
</struts>
@@ -6,19 +6,19 @@
<struts>
<package name="hangman" extends="struts-default" namespace="/hangman">
<action name="hangmanAjax" class="startHangmanAction">
<result type="freemarker">/WEB-INF/hangman/hangmanAjax.ftl</result>
<result type="freemarker">/hangman/hangmanAjax.ftl</result>
</action>
<action name="hangmanNonAjax" class="startHangmanAction">
<result type="freemarker">/WEB-INF/hangman/hangmanNonAjax.ftl</result>
<result type="freemarker">/hangman/hangmanNonAjax.ftl</result>
</action>
<action name="test">
<result type="freemarker">/hangman/test.ftl</result>
</action>
<action name="guessCharacter" class="guessCharacterAction">
<result type="freemarker">/WEB-INF/hangman/blank.ftl</result>
<result type="freemarker">/hangman/blank.ftl</result>
</action>
<action name="guessCharacterNonAjax" class="guessCharacterAction">
<result type="freemarker">/WEB-INF/hangman/hangmanNonAjax.ftl</result>
<result type="freemarker">/hangman/hangmanNonAjax.ftl</result>
</action>
</package>
@@ -26,19 +26,19 @@
<package name="hangman-ajax" extends="struts-default" namespace="/hangman/ajax">
<action name="blank">
<result type="freemarker">/WEB-INF/hangman/blank.ftl</result>
<result type="freemarker">/hangman/blank.ftl</result>
</action>
<action name="updateVocabCharacters" class="getUpdatedHangmanAction">
<result type="freemarker">/WEB-INF/hangman/updateVocabCharacters.ftl</result>
<result type="freemarker">/hangman/updateVocabCharacters.ftl</result>
</action>
<action name="updateCharacterAvailable" class="getUpdatedHangmanAction">
<result type="freemarker">/WEB-INF/hangman/updateCharacterAvailable.ftl</result>
<result type="freemarker">/hangman/updateCharacterAvailable.ftl</result>
</action>
<action name="updateScaffold" class="getUpdatedHangmanAction">
<result type="freemarker">/WEB-INF/hangman/updateScaffold.ftl</result>
<result type="freemarker">/hangman/updateScaffold.ftl</result>
</action>
<action name="updateGuessLeft" class="getUpdatedHangmanAction">
<result type="freemarker">/WEB-INF/hangman/updateGuessLeft.ftl</result>
<result type="freemarker">/hangman/updateGuessLeft.ftl</result>
</action>
</package>
</struts>
@@ -32,15 +32,15 @@
<!-- Display entry page that uses Model-Driven technique -->
<action name="editGangster" class="org.apache.struts2.s1.Struts1Action">
<param name="className">org.apache.struts2.showcase.integration.EditGangsterAction</param>
<result>/WEB-INF/integration/modelDriven.jsp</result>
<result>modelDriven.jsp</result>
</action>
<!-- Display the result page whose content is populated using the Model-Driven technique -->
<action name="saveGangster" class="org.apache.struts2.s1.Struts1Action">
<param name="className">org.apache.struts2.showcase.integration.SaveGangsterAction</param>
<param name="validate">true</param>
<result name="input">/WEB-INF/integration/modelDriven.jsp</result>
<result>/WEB-INF/integration/modelDrivenResult.jsp</result>
<result name="input">modelDriven.jsp</result>
<result>modelDrivenResult.jsp</result>
</action>
</package>
@@ -4,17 +4,12 @@
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="interactive" namespace="/interactive" extends="struts-default">
<action name="index">
<result>/WEB-INF/interactive/index.jsp</result>
</action>
</package>
<package name="ognl" namespace="/nodecorate" extends="struts-default">
<action name="jspEval" class="org.apache.struts2.showcase.action.JSPEvalAction">
<interceptor-ref name="params"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="annotationWorkflow" />
<result>/WEB-INF/interactive/demo.jsp</result>
<result>/interactive/demo.jsp</result>
</action>
<action name="example" class="org.apache.struts2.showcase.action.ExampleAction" />
</package>
@@ -20,10 +20,6 @@
<default-interceptor-ref name="jsfFullStack"/>
<action name="index">
<result>/WEB-INF/jsf/index.jsp</result>
</action>
</package>
<package name="jsf.employee" extends="jsf" namespace="/jsf/employee">
@@ -7,12 +7,12 @@
<package name="modelDriven" extends="struts-default" namespace="/modelDriven">
<!-- Diplay entry page that uses Model-Driven technique -->
<action name="modelDriven" class="org.apache.struts2.showcase.modelDriven.ModelDrivenAction" method="input">
<result>/WEB-INF/modelDriven/modelDriven.jsp</result>
<result>modelDriven.jsp</result>
</action>
<!-- Display the result page whose content is populated using the Model-Driven technique -->
<action name="modelDrivenResult" class="org.apache.struts2.showcase.modelDriven.ModelDrivenAction">
<result>/WEB-INF/modelDriven/modelDrivenResult.jsp</result>
<result>modelDrivenResult.jsp</result>
</action>
</package>
</struts>
@@ -11,19 +11,19 @@
<package name="actionTag" extends="struts-default" namespace="/tags/non-ui/actionTag">
<action name="showActionTagDemo" class="org.apache.struts2.showcase.tag.nonui.actiontag.ActionTagDemo" method="show">
<result>/WEB-INF/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
<result>/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
</action>
<action name="includePage" class="org.apache.struts2.showcase.tag.nonui.actiontag.ActionTagDemo" method="doInclude">
<result>/WEB-INF/tags/non-ui/actionTag/includedPage.jsp</result>
<result>/tags/non-ui/actionTag/includedPage.jsp</result>
</action>
<action name="includePage2">
<result>/WEB-INF/tags/non-ui/actionTag/includedPage2.jsp</result>
<result>/tags/non-ui/actionTag/includedPage2.jsp</result>
</action>
<action name="includePage3">
<result>/WEB-INF/tags/non-ui/actionTag/includedPage3.jsp</result>
<result>/tags/non-ui/actionTag/includedPage3.jsp</result>
</action>
<action name="lookAtSource">
<result type="plainText">/WEB-INF/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
<result type="plainText">/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
</action>
</package>
@@ -33,11 +33,11 @@
<package name="iteratorGeneratorTag" extends="struts-default" namespace="/tags/non-ui/iteratorGeneratorTag">
<action name="showGeneratorTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.IteratorGeneratorTagDemo" method="input">
<result>/WEB-INF/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
</action>
<action name="submitGeneratorTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.IteratorGeneratorTagDemo" method="submit">
<result name="input">/WEB-INF/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
<result>/WEB-INF/tags/non-ui/iteratorTag/iteratorGeneratorTagDemoResult.jsp</result>
<result name="input">/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/iteratorGeneratorTagDemoResult.jsp</result>
</action>
</package>
@@ -47,11 +47,11 @@
<!-- ========================================== -->
<package name="appendIteratorTag" extends="struts-default" namespace="/tags/non-ui/appendIteratorTag">
<action name="showAppendTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.AppendIteratorTagDemo" method="input">
<result>/WEB-INF/tags/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
</action>
<action name="submitAppendTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.AppendIteratorTagDemo" method="submit">
<result name="input">/WEB-INF/tags/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
<result>/WEB-INF/tags/non-ui/iteratorTag/appendIteratorTagDemoResult.jsp</result>
<result name="input">/tag/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/appendIteratorTagDemoResult.jsp</result>
</action>
</package>
@@ -61,11 +61,11 @@
<!-- ========================================= -->
<package name="mergeIteratorTag" extends="struts-default" namespace="/tags/non-ui/mergeIteratorTag">
<action name="showMergeTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.MergeIteratorTagDemo" method="input">
<result>/WEB-INF/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
</action>
<action name="submitMergeTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.MergeIteratorTagDemo" method="submit">
<result name="input">/WEB-INF/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
<result>/WEB-INF/tags/non-ui/iteratorTag/mergeIteratorTagDemoResult.jsp</result>
<result name="input">/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/mergeIteratorTagDemoResult.jsp</result>
</action>
</package>
@@ -74,11 +74,11 @@
<!-- =========================================== -->
<package name="subsetIteratorTag" extends="struts-default" namespace="/tags/non-ui/subsetIteratorTag">
<action name="showSubsetTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.SubsetIteratorTagDemo" method="input">
<result>/WEB-INF/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
</action>
<action name="submitSubsetTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.SubsetIteratorTagDemo" method="submit">
<result name="input">/WEB-INF/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
<result>/WEB-INF/tags/non-ui/iteratorTag/subsetIteratorTagDemoResult.jsp</result>
<result name="input">/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
<result>/tags/non-ui/iteratorTag/subsetIteratorTagDemoResult.jsp</result>
</action>
</package>
@@ -87,28 +87,28 @@
<!-- ========================================= -->
<package name="actionPrefix" extends="struts-default" namespace="/tags/non-ui/actionPrefix">
<action name="actionPrefixExampleUsingFreemarker">
<result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
<result type="freemarker">/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
</action>
<action name="submit" class="org.apache.struts2.showcase.tag.nonui.actionPrefix.SubmitAction">
<result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/normalSubmit.ftl</result>
<result type="freemarker">/tags/non-ui/actionPrefix/normalSubmit.ftl</result>
</action>
<action name="submit" class="org.apache.struts2.showcase.tag.nonui.actionPrefix.SubmitAction" method="alternateMethod">
<result name="methodPrefixResult" type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/methodPrefix.ftl</result>
<result name="methodPrefixResult" type="freemarker">/tags/non-ui/actionPrefix/methodPrefix.ftl</result>
</action>
<action name="actionPrefix" class="org.apache.struts2.showcase.tag.nonui.actionPrefix.SubmitAction">
<result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/actionPrefix.ftl</result>
<result type="freemarker">/tags/non-ui/actionPrefix/actionPrefix.ftl</result>
</action>
<action name="redirectPrefix">
<result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/redirectPrefix.ftl</result>
<result type="freemarker">/tags/non-ui/actionPrefix/redirectPrefix.ftl</result>
</action>
<action name="redirectActionPrefix">
<result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/redirectActionPrefix.ftl</result>
<result type="freemarker">/tags/non-ui/actionPrefix/redirectActionPrefix.ftl</result>
</action>
<action name="redirectActionPrefixAction">
<result type="redirect">redirectActionPrefix</result>
</action>
<action name="viewSource">
<result type="plainText">/WEB-INF/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
<result type="plainText">/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
</action>
</package>
@@ -117,10 +117,10 @@
<!-- ========================================== -->
<package name="ifTagPackage" extends="struts-default" namespace="/tags/non-ui/ifTag">
<action name="testIfTagJsp">
<result>/WEB-INF/tags/non-ui/ifTag/testIf.jsp</result>
<result>/tags/non-ui/ifTag/testIf.jsp</result>
</action>
<action name="testIfTagFreemarker">
<result type="freemarker">/WEB-INF/tags/non-ui/ifTag/testIf.ftl</result>
<result type="freemarker">/tags/non-ui/ifTag/testIf.ftl</result>
</action>
</package>
@@ -128,11 +128,8 @@
<!-- === Package for Debug Tag === -->
<!-- ========================================== -->
<package name="debugTagPackage" extends="struts-default" namespace="/tags/non-ui">
<action name="date">
<result>/WEB-INF/tags/non-ui/date.jsp</result>
</action>
<action name="debugTagDemo">
<result>/WEB-INF/tags/non-ui/debug.jsp</result>
<result>/tags/non-ui/debug.jsp</result>
</action>
</package>
</struts>
@@ -6,73 +6,57 @@
<struts>
<package name="ui-tags" extends="struts-default" namespace="/tags/ui">
<action name="example" class="org.apache.struts2.showcase.UITagExample">
<result>/WEB-INF/tags/ui/example.jsp</result>
<result name="input">/WEB-INF/tags/ui/example.jsp</result>
<result>example.jsp</result>
<result name="input">example.jsp</result>
</action>
<action name="exampleSubmit" class="org.apache.struts2.showcase.UITagExample" method="doSubmit">
<result>/WEB-INF/tags/ui/exampleSubmited.jsp</result>
<result name="input">/WEB-INF/tags/ui/example.jsp</result>
<result>exampleSubmited.jsp</result>
<result name="input">example.jsp</result>
</action>
<action name="exampleVelocity" class="org.apache.struts2.showcase.UITagExample">
<result type="velocity">/WEB-INF/tags/ui/example.vm</result>
<result name="input" type="velocity">/WEB-INF/tags/ui/example.vm</result>
<result type="velocity">example.vm</result>
<result name="input" type="velocity">example.vm</result>
</action>
<action name="exampleSubmitVelocity" class="org.apache.struts2.showcase.UITagExample" method="doSubmit">
<result type="velocity">/WEB-INF/tags/ui/exampleSubmited.vm</result>
<result name="input" type="velocity">/WEB-INF/tags/ui/example.vm</result>
<result type="velocity">exampleSubmited.vm</result>
<result name="input" type="velocity">example.vm</result>
</action>
<action name="lotsOfOptiontransferselect" class="org.apache.struts2.showcase.LotsOfOptiontransferselectAction" method="input">
<result>/WEB-INF/tags/ui/lotsOfOptiontransferselect.jsp</result>
<result>lotsOfOptiontransferselect.jsp</result>
</action>
<action name="lotsOfOptiontransferselectSubmit" class="org.apache.struts2.showcase.LotsOfOptiontransferselectAction" method="submit">
<result name="input">/WEB-INF/tags/ui/lotsOfOptiontransferselect.jsp</result>
<result>/WEB-INF/tags/ui/lotsOfOptiontransferselectSubmit.jsp</result>
<result name="input">lotsOfOptiontransferselect.jsp</result>
<result>lotsOfOptiontransferselectSubmit.jsp</result>
</action>
<action name="moreSelects" class="org.apache.struts2.showcase.MoreSelectsAction" method="input">
<result>/WEB-INF/tags/ui/moreSelects.jsp</result>
<result>moreSelects.jsp</result>
</action>
<action name="moreSelectsSubmit" class="org.apache.struts2.showcase.MoreSelectsAction" method="submit">
<result name="input">/WEB-INF/tags/ui/moreSelects.jsp</result>
<result>/WEB-INF/tags/ui/moreSelectsSubmit.jsp</result>
<result name="input">moreSelects.jsp</result>
<result>moreSelectsSubmit.jsp</result>
</action>
<!-- START SNIPPET: treeExampleDynamicXWorkXml -->
<action name="showDynamicTreeAction" class="org.apache.struts2.showcase.ShowDynamicTreeAction">
<result>/WEB-INF/tags/ui/treeExampleDynamic.jsp</result>
<result>/tags/ui/treeExampleDynamic.jsp</result>
</action>
<!-- END SNIPPET: treeExampleDynamicXWorkXml -->
<action name="treeExampleStatic">
<result>/WEB-INF/tags/ui/treeExampleStatic.jsp</result>
</action>
<action name="showDynamicAjaxTreeAction">
<result>/WEB-INF/tags/ui/treeExampleAjaxDynamic.jsp</result>
</action>
<action name="componentTagExample">
<result>/WEB-INF/tags/ui/componentTagExample.jsp</result>
<result>/tags/ui/treeExampleAjaxDynamic.jsp</result>
</action>
<action name="showComponentTagExampleCode">
<result type="plainText">/WEB-INF/tags/ui/componentTagExample.jsp</result>
<result type="plainText">/tags/ui/componentTagExample.jsp</result>
</action>
<action name="actionTagExample">
<result>/WEB-INF/tags/ui/actionTagExampleCalled.jsp</result>
<result name="input">/WEB-INF/tags/ui/actionTagExampleCalling.jsp</result>
</action>
<action name="datepicker">
<result>/WEB-INF/tags/ui/datepicker/index.jsp</result>
</action>
<action name="timepicker">
<result>/WEB-INF/tags/ui/timepicker/index.jsp</result>
<result>/tags/ui/actionTagExampleCalled.jsp</result>
<result name="input">/tags/ui/actionTagExampleCalling.jsp</result>
</action>
</package>
@@ -81,10 +65,10 @@
<package name="ui-tags-ajax" namespace="/tags/ui/ajax" extends="struts-default">
<!-- Actions dealing with Tree Example -->
<action name="staticTreeSelectAction">
<result>/WEB-INF/tags/ui/staticTreeSelect.jsp</result>
<result>/tags/ui/staticTreeSelect.jsp</result>
</action>
<action name="dynamicTreeSelectAction" class="org.apache.struts2.showcase.DynamicTreeSelectAction">
<result>/WEB-INF/tags/ui/dynamicTreeSelect.jsp</result>
<result>/tags/ui/dynamicTreeSelect.jsp</result>
</action>
</package>
@@ -21,7 +21,7 @@
</action>
<action name="sanity">
<result type="redirect">/WEB-INF/tiles/layout.jsp</result>
<result type="redirect">/tiles/layout.jsp</result>
<result type="redirect" name="success">/tiles/layout.jsp</result>
</action>
</package>
@@ -7,56 +7,56 @@
<action name="tokenPrepare!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
<result name="input">/WEB-INF/token/example1.jsp</result>
<result name="input">example1.jsp</result>
</action>
<action name="transfer" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
<result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
<result name="success">/WEB-INF/token/transferDone.jsp</result>
<result name="invalid.token">doublePost.jsp</result>
<result name="success">transferDone.jsp</result>
</action>
<action name="tokenPrepare2!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
<result name="input">/WEB-INF/token/example2.jsp</result>
<result name="input">example2.jsp</result>
</action>
<action name="transfer2" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
<result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
<result name="success" type="redirect">/WEB-INF/token/transferDone.jsp</result>
<result name="invalid.token">doublePost.jsp</result>
<result name="success" type="redirect">transferDone.jsp</result>
</action>
<action name="tokenPrepare3!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
<result name="input">/WEB-INF/token/example3.jsp</result>
<result name="input">example3.jsp</result>
</action>
<action name="transfer3" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="tokenSession"/>
<result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
<result name="success" type="redirect">/WEB-INF/token/transferDone.jsp</result>
<result name="invalid.token">doublePost.jsp</result>
<result name="success" type="redirect">transferDone.jsp</result>
</action>
<action name="tokenPrepare4!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="createSession"/> <!-- we must have a session when using freemarker and the @s.token tag -->
<result name="input" type="freemarker">/WEB-INF/token/example4.ftl</result>
<result name="input" type="freemarker">example4.ftl</result>
</action>
<action name="transfer4" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
<result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
<result name="success">/WEB-INF/token/transferDone.jsp</result>
<result name="invalid.token">doublePost.jsp</result>
<result name="success">transferDone.jsp</result>
</action>
</package>
@@ -5,10 +5,6 @@
<struts>
<package name="validation" extends="json-default" namespace="/validation">
<action name="index">
<result>/WEB-INF/validation/index.jsp</result>
</action>
<action name="quizBasic" class="org.apache.struts2.showcase.validation.QuizAction">
<result name="input">quiz-basic.jsp</result>
<result>quiz-success.jsp</result>
@@ -44,12 +40,12 @@
<!-- ======================== -->
<action name="showFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="input">
<result name="input" type="dispatcher">/WEB-INF/validation/fieldValidatorsExample.jsp</result>
<result name="input" type="dispatcher">/validation/fieldValidatorsExample.jsp</result>
</action>
<action name="submitFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="submit">
<result name="input" type="dispatcher">/WEB-INF/validation/fieldValidatorsExample.jsp</result>
<result type="dispatcher">/WEB-INF/validation/successFieldValidatorsExample.jsp</result>
<result name="input" type="dispatcher">/validation/fieldValidatorsExample.jsp</result>
<result type="dispatcher">/validation/successFieldValidatorsExample.jsp</result>
</action>
@@ -59,12 +55,12 @@
<!-- ============================ -->
<action name="showNonFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.NonFieldValidatorsExampleAction" method="input">
<result name="input">/WEB-INF/validation/nonFieldValidatorsExample.jsp</result>
<result name="input">/validation/nonFieldValidatorsExample.jsp</result>
</action>
<action name="submitNonFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.NonFieldValidatorsExampleAction" method="submit">
<result name="input">/WEB-INF/validation/nonFieldValidatorsExample.jsp</result>
<result>/WEB-INF/validation/successNonFieldValidatorsExample.jsp</result>
<result name="input">/validation/nonFieldValidatorsExample.jsp</result>
<result>/validation/successNonFieldValidatorsExample.jsp</result>
</action>
@@ -74,12 +70,12 @@
<!-- ========================== -->
<action name="showVisitorValidatorsExamples" class="org.apache.struts2.showcase.validation.VisitorValidatorsExampleAction" method="input">
<result name="input">/WEB-INF/validation/visitorValidatorsExample.jsp</result>
<result name="input">/validation/visitorValidatorsExample.jsp</result>
</action>
<action name="submitVisitorValidatorsExamples" class="org.apache.struts2.showcase.validation.VisitorValidatorsExampleAction" method="submit">
<result name="input">/WEB-INF/validation/visitorValidatorsExample.jsp</result>
<result>/WEB-INF/validation/successVisitorValidatorsExample.jsp</result>
<result name="input">/validation/visitorValidatorsExample.jsp</result>
<result>/validation/successVisitorValidatorsExample.jsp</result>
</action>
@@ -89,12 +85,12 @@
<!-- ========================== -->
<action name="clientSideValidationExample" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="input">
<result name="input">/WEB-INF/validation/clientSideValidationExample.jsp</result>
<result name="input">/validation/clientSideValidationExample.jsp</result>
</action>
<action name="submitClientSideValidationExample" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="submit">
<result name="input">/WEB-INF/validation/clientSideValidationExample.jsp</result>
<result>/WEB-INF/validation/successClientSideValidationExample.jsp</result>
<result name="input">/validation/clientSideValidationExample.jsp</result>
<result>/validation/successClientSideValidationExample.jsp</result>
</action>
<!-- =========================================== -->
@@ -113,19 +109,16 @@
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
<result>/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp</result>
</action>
<action name="storeErrorsAcrossRequestExample">
<result>/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp</result>
<result>/validation/storeErrorsAcrossRequestExample.jsp</result>
</action>
<action name="applicationOk" class="org.apache.struts2.showcase.validation.SubmitApplication" method="applicationOk">
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
<result>/WEB-INF/validation/storeErrorsAcrossRequestOk.jsp</result>
<result>/validation/storeErrorsAcrossRequestOk.jsp</result>
</action>
<action name="cancelApplication" class="org.apache.struts2.showcase.validation.SubmitApplication" method="cancelApplication">
<result>/WEB-INF/validation/storeErrorsAcrossRequestCancel.jsp</result>
<result>/validation/storeErrorsAcrossRequestCancel.jsp</result>
</action>
</package>
@@ -6,23 +6,11 @@
<struts>
<package name="wait" extends="struts-default" namespace="/wait">
<action name="example1">
<result>/WEB-INF/wait/example1.jsp</result>
</action>
<action name="example2">
<result>/WEB-INF/wait/example2.jsp</result>
</action>
<action name="example3">
<result>/WEB-INF/wait/example3.jsp</result>
</action>
<action name="longProcess1" class="org.apache.struts2.showcase.wait.LongProcessAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="execAndWait"/>
<result name="wait">/WEB-INF/wait/wait.jsp</result>
<result name="success">/WEB-INF/wait/complete.jsp</result>
<result name="wait">wait.jsp</result>
<result name="success">complete.jsp</result>
</action>
<action name="longProcess2" class="org.apache.struts2.showcase.wait.LongProcessAction">
@@ -30,8 +18,8 @@
<interceptor-ref name="execAndWait">
<param name="delay">2000</param>
</interceptor-ref>
<result name="wait">/WEB-INF/wait/wait.jsp</result>
<result name="success">/WEB-INF/wait/complete.jsp</result>
<result name="wait">wait.jsp</result>
<result name="success">complete.jsp</result>
</action>
<action name="longProcess3" class="org.apache.struts2.showcase.wait.LongProcessAction">
@@ -40,8 +28,8 @@
<param name="delay">3000</param>
<param name="delaySleepInterval">1000</param>
</interceptor-ref>
<result name="wait">/WEB-INF/wait/wait.jsp</result>
<result name="success">/WEB-INF/wait/complete.jsp</result>
<result name="wait">wait.jsp</result>
<result name="success">complete.jsp</result>
</action>
</package>
+12 -13
View File
@@ -9,14 +9,13 @@
<!-- Some or all of these can be flipped to true for debugging -->
<constant name="struts.i18n.reload" value="false" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="false" />
<constant name="struts.configuration.xml.reload" value="false" />
<constant name="struts.custom.i18n.resources" value="globalMessages" />
<constant name="struts.action.extension" value="action,," />
<constant name="struts.convention.package.locators.basePackage" value="org.apache.struts2.showcase.person" />
<constant name="struts.convention.result.path" value="/WEB-INF" />
<constant name="struts.convention.result.path" value="/" />
<!-- Necessary for Showcase because default includes org.apache.struts2.* -->
<constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/>
@@ -76,15 +75,15 @@
<default-action-ref name="showcase" />
<action name="showcase">
<result>/WEB-INF/showcase.jsp</result>
<result>showcase.jsp</result>
</action>
<action name="viewSource" class="org.apache.struts2.showcase.source.ViewSourceAction">
<result>/WEB-INF/viewSource.jsp</result>
<result>viewSource.jsp</result>
</action>
<action name="date" class="org.apache.struts2.showcase.DateAction" method="browse">
<result name="success">/WEB-INF/date.jsp</result>
<result name="success">/date.jsp</result>
</action>
</package>
@@ -93,20 +92,20 @@
<default-interceptor-ref name="crudStack"/>
<action name="list" class="org.apache.struts2.showcase.action.SkillAction" method="list">
<result>/WEB-INF/empmanager/listSkills.jsp</result>
<result>/empmanager/listSkills.jsp</result>
<interceptor-ref name="basicStack"/>
</action>
<action name="edit" class="org.apache.struts2.showcase.action.SkillAction">
<result>/WEB-INF/empmanager/editSkill.jsp</result>
<result>/empmanager/editSkill.jsp</result>
<interceptor-ref name="params" />
<interceptor-ref name="basicStack"/>
</action>
<action name="save" class="org.apache.struts2.showcase.action.SkillAction" method="save">
<result name="input">/WEB-INF/empmanager/editSkill.jsp</result>
<result name="input">/empmanager/editSkill.jsp</result>
<result type="redirect">list.action</result>
</action>
<action name="delete" class="org.apache.struts2.showcase.action.SkillAction" method="delete">
<result name="error">/WEB-INF/empmanager/editSkill.jsp</result>
<result name="error">/empmanager/editSkill.jsp</result>
<result type="redirect">list.action</result>
</action>
</package>
@@ -115,20 +114,20 @@
<default-interceptor-ref name="crudStack"/>
<action name="list" class="org.apache.struts2.showcase.action.EmployeeAction" method="list">
<result>/WEB-INF/empmanager/listEmployees.jsp</result>
<result>/empmanager/listEmployees.jsp</result>
<interceptor-ref name="basicStack"/>
</action>
<action name="edit-*" class="org.apache.struts2.showcase.action.EmployeeAction">
<param name="empId">{1}</param>
<result>/WEB-INF/empmanager/editEmployee.jsp</result>
<result>/empmanager/editEmployee.jsp</result>
<interceptor-ref name="crudStack"><param name="validation.excludeMethods">execute</param></interceptor-ref>
</action>
<action name="save" class="org.apache.struts2.showcase.action.EmployeeAction" method="save">
<result name="input">/WEB-INF/empmanager/editEmployee.jsp</result>
<result name="input">/empmanager/editEmployee.jsp</result>
<result type="redirect">list.action</result>
</action>
<action name="delete" class="org.apache.struts2.showcase.action.EmployeeAction" method="delete">
<result name="error">/WEB-INF/empmanager/editEmployee.jsp</result>
<result name="error">/empmanager/editEmployee.jsp</result>
<result type="redirect">list.action</result>
</action>
</package>
@@ -95,7 +95,7 @@
<li><s:a action="index" namespace="/config-browser"
includeParams="none">Config Browser</s:a></li>
<li><s:a value="/conversion/index.jsp">Conversion</s:a></li>
<li><s:a value="/person/index.html">Person Manager ( by Conventions )</s:a></li>
<li><s:a value="/person/index.jsp">Person Manager ( by Conventions )</s:a></li>
</ul>
</li>
<li class="dropdown">
@@ -106,7 +106,7 @@
<ul class="dropdown-menu">
<li><s:url var="url" action="showActionTagDemo" namespace="/tags/non-ui/actionTag"/><s:a
href="%{url}">Action Tag</s:a></li>
<li><s:url var="url" namespace="/tags/non-ui" action="date"/><s:a
<li><s:url var="url" value="/tags/non-ui/date.jsp"/><s:a
href="%{url}">Date Tag</s:a></li>
<li><s:url var="url" action="debugTagDemo" namespace="/tags/non-ui"/><s:a
href="%{url}">Debug Tag</s:a></li>
@@ -149,7 +149,7 @@
<li><s:url var="url" namespace="/tags/ui" action="moreSelects" method="input"/><s:a
href="%{url}">More Select Box UI Examples</s:a></li>
<li>
<s:url var="url" namespace="/tags/ui" action="treeExampleStatic"/>
<s:url var="url" namespace="/tags/ui" value="/tags/ui/treeExampleStatic.jsp"/>
<s:a href="%{url}">Tree Example (static)</s:a>
<li>
<s:url var="url" namespace="/tags/ui" action="showDynamicTreeAction"/>
@@ -158,13 +158,13 @@
<s:url var="url" namespace="/tags/ui" action="showDynamicAjaxTreeAction"/>
<s:a href="%{url}">Tree Example (dynamic ajax loading)</s:a>
<li>
<s:url var="url" namespace="/tags/ui" action="componentTagExample"/>
<s:url var="url" value="/tags/ui/componentTagExample.jsp"/>
<s:a href="%{#url}">Component Tag Example</s:a>
<li><s:url var="url" namespace="/tags/ui" action="actionTagExample" method="input"/><s:a
href="%{url}">Action Tag Example</s:a></li>
<li><s:url var="url" namespace="/tags/ui" action="datepicker"/><s:a
<li><s:url var="url" value="/tags/ui/datepicker/index.jsp"/><s:a
href="%{#url}">DateTime picker tag - Pick a date</s:a></li>
<li><s:url var="url" namespace="/tags/ui" action="timepicker"/><s:a
<li><s:url var="url" value="/tags/ui/timepicker/index.jsp"/><s:a
href="%{#url}">DateTime picker tag - Pick a time</s:a></li>
<%--li><s:url var="url" namespace="/tags/ui" action="populateUsingIterator" method="input" /><s:a href="%{url}">UI population using iterator tag</s:a></li--%>
</ul>
@@ -174,7 +174,7 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">File<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><s:a namespace="/filedownload" action="index">File Download</s:a></li>
<li><s:a value="/filedownload/index.jsp">File Download</s:a></li>
<li class="dropdown-submenu">
<a href="#">File Upload</a>
<ul class="dropdown-menu">
@@ -207,11 +207,11 @@
href="%{url}">Hangman (Ajax - Experimental)</s:a></li>
</ul>
</li>
<li><s:a value="/person/index.html">Person Manager</s:a></li>
<li><s:a value="/skill/index.html">CRUD</s:a></li>
<li><s:a value="/wait/index.html">Execute &amp; Wait</s:a></li>
<li><s:a value="/token/index.html">Token</s:a></li>
<li><s:a value="/validation/index.action">Validation</s:a></li>
<li><s:a value="/person/index.jsp">Person Manager</s:a></li>
<li><s:a value="/empmanager/index.jsp">CRUD</s:a></li>
<li><s:a value="/wait/index.jsp">Execute &amp; Wait</s:a></li>
<li><s:a value="/token/index.jsp">Token</s:a></li>
<li><s:a value="/validation/index.jsp">Validation</s:a></li>
<li><s:url var="url" namespace="/modelDriven" action="modelDriven"/><s:a
href="%{url}">Model Driven</s:a></li>
</ul>
@@ -232,19 +232,19 @@
</li>
</ul>
</li>
<li><s:a namespace="/jsf" action="index">JavaServer Faces</s:a></li>
<li><s:a namespace="/integration" action="editGangster">Struts 1 Integration</s:a></li>
<li><s:a value="/jsf/index.jsp">JavaServer Faces</s:a></li>
<li><s:a value="/integration/editGangster">Struts 1 Integration</s:a></li>
<li><s:a value="/tiles/index.action">Tiles</s:a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">AJAX<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><s:a value="/ajax/index.html">Ajax plugin</s:a></li>
<li><s:a value="/chat/index.html">Ajax Chat</s:a></li>
<li><s:a value="/ajax/index.jsp">Ajax plugin</s:a></li>
<li><s:a value="/chat/index.jsp">Ajax Chat</s:a></li>
</ul>
</li>
<li><s:a value="/interactive/index.action">Interactive Demo</s:a></li>
<li><s:a value="/interactive/index.jsp">Interactive Demo</s:a></li>
</ul>
<ul class="nav pull-right">
@@ -27,22 +27,22 @@
<tiles-definitions>
<definition name="showcase.index" template="/WEB-INF/tiles/layout.jsp">
<definition name="showcase.index" template="/tiles/layout.jsp">
<put-attribute name="title" value="Tiles Showcase"/>
<put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
<put-attribute name="body" value="/WEB-INF/tiles/body.jsp"/>
<put-attribute name="header" value="/tiles/header.jsp"/>
<put-attribute name="body" value="/tiles/body.jsp"/>
</definition>
<definition name="showcase.freemarker" template="/WEB-INF/tiles/layout.jsp">
<definition name="showcase.freemarker" template="/tiles/layout.jsp">
<put-attribute name="title" value="Tiles/Freemarker Showcase"/>
<put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
<put-attribute name="body" value="/WEB-INF/tiles/body.ftl"/>
<put-attribute name="header" value="/tiles/header.jsp"/>
<put-attribute name="body" value="/tiles/body.ftl"/>
</definition>
<definition name="showcase.freemarkerLayout" template="/WEB-INF/tiles/layout.ftl">
<definition name="showcase.freemarkerLayout" template="/tiles/layout.ftl">
<put-attribute name="title" value="Tiles/Freemarker Showcase"/>
<put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
<put-attribute name="body" value="/WEB-INF/tiles/body.ftl"/>
<put-attribute name="header" value="/tiles/header.jsp"/>
<put-attribute name="body" value="/tiles/body.ftl"/>
</definition>
</tiles-definitions>
@@ -1,63 +0,0 @@
<%--
fieldValidatorExample.jsp
@author tm_jee
@version $Date$ $Id$
--%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Struts2 Showcase - Validation - Field Validators Example</title>
<s:head theme="xhtml"/>
</head>
<body>
<div class="page-header">
<h1>Field Validation Examples</h1>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<!-- START SNIPPET: fieldValidatorsExample -->
<h3>All Field Errors Will Appear Here</h3>
<s:fielderror/>
<hr/>
<h3>Field Error due to 'Required String Validator Field' Will Appear Here</h3>
<s:fielderror>
<s:param value="%{'requiredStringValidatorField'}"/>
</s:fielderror>
<hr/>
<h3>Field Error due to 'String Length Validator Field' Will Appear Here</h3>
<s:fielderror>
<s:param>stringLengthValidatorField</s:param>
</s:fielderror>
<hr/>
<s:form action="submitFieldValidatorsExamples" namespace="/validation" method="POST" theme="xhtml">
<s:textfield label="Required Validator Field" name="requiredValidatorField"/>
<s:textfield label="Required String Validator Field" name="requiredStringValidatorField"/>
<s:textfield label="Integer Validator Field" name="integerValidatorField"/>
<s:textfield label="Date Validator Field" name="dateValidatorField"/>
<s:textfield label="Email Validator Field" name="emailValidatorField"/>
<s:textfield label="URL Validator Field" name="urlValidatorField"/>
<s:textfield label="String Length Validator Field" name="stringLengthValidatorField"/>
<s:textfield label="Regex Validator Field" name="regexValidatorField"/>
<s:textfield label="Field Expression Validator Field" name="fieldExpressionValidatorField"/>
<s:submit label="Submit" cssClass="btn btn-primary"/>
</s:form>
<!-- END SNIPPET: fieldValidatorsExample -->
<s:include value="footer.jsp"/>
</div>
</div>
</div>
</body>
</html>
@@ -194,21 +194,4 @@
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- Restricts access to pure JSP files - access available only via Struts action -->
<security-constraint>
<display-name>No direct JSP access</display-name>
<web-resource-collection>
<web-resource-name>No-JSP</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>no-users</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>Don't assign users to this role</description>
<role-name>no-users</role-name>
</security-role>
</web-app>
@@ -6,7 +6,7 @@
<title>Ajax Examples</title>
<!--// START SNIPPET: common-include-->
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
<!--// END SNIPPET: common-include-->
</head>
@@ -49,8 +49,7 @@
Using a JSON list returned from an action (href="/JSONList.action"), without autoComplete (autoComplete="false"), use indicator, search substring (searchType="substring")
<br/>
<sx:autocompleter
id="auto1"
<sx:autocompleter
indicator="indicator1"
href="%{jsonList}"
cssStyle="width: 200px;"
@@ -78,8 +77,7 @@ Reload on type (loadOnTextChange="true"), after 3 characters (loadMinimumCount="
Using a JSON list returned from an action (href="/JSONList.action"), with autoComplete (autoComplete="true")
<br/>
<sx:autocompleter
id="auto3"
<sx:autocompleter
name="auto3"
href="%{#jsonList}"
cssStyle="width: 200px;"
@@ -89,14 +87,13 @@ Using a JSON list returned from an action (href="/JSONList.action"), with autoCo
Using a local list (list="%{'apple','banana','grape','pear'}")
<br/>
<sx:autocompleter id="auto-list" list="{'apple','banana','grape','pear'}" cssStyle="width: 150px;"/>
<sx:autocompleter list="{'apple','banana','grape','pear'}" cssStyle="width: 150px;"/>
<br/><br/>
Force valid options (forceValidOption="true")
<br/>
<sx:autocompleter
id="auto4"
<sx:autocompleter
name="auto4"
href="%{#jsonList}"
cssStyle="width: 200px;"
@@ -108,9 +105,8 @@ Force valid options (forceValidOption="true")
Make dropdown's height to 180px (dropdownHeight="180")
<br/>
<sx:autocompleter
id="auto5"
name="auto5"
href="%{#jsonList}"
href="%{#jsonList}"
cssStyle="width: 200px;"
dropdownHeight="180"/>
@@ -120,9 +116,8 @@ Make dropdown's height to 180px (dropdownHeight="180")
Disabled combobox (disabled="true")
<br/>
<sx:autocompleter
id="auto6"
name="auto6"
href="%{#jsonList}"
href="%{#jsonList}"
cssStyle="width: 200px;"
disabled="true"/>
@@ -138,9 +133,8 @@ Link two autocompleter elements. When the selected value in 'Autocompleter 1' ch
<p>
Autocompleter 1
<sx:autocompleter
id="auto7"
name="select"
list="{'fruits','colors'}"
name="select"
list="{'fruits','colors'}"
value="colors"
valueNotifyTopics="/Changed"
forceValidOption="true"/>
@@ -148,7 +142,6 @@ Link two autocompleter elements. When the selected value in 'Autocompleter 1' ch
</form>
Autocompleter 2
<sx:autocompleter
id="auto8"
name="auto8"
href="%{#autoex}"
autoComplete="false"
@@ -161,9 +154,8 @@ Autocompleter 2
Publish before/after/value notify topics
<br/>
<sx:autocompleter
id="auto9"
name="auto9"
href="%{#jsonList}"
href="%{#jsonList}"
listenTopics="/reload"
beforeNotifyTopics="/before"
afterNotifyTopics="/after"
@@ -5,7 +5,7 @@
<html>
<head>
<title>Bind Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<script type="text/javascript">
@@ -1,5 +1,5 @@
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<!--// START SNIPPET: common-include-->
<sx:head cache="false"/>
<sx:head cache="true"/>
<!--// END SNIPPET: common-include-->
@@ -2,7 +2,7 @@
<hr/>
<s:url var="backToAjaxExamples" value="/ajax/index.html" />
<s:url var="backToAjaxExamples" value="../index.jsp" />
<s:a href="%{backToAjaxExamples}">Back To AJAX Examples</s:a>&nbsp;
@@ -1,24 +0,0 @@
<html>
<head><title>AJAX Examples</title></head>
<body>
<h1>AJAX Example</h1>
<p>
Note: The Ajax tags are experimental. These examples have only been tested under FireFox 1.5 and IE 6.
</p>
<ul>
<li><a href="bind.action">Bind tag</a></li>
<li><a href="autocompleter.action">Autocompleter combobox tag</a></li>
<li><a href="remotebutton.action">Remote button tag</a></li>
<li><a href="remotediv.action">Remote div tag</a></li>
<li><a href="remotelink.action">Remote link tag</a></li>
<li><a href="tabbedpanel.action">Tabbed panel</a></li>
<li><a href="remoteforms.action">Remote forms</a></li>
<li><a href="widgets.action">Widgets </a> (may not work in all browsers!)
see the <a href="http://www.dojotoolkit.org">dojo website</a> for more information</li>
</ul>
</body>
</html>
@@ -0,0 +1,24 @@
<html>
<head><title>AJAX Examples</title></head>
<body>
<h1>AJAX Example</h1>
<p>
Note: The Ajax tags are experimental. These examples have only been tested under FireFox 1.5 and IE 6.
</p>
<ul>
<li><a href="bind/index.jsp">Bind tag</a></li>
<li><a href="autocompleter/index.jsp">Autocompleter combobox tag</a></li>
<li><a href="remotebutton/index.jsp">Remote button tag</a></li>
<li><a href="remotediv/index.jsp">Remote div tag</a></li>
<li><a href="remotelink/index.jsp">Remote link tag</a></li>
<li><a href="tabbedpanel/index.jsp">Tabbed panel</a></li>
<li><a href="remoteforms/index.jsp">Remote forms</a></li>
<li><a href="widgets/index.jsp">Widgets </a> (may not work in all browsers!)
see the <a href="http://www.dojotoolkit.org">dojo website</a> for more information</li>
</ul>
</body>
</html>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsplude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<script type="text/javascript">
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<s:url var="ajaxTest" value="/AjaxTest.action" />
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<script type="text/javascript">
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<body>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<body>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<body>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<body>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<body>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<body>
@@ -5,7 +5,7 @@
<html>
<head>
<title>Ajax Examples</title>
<jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
<jsp:include page="/ajax/commonInclude.jsp"/>
</head>
<body>

Some files were not shown because too many files have changed in this diff Show More