mirror of
https://github.com/apache/struts.git
synced 2026-08-10 09:06:55 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2c0a197cea | |||
| 5df2e63304 |
@@ -0,0 +1,5 @@
|
||||
name = struts-core
|
||||
fullname = Struts
|
||||
version = 2.0.0-SNAPSHOT
|
||||
status = integration
|
||||
cvs.tag = struts_2_0_0
|
||||
@@ -0,0 +1,5 @@
|
||||
ivy-configure=fr.jayasoft.ivy.ant.IvyConfigure
|
||||
ivy-resolve=fr.jayasoft.ivy.ant.IvyResolve
|
||||
ivy-retrieve=fr.jayasoft.ivy.ant.IvyRetrieve
|
||||
ivy-publish=fr.jayasoft.ivy.ant.IvyPublish
|
||||
ivy-report=fr.jayasoft.ivy.ant.IvyReport
|
||||
@@ -0,0 +1,153 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<?xml-stylesheet type="text/xsl" href="http://www.jayasoft.fr/org/ivyrep/ivy-doc.xsl"?>
|
||||
<ivy-module version="1.0">
|
||||
<info organisation="apache" module="struts2"
|
||||
revision="2.0"
|
||||
status="integration"
|
||||
publication="20060323000000">
|
||||
<license name="Apache" url="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
|
||||
<ivyauthor name="apache" url="http://www.apache.org/"/>
|
||||
|
||||
<description homepage="http://struts.apache.org/2.x/">
|
||||
Struts 2 is a Java web-application development framework. It is built specifically with developer
|
||||
productivity and code simplicity in mind. Struts 2 is built on
|
||||
top of XWork, which provides a generic command pattern framework as well as an Inversion of Control
|
||||
container. In addition to these features, Struts 2 provides
|
||||
robust support for building reusable UI templates, such as form controls, UI themes, internationalization,
|
||||
dynamic form parameter mapping to JavaBeans, robust
|
||||
client and server side validation, and much more.
|
||||
<br/>
|
||||
</description>
|
||||
</info>
|
||||
<configurations>
|
||||
<conf name="build" visibility="private"/>
|
||||
<conf name="default"/>
|
||||
<conf name="source"/>
|
||||
<conf name="ajax"/>
|
||||
<conf name="freemarker" deprecated="20060303000000"/>
|
||||
<conf name="velocity"/>
|
||||
<conf name="fileupload"/>
|
||||
<conf name="fileupload-pell" deprecated="20050831000000"/>
|
||||
<conf name="sitemesh"/>
|
||||
<conf name="quickstart"/>
|
||||
<conf name="jasperreports"/>
|
||||
<conf name="jfree"/>
|
||||
<conf name="xslt"/>
|
||||
<conf name="portlet"/>
|
||||
<conf name="spring"/>
|
||||
<conf name="pico"/>
|
||||
<conf name="plexus"/>
|
||||
<conf name="xslt"/>
|
||||
<conf name="tiger"/>
|
||||
<conf name="cewolf"/>
|
||||
<conf name="tiles"/>
|
||||
</configurations>
|
||||
<publications>
|
||||
<artifact name="struts2" type="jar" conf="default"/>
|
||||
</publications>
|
||||
<dependencies>
|
||||
<!-- build -->
|
||||
<dependency org="mockobjects" name="mockobjects-core" rev="0.09" conf="build->*"/>
|
||||
<dependency org="mockobjects" name="mockobjects-jdk1.3" rev="0.09" conf="build->*"/>
|
||||
<dependency org="mockobjects" name="mockobjects-alt-jdk1.3" rev="0.09" conf="build->*"/>
|
||||
<dependency org="mockobjects" name="mockobjects-alt-jdk1.3-j2ee1.3" rev="0.09" conf="build->*"/>
|
||||
<dependency org="mockobjects" name="mockobjects-jdk1.3-j2ee1.3" rev="0.09" conf="build->*"/>
|
||||
|
||||
<dependency org="easymock" name="easymock" rev="2.0" conf="build->*"/>
|
||||
<!--dependency org="easymock" name="easymockclassextension" rev="1.1" conf="build->*"/-->
|
||||
|
||||
<dependency org="clover" name="clover" rev="1.3.11" conf="build->*"/>
|
||||
<dependency org="junit" name="junit" rev="3.8.1" conf="build->*"/>
|
||||
<dependency org="jmock" name="jmock" rev="1.0.1" conf="build->*"/>
|
||||
<dependency org="jmock" name="jmock-cglib" rev="1.0.1" conf="build->*"/>
|
||||
<dependency org="servletapi" name="servletapi" rev="2.4" conf="build->*"/>
|
||||
<dependency org="xdoclet" name="xdoclet" rev="1.2.3" conf="build->*"/>
|
||||
<dependency org="xdoclet" name="xdoclet-web-module" rev="1.2.3" conf="build->*"/>
|
||||
<dependency org="xjavadoc" name="xjavadoc" rev="1.1" conf="build->*"/>
|
||||
|
||||
<!-- default -->
|
||||
<dependency org="opensymphony" name="xwork" rev="2.0+" conf="default->default"/>
|
||||
<dependency org="apache" name="commons-logging" rev="1.0.4" conf="default->default"/>
|
||||
<dependency org="opensymphony" name="xwork" rev="2.0+" conf="source->source"/>
|
||||
<dependency org="freemarker" name="freemarker" rev="2.3.4" conf="default->default"/>
|
||||
|
||||
<!-- ajax -->
|
||||
<dependency org="dwr" name="dwr" rev="1.1-beta-3" conf="ajax->*"/>
|
||||
|
||||
<!-- tiles -->
|
||||
<dependency org="org.apache.struts.tiles" name="tiles-core" rev="0.2-SNAPSHOT" conf="tiles->default"/>
|
||||
<dependency org="commons-digester" name="commons-digester" rev="1.7" conf="tiles->default"/>
|
||||
|
||||
<!-- velocity -->
|
||||
<dependency org="apache" name="velocity" rev="1.4" conf="velocity->*"/>
|
||||
<dependency org="apache" name="velocity-tools" rev="1.1" conf="velocity->view"/>
|
||||
<dependency org="commons-collections" name="commons-collections" rev="2.1.1" conf="velocity->*"/>
|
||||
|
||||
<!-- fileupload -->
|
||||
<dependency org="apache" name="commons-fileupload" rev="1.1" conf="fileupload->default"/>
|
||||
<dependency org="apache" name="commons-io" rev="1.0" conf="fileupload->default" />
|
||||
|
||||
<!-- fileupload-pell -->
|
||||
<dependency org="pell" name="multipartrequest" rev="1.19" conf="fileupload-pell->default"/>
|
||||
|
||||
<!-- sitemesh -->
|
||||
<dependency org="opensymphony" name="sitemesh" rev="2.2.1" conf="sitemesh->default"/>
|
||||
|
||||
<!-- quickstart -->
|
||||
<dependency org="jetty" name="org.mortbay.jetty" rev="5.1.4" conf="quickstart->default"/>
|
||||
<dependency org="ant" name="ant" rev="1.6.5" conf="quickstart->default"/>
|
||||
<dependency org="tomcat" name="jasper-runtime" rev="5.5.12" conf="quickstart->default"/>
|
||||
<dependency org="tomcat" name="jasper-compiler" rev="5.5.12" conf="quickstart->default"/>
|
||||
<dependency org="tomcat" name="jasper-compiler-jdt" rev="5.5.12" conf="quickstart->default"/>
|
||||
<dependency org="commons-el" name="commons-el" rev="1.0" conf="quickstart->default"/>
|
||||
<dependency org="commons-io" name="commons-io" rev="1.0" conf="quickstart->default"/>
|
||||
<dependency org="commons-lang" name="commons-lang" rev="2.1" conf="quickstart->default"/>
|
||||
<dependency org="servletapi" name="servletapi" rev="2.4" conf="quickstart->*" force="true"/>
|
||||
<dependency org="jspapi" name="jsp-api" rev="2.0" conf="quickstart->*"/>
|
||||
<dependency org="log4j" name="log4j" rev="1.2.9" conf="quickstart->*"/>
|
||||
<dependency org="commons-collections" name="commons-collections" rev="2.1.1" conf="quickstart->default"/>
|
||||
<dependency org="xstream" name="xstream" rev="1.1.2" conf="quickstart->default"/>
|
||||
|
||||
<!-- jasperreports -->
|
||||
<dependency org="jasperreports" name="jasperreports" rev="1.2.0" conf="jasperreports->default"/>
|
||||
<dependency org="itext" name="itext" rev="1.3.1" conf="jasperreports->default"/>
|
||||
<dependency org="poi" name="poi" rev="2.5.1" conf="jasperreports->default"/>
|
||||
<dependency org="commons-beanutils" name="commons-beanutils" rev="1.7.0" conf="jasperreports->default"/>
|
||||
<dependency org="commons-digester" name="commons-digester" rev="1.7" conf="jasperreports->default"/>
|
||||
<dependency org="commons-collections" name="commons-collections" rev="2.1.1" conf="jasperreports->default"/>
|
||||
|
||||
<!-- jfree -->
|
||||
<dependency org="jfree" name="jcommon" rev="1.0.0" conf="jfree->default"/>
|
||||
<dependency org="jfree" name="jfreechart" rev="1.0.0" conf="jfree->default"/>
|
||||
|
||||
<!-- xslt -->
|
||||
<dependency org="jfree" name="jcommon" rev="1.0.0" conf="xslt->default"/>
|
||||
|
||||
<!-- portlet -->
|
||||
<dependency org="portlet-api" name="portlet-api" rev="1.0" conf="portlet->default"/>
|
||||
|
||||
<!-- spring -->
|
||||
<dependency org="opensymphony" name="xwork" rev="2.0+" conf="spring->spring"/>
|
||||
|
||||
<!-- pico -->
|
||||
<dependency org="picocontainer" name="picocontainer" rev="1.2-RC-2" conf="pico->*"/>
|
||||
<dependency org="picocontainer" name="picocontainer-gems" rev="1.2-RC-2" conf="pico->*"/>
|
||||
<dependency org="nanocontainer" name="nanocontainer" rev="1.0-RC-3" conf="pico->*"/>
|
||||
<dependency org="nanocontainer" name="nanocontainer-nanowar" rev="1.0-RC-3" conf="pico->*"/>
|
||||
|
||||
<!-- plexus -->
|
||||
<dependency org="org.codehaus.plexus" name="plexus-container-default" rev="1.0-alpha-10-20060215.222714-5" conf="plexus->*"/>
|
||||
<dependency org="org.codehaus.plexus" name="plexus-utils" rev="1.0.4" conf="plexus->*"/>
|
||||
<dependency org="classworlds" name="classworlds" rev="1.1" conf="plexus->*"/>
|
||||
|
||||
<!-- xslt -->
|
||||
<dependency org="w3c" name="dom" rev="3.0" conf="xslt->*"/>
|
||||
|
||||
<!-- tiger -->
|
||||
<dependency org="opensymphony" name="xwork-tiger" rev="2.0+" conf="tiger->*"/>
|
||||
|
||||
<!-- cewolf -->
|
||||
<dependency org="cewolf" name="cewolf" rev="0.12.0" conf="cewolf->*"/>
|
||||
|
||||
</dependencies>
|
||||
</ivy-module>
|
||||
@@ -0,0 +1,2 @@
|
||||
ivy.retrieve.pattern = lib/[conf]/[artifact].[ext]
|
||||
integration.repository = lib/integration
|
||||
@@ -0,0 +1,30 @@
|
||||
<ivyconf>
|
||||
<properties file="ant-build/ivyconf.properties"/>
|
||||
<conf defaultResolver="default" checkUpToDate="true"/>
|
||||
<resolvers>
|
||||
<chain name="default">
|
||||
<filesystem name="integration" checkmodified="true">
|
||||
<ivy pattern="${integration.repository}/[organisation]/[module]/ivy-[revision].xml"/>
|
||||
<artifact pattern="${integration.repository}/[organisation]/[module]/[artifact]-[revision].[ext]"/>
|
||||
</filesystem>
|
||||
<url name="opensymphony" checkmodified="true">
|
||||
<ivy pattern="http://ivyrep.opensymphony.com/[organisation]/[module]/ivy-[revision].xml"/>
|
||||
<artifact
|
||||
pattern="http://ivyrep.opensymphony.com/[organisation]/[module]/[artifact]-[revision].[type]"/>
|
||||
</url>
|
||||
<url name="contegix">
|
||||
<ivy pattern="http://repository.contegix.com/ivyrep/[organisation]/[module]/ivy-[revision].xml"/>
|
||||
<artifact
|
||||
pattern="http://repository.contegix.com/ivyrep/[organisation]/[module]/[artifact]-[revision].[type]"/>
|
||||
</url>
|
||||
<ivyrep name="ivyrep"/>
|
||||
<ibiblio name="contegix-maven" root="http://repository.contegix.com/maven"/>
|
||||
<url name="maven">
|
||||
<artifact pattern="http://www.ibiblio.org/maven/[organisation]/jars/[module]-[revision].[type]"/>
|
||||
</url>
|
||||
<!--url name="maven-mirror">
|
||||
<artifact pattern="http://ibiblio.lsu.edu/main/pub/packages/maven/[organisation]/jars/[module]-[revision].[type]"/>
|
||||
</url-->
|
||||
</chain>
|
||||
</resolvers>
|
||||
</ivyconf>
|
||||
@@ -0,0 +1,463 @@
|
||||
<project name="common" default="jar" basedir=".">
|
||||
<!--
|
||||
OpenSymphony Common Build
|
||||
=========================
|
||||
TODO (Introduction)
|
||||
|
||||
Layout
|
||||
=========================
|
||||
TODO
|
||||
|
||||
Overriding
|
||||
=========================
|
||||
TODO
|
||||
Example: <target name="compile" depends="myPreCompile,common.compile,myPostCompile"/>
|
||||
|
||||
-->
|
||||
<!-- NOTE: this property is purely here to make a clear distinction in IDEA where the common build is -->
|
||||
<property name="------common-properties-below------" value="Common properties below:"/>
|
||||
|
||||
<property name="compile.version" value="1.3"/>
|
||||
<property name="test.compile.version" value="1.3"/>
|
||||
|
||||
<dirname property="common.dir" file="${ant.file.common}"/>
|
||||
<property file="ant-build/build.properties"/>
|
||||
<property file="ant-build/release.properties"/>
|
||||
<property file="ant-build/ivyrep.properties"/>
|
||||
|
||||
<property name="lib" location="lib"/>
|
||||
<property name="lib.core" value="${lib}/core"/>
|
||||
<property name="lib.build" value="${lib}/build"/>
|
||||
<property name="lib.optional" value="${lib}/optional"/>
|
||||
|
||||
<property name="src" location="core/src"/>
|
||||
<property name="src.java" value="${src}/main/java"/>
|
||||
<property name="src.test" value="${src}/test/java/"/>
|
||||
|
||||
<property name="src.resources" value="${src}/main/resources"/>
|
||||
|
||||
<property name="build" location="build"/>
|
||||
<property name="build.test" value="${build}/test/java"/>
|
||||
<property name="build.java-test" value="${build}/java-test"/>
|
||||
<property name="build.java" value="${build}/java"/>
|
||||
<property name="build.clover" value="${build}/clover"/>
|
||||
<property name="dist" location="dist"/>
|
||||
|
||||
<property name="docs" location="docs"/>
|
||||
<property name="docs.packages" value="org.apache.struts2.*"/>
|
||||
|
||||
<property name="jar.manifest" value="${common.dir}/EMPTY.MF"/>
|
||||
<property name="jar.excludes" value=""/>
|
||||
|
||||
<property name="testcase" value="*"/>
|
||||
<patternset id="src.test.pattern">
|
||||
<exclude name="**/Abstract*.java"/>
|
||||
<include name="**/${testcase}Test.java"/>
|
||||
<include name="**/${testcase}TestCase.java"/>
|
||||
|
||||
</patternset>
|
||||
|
||||
<path id="cp">
|
||||
<fileset dir="lib">
|
||||
<include name="**/*.jar"/>
|
||||
<include name="**/*.zip"/>
|
||||
<exclude name="**/jalopy/**"/>
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<path id="junit.cp">
|
||||
<pathelement location="${build.java}"/>
|
||||
<pathelement location="${build.test}"/>
|
||||
<pathelement location="${src.test}/../resources"/>
|
||||
<pathelement location="${build.java-test}"/>
|
||||
<path refid="cp"/>
|
||||
</path>
|
||||
|
||||
<path id="javadoc.path">
|
||||
<path path="${src.java}"/>
|
||||
</path>
|
||||
|
||||
<available property="junit.available" classname="junit.framework.TestCase"/>
|
||||
<available property="clover.available" classname="org.apache.tools.ant.taskdefs.CloverCompilerAdapter"/>
|
||||
|
||||
<target name="init" depends="init-anthill, init-standalone">
|
||||
<tstamp/>
|
||||
</target>
|
||||
|
||||
<!-- in Anthill, the docs should be the Intranet copyDir -->
|
||||
<target name="init-anthill" if="anthill.copyDir">
|
||||
<property name="dist.docs" value="${anthill.copyDir}"/>
|
||||
</target>
|
||||
|
||||
<!-- when building Standalone, the docs should be the normal place -->
|
||||
<target name="init-standalone" unless="anthill.copyDir">
|
||||
<property name="dist.docs" value="${dist}/docs"/>
|
||||
</target>
|
||||
|
||||
<target name="junit-check" depends="init" unless="junit.available">
|
||||
<fail message="Cannot run test cases. Please copy lib/build/junit.jar to ${ant.home}/lib"/>
|
||||
</target>
|
||||
|
||||
<target name="clover-check" depends="init" unless="clover.available">
|
||||
<fail message="Cannot run coverage tests. Please copy lib/build/clover.jar and lib/build/clover.license (if it exists) to ${ant.home}/lib"/>
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="${build}"/>
|
||||
<delete dir="${dist}"/>
|
||||
</target>
|
||||
|
||||
<target name="precompile"/>
|
||||
|
||||
<macrodef name="compile">
|
||||
<attribute name="srcdir"/>
|
||||
<attribute name="destdir"/>
|
||||
<attribute name="classpath" default=""/>
|
||||
<attribute name="classpathref" default="cp"/>
|
||||
<attribute name="includes" default="**/*.java"/>
|
||||
<attribute name="excludes" default=""/>
|
||||
<attribute name="source" default="${compile.version}"/>
|
||||
<attribute name="target" default="${compile.version}"/>
|
||||
<sequential>
|
||||
<mkdir dir="@{destdir}"/>
|
||||
<javac srcdir="@{srcdir}" destdir="@{destdir}" classpath="@{classpath}" classpathref="@{classpathref}"
|
||||
debug="on" source="@{source}" target="@{target}" excludes="@{excludes}" />
|
||||
<copy filtering="no" todir="@{destdir}">
|
||||
<fileset dir="@{srcdir}">
|
||||
<exclude name="**/*.java"/>
|
||||
<exclude name="**/package.html"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<target name="compile" depends="init,precompile" description="compile project">
|
||||
<compile srcdir="${src.java}" destdir="${build.java}" excludes="${optional.sources}" />
|
||||
<copy filtering="no" todir="${build.java}" includeemptydirs="false">
|
||||
<fileset dir="${src.resources}" >
|
||||
<exclude name="java/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="jar" depends="compile" description="build the project jar file">
|
||||
<mkdir dir="${build}"/>
|
||||
|
||||
<jar basedir="${build.java}" excludes="${jar.excludes}" jarfile="${build}/${name}-${version}.jar">
|
||||
<manifest>
|
||||
<attribute name="Implementation-Title" value="${fullname}"/>
|
||||
<attribute name="Implementation-Version" value="${version}"/>
|
||||
<attribute name="Implementation-Vendor" value="OpenSymphony"/>
|
||||
</manifest>
|
||||
</jar>
|
||||
<jar basedir="${src.java}" jarfile="${build}/${name}-src-${version}.jar">
|
||||
<manifest>
|
||||
<attribute name="Implementation-Title" value="${fullname}"/>
|
||||
<attribute name="Implementation-Version" value="${version}"/>
|
||||
<attribute name="Implementation-Vendor" value="OpenSymphony"/>
|
||||
</manifest>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="src-jar" depends="init" description="build a jar of the project source code">
|
||||
<mkdir dir="${build}"/>
|
||||
<jar basedir="${src.java}" jarfile="${build}/${name}-src-${version}.jar">
|
||||
<manifest>
|
||||
<attribute name="Implementation-Title" value="${fullname}"/>
|
||||
<attribute name="Implementation-Version" value="${version}"/>
|
||||
<attribute name="Implementation-Vendor" value="OpenSymphony"/>
|
||||
</manifest>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="test-compile" unless="skip.tests">
|
||||
<compile srcdir="${src.test}" destdir="${build.test}" classpath="${build.java}"
|
||||
source="${test.compile.version}" target="${test.compile.version}" />
|
||||
|
||||
<taskdef resource="clovertasks"/>
|
||||
<taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"/>
|
||||
|
||||
<mkdir dir="${build.clover}"/>
|
||||
<clover-setup initString="${build.clover}/coverage.db">
|
||||
<statementContext name="logIsDebugEnabled" regexp="[\s]*if[\s]*\([\s]*(log|_log|LOG|_LOG)\.isDebugEnabled.*"/>
|
||||
<statementContext name="logDebug" regexp="[\s]*(log|_log|LOG|_LOG)\.debug[\s]*\(.*"/>
|
||||
<files>
|
||||
<exclude name="${src.test}/**/*.java"/>
|
||||
</files>
|
||||
</clover-setup>
|
||||
|
||||
<!-- compile srcdir="${src.java}" destdir="${build.java-test}" / -->
|
||||
</target>
|
||||
|
||||
<target name="test" depends="junit-check, clover-check, compile, test-compile" description="run tests"
|
||||
unless="skip.tests">
|
||||
<run-junit />
|
||||
</target>
|
||||
|
||||
<macrodef name="run-junit">
|
||||
<attribute name="classpathref" default="junit.cp" />
|
||||
<attribute name="includes" default="**/${testcase}Test.java"/>
|
||||
<attribute name="excludes" default=""/>
|
||||
<sequential>
|
||||
<mkdir dir="${dist.docs}/junit"/>
|
||||
<junit haltonfailure="no" haltonerror="yes" fork="yes" forkmode="once" failureproperty="test.failure">
|
||||
<jvmarg value="-Djava.awt.headless=true"/>
|
||||
<jvmarg value="-Dorg.xml.sax.driver=org.apache.crimson.parser.XMLReaderImpl"/>
|
||||
<classpath>
|
||||
<path refid="@{classpathref}"/>
|
||||
</classpath>
|
||||
|
||||
<formatter type="plain" useFile="false"/>
|
||||
<formatter type="xml"/>
|
||||
|
||||
|
||||
<batchtest todir="${dist.docs}/junit">
|
||||
<fileset dir="${src.test}">
|
||||
<exclude name="@{excludes}" />
|
||||
<patternset refid="src.test.pattern"/>
|
||||
<include name="@{includes}" />
|
||||
</fileset>
|
||||
</batchtest>
|
||||
</junit>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<target name="javadocs" description="generate javadocs">
|
||||
<mkdir dir="${dist.docs}/api"/>
|
||||
<javadoc sourcepathref="javadoc.path"
|
||||
destdir="${dist.docs}/api"
|
||||
packagenames="${docs.packages}"
|
||||
classpathref="cp"
|
||||
author="true"
|
||||
version="true"
|
||||
overview="${src.java}/overview.html"
|
||||
windowTitle="${fullname} API - ${version}"
|
||||
doctitle="${fullname} API (${version})"
|
||||
footer="<a href="http://www.opensymphony.com/${name}/" target="_top">${fullname} Project Page</a>"
|
||||
use="true"
|
||||
verbose="false"
|
||||
source="${compile.version}">
|
||||
<tag name="s.tag" description="s.tag" enabled="false"/>
|
||||
<tag name="s.tagattribute" description="s.tagattribute" enabled="false"/>
|
||||
<link href="http://java.sun.com/j2se/${compile.version}/docs/api/"/>
|
||||
<link href="http://java.sun.com/j2ee/${compile.version}/docs/api/"/>
|
||||
</javadoc>
|
||||
<!-- <copy overwrite="yes" file="${docs}/main.css" tofile="${docs}/api/stylesheet.css"/> -->
|
||||
</target>
|
||||
|
||||
<target name="docs.impl">
|
||||
<copy todir="${dist.docs}">
|
||||
<fileset dir="${docs}"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="reports" depends="junit.report, clover.report, javadocs"
|
||||
description="generate javadocs and junit and coverage reports"/>
|
||||
|
||||
<target name="docs" depends="reports, docs.impl"/>
|
||||
|
||||
<target name="clover.report" depends="test" description="generate coverage reports" unless="skip.tests">
|
||||
<clover-report>
|
||||
<current outfile="${dist.docs}/clover">
|
||||
<format type="html" filter="logDebug,logIsDebugEnabled"/>
|
||||
</current>
|
||||
</clover-report>
|
||||
<clover-log filter="logDebug,logIsDebugEnabled"/>
|
||||
</target>
|
||||
|
||||
<target name="clover.historical" depends="clover.report" description="generate coverage historical reports"
|
||||
unless="skip.tests">
|
||||
<clover-historypoint historyDir="${build.clover}"/>
|
||||
|
||||
<clover-report>
|
||||
<historical outfile="${dist.docs}/clover" historyDir="${build.clover}">
|
||||
<format type="html" filter="logDebug,logIsDebugEnabled"/>
|
||||
</historical>
|
||||
</clover-report>
|
||||
<clover-log filter="logDebug,logIsDebugEnabled"/>
|
||||
</target>
|
||||
|
||||
<target name="junit.report" depends="test" description="generate junit reports" unless="skip.tests">
|
||||
<junitreport todir="${dist.docs}/junit">
|
||||
<fileset dir="${dist.docs}/junit">
|
||||
<include name="TEST-*.xml"/>
|
||||
</fileset>
|
||||
<report format="frames" todir="${dist.docs}/junit"/>
|
||||
</junitreport>
|
||||
|
||||
<!-- we fail here (instead of in the test target) so that the reports get generated first) -->
|
||||
<fail if="test.failure" message="Tests did not all pass, failing!"/>
|
||||
</target>
|
||||
|
||||
<target name="predist"/>
|
||||
|
||||
<target name="predist.zip"/>
|
||||
|
||||
<target name="dist" depends="jar, docs, predist" description="generate distribution zip file">
|
||||
<copy todir="${dist}">
|
||||
<fileset dir="${build}">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist}/src">
|
||||
<fileset dir="${src}"/>
|
||||
</copy>
|
||||
|
||||
<mkdir dir="${dist}/lib"/>
|
||||
<copy todir="${dist}/lib">
|
||||
<fileset dir="${lib}">
|
||||
<exclude name="**/no_dist/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist}">
|
||||
<fileset dir="${basedir}">
|
||||
<include name="build.*"/>
|
||||
<include name="osbuild.*"/>
|
||||
<include name="ivy.*"/>
|
||||
<include name="pom.*"/>
|
||||
<include name="readme.txt"/>
|
||||
<include name="license.txt"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- give a chance for project builds to do more before the zip is made. -->
|
||||
<antcall target="predist.zip"/>
|
||||
|
||||
<zip destfile="${build}/${name}-${version}.zip">
|
||||
<zipfileset prefix="${name}-${version}" dir="${dist}">
|
||||
<exclude name="docs/clover/**/*"/>
|
||||
<exclude name="docs/junit/**/*"/>
|
||||
</zipfileset>
|
||||
</zip>
|
||||
|
||||
<move file="${build}/${name}-${version}.zip" todir="${dist}" />
|
||||
</target>
|
||||
|
||||
<target name="website" depends="javadocs, docs.impl"/>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Fix carriage-return line feeds -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="fixcrlf" description="Fixed CR/LF problems">
|
||||
<echo>Running fixcrlf....</echo>
|
||||
<fixcrlf eol="lf" srcdir="${basedir}/core/src"
|
||||
includes="**/*.sh,
|
||||
**/*.properties,
|
||||
**/*.sql,
|
||||
**/*.script,
|
||||
**/*.java,
|
||||
**/*.css,
|
||||
**/*.js,
|
||||
**/*.jsp,
|
||||
**/*.ftl,
|
||||
**/*.txt,
|
||||
**/*.vm,
|
||||
**/*.xml,
|
||||
**/*.dtd,
|
||||
**/*.xsl,
|
||||
**/*.xslt,
|
||||
**/*.html" />
|
||||
<fixcrlf eol="lf" srcdir="${basedir}/apps"
|
||||
includes="**/*.sh,
|
||||
**/*.properties,
|
||||
**/*.sql,
|
||||
**/*.script,
|
||||
**/*.java,
|
||||
**/*.css,
|
||||
**/*.js,
|
||||
**/*.jsp,
|
||||
**/*.ftl,
|
||||
**/*.txt,
|
||||
**/*.vm,
|
||||
**/*.xml,
|
||||
**/*.dtd,
|
||||
**/*.xsl,
|
||||
**/*.xslt,
|
||||
**/*.html" />
|
||||
</target>
|
||||
|
||||
<target name="ivyrep" depends="jar, ivyrep.impl"/>
|
||||
|
||||
<target name="ivyrep.impl">
|
||||
<tstamp>
|
||||
<format property="TIME" pattern="yyyyMMddHHmmss"/>
|
||||
</tstamp>
|
||||
|
||||
<!-- make sure we have the latest -->
|
||||
<echo>svn update</echo>
|
||||
<exec executable="svn">
|
||||
<arg value="update"/>
|
||||
<arg line="${ivyrep.path}/opensymphony/${name}"/>
|
||||
</exec>
|
||||
|
||||
<!-- delete the old timestamped builds and commit -->
|
||||
<fileset dir="${ivyrep.path}/opensymphony/${name}" id="filesref">
|
||||
<include name="${name}-${version}-*"/>
|
||||
<include name="ivy-${version}-*"/>
|
||||
</fileset>
|
||||
<pathconvert property="files" refid="filesref" pathsep=" "/>
|
||||
<echo>svn delete: ${files}</echo>
|
||||
<exec executable="svn">
|
||||
<arg value="delete"/>
|
||||
<arg line="${files}"/>
|
||||
</exec>
|
||||
|
||||
<!-- copy over the new build and source -->
|
||||
<copy file="${build}/${name}-${version}.jar"
|
||||
tofile="${ivyrep.path}/opensymphony/${name}/${name}-${version}-${TIME}.jar"/>
|
||||
<copy file="${build}/${name}-src-${version}.jar"
|
||||
tofile="${ivyrep.path}/opensymphony/${name}/${name}-src-${version}-${TIME}.jar"/>
|
||||
<echo>svn add (jar)</echo>
|
||||
<exec executable="svn">
|
||||
<arg value="add"/>
|
||||
<arg value="${ivyrep.path}/opensymphony/${name}/${name}-${version}-${TIME}.jar"/>
|
||||
</exec>
|
||||
<exec executable="svn">
|
||||
<arg value="add"/>
|
||||
<arg value="${ivyrep.path}/opensymphony/${name}/${name}-src-${version}-${TIME}.jar"/>
|
||||
</exec>
|
||||
|
||||
<antcall target="ivyrep.copy-ivy"/>
|
||||
<exec executable="svn">
|
||||
<arg value="add"/>
|
||||
<arg value="${ivyrep.path}/opensymphony/${name}/ivy-${version}-${TIME}.xml"/>
|
||||
</exec>
|
||||
|
||||
<!-- now commit everything -->
|
||||
<echo>svn commit</echo>
|
||||
<exec executable="svn">
|
||||
<arg value="commit"/>
|
||||
<arg value="--username"/>
|
||||
<arg value="${ivyrep.username}"/>
|
||||
<arg value="--password"/>
|
||||
<arg value="${ivyrep.password}"/>
|
||||
<arg value="--non-interactive"/>
|
||||
<arg value="-m"/>
|
||||
<arg value="automatic commit"/>
|
||||
<arg value="${ivyrep.path}/opensymphony/${name}"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="ivyrep.copy-ivy">
|
||||
<!--
|
||||
Note: Default implementation does not use Ivy itself to generate these files.
|
||||
However, Ivy is really the best way to generate these, so projects that
|
||||
do use Ivy should override this target like so:
|
||||
|
||||
<ivy-deliver deliverpattern="${ivyrep.path}/opensymphony/${name}/[artifact]-[revision].[ext]"
|
||||
pubrevision="${version}-${TIME}" pubdate="${TIME}"/>
|
||||
|
||||
Over time as more projects adopt Ivy, this may become built in to the
|
||||
common build.
|
||||
-->
|
||||
<copy file="ivy.xml" tofile="${ivyrep.path}/opensymphony/${name}/ivy-${version}-${TIME}.xml">
|
||||
<filterset id="ivy.filter">
|
||||
<filter token="VERSION" value="${version}-${TIME}"/>
|
||||
<filter token="STATUS" value="${status}"/>
|
||||
<filter token="PUBLICATION" value="${TIME}"/>
|
||||
</filterset>
|
||||
</copy>
|
||||
</target>
|
||||
</project>
|
||||
+2
-9
@@ -5,20 +5,13 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.0.3</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Struts 2 API</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/api/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/api/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/api/</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>servlet-api</artifactId>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Apache Struts
|
||||
|
||||
Copyright 2006 The Apache Software Foundation
|
||||
|
||||
This product includes software developed at
|
||||
The Apache Software Foundation (http://www.apache.org/
|
||||
+1
-22
@@ -5,19 +5,12 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.3</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-blank</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<name>Blank Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/blank/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/blank/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/blank/</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
@@ -27,20 +20,6 @@
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>jsp-api</artifactId>
|
||||
<version>2.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-core</artifactId>
|
||||
<version>2.0.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package example;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package example;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package example;
|
||||
|
||||
public class Login extends ExampleSupport {
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
@echo off
|
||||
set CLASSPATH=..\..\..\lib\xwork-2.0-beta-1.jar
|
||||
javac *.java -d ..\..\..\classes
|
||||
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE struts PUBLIC
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.0.dtd">
|
||||
@@ -11,7 +10,7 @@
|
||||
<result>/example/HelloWorld.jsp</result>
|
||||
</action>
|
||||
|
||||
<action name="Login_*" method="{1}" class="example.Login">
|
||||
<action name="Login!*" method="{1}" class="example.Login">
|
||||
<result name="input">/example/Login.jsp</result>
|
||||
<result type="redirect-action">Menu</result>
|
||||
</action>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
HelloWorld.message= Struts is up and running ...
|
||||
requiredstring = ${getText(fieldName)} is required.
|
||||
password = Password
|
||||
username = User Name
|
||||
Missing.message = This feature is under construction. Please try again in the next interation.
|
||||
requiredstring = ${getText(fieldName)} is required.
|
||||
password = Password
|
||||
username = User Name
|
||||
HelloWorld.message= Struts is up and running ...
|
||||
Missing.message = This feature is under construction. Please try again in the next interation.
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
HelloWorld.message= ¡Struts está bien! ...
|
||||
requiredstring = ${getText(fieldName)} se requiere.
|
||||
password = Contraseña
|
||||
username = Nombre de Usuario
|
||||
Missing.message = ¡en obras! ¡seguir intentando!
|
||||
@@ -0,0 +1,2 @@
|
||||
struts.devMode = true
|
||||
struts.enable.DynamicMethodInvocation = false
|
||||
@@ -1,12 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE struts PUBLIC
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.0.dtd">
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.0.dtd">
|
||||
|
||||
<struts>
|
||||
|
||||
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
|
||||
<constant name="struts.devMode" value="true" />
|
||||
<include file="struts-default.xml"/>
|
||||
|
||||
<include file="example.xml"/>
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||
|
||||
<beans default-autowire="autodetect">
|
||||
<!-- add your spring beans here -->
|
||||
</beans>
|
||||
@@ -1,5 +1,6 @@
|
||||
<?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">
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!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>
|
||||
|
||||
<display-name>Struts Blank</display-name>
|
||||
|
||||
@@ -13,8 +14,22 @@
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
|
||||
<!--
|
||||
This typically isn't required, as the taglib is included in struts-core.jar.
|
||||
If you really need a taglib configuration within web.xml,
|
||||
copy struts2-core/core/src/main/resources/META-INF/struts-tags.tld
|
||||
to the WEB-INF directory as struts-tags.tld.
|
||||
-->
|
||||
<!--taglib>
|
||||
<taglib-uri>/s</taglib-uri>
|
||||
<taglib-location>/WEB-INF/struts-tags.tld</taglib-location>
|
||||
</taglib-->
|
||||
</web-app>
|
||||
|
||||
@@ -2,27 +2,10 @@
|
||||
<%@ taglib prefix="s" uri="/struts-tags" %>
|
||||
<html>
|
||||
<head>
|
||||
<title><s:text name="HelloWorld.message"/></title>
|
||||
<title>Hello World!</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>
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
<%@ taglib prefix="s" uri="/struts-tags" %>
|
||||
<html>
|
||||
<head>
|
||||
<title>Sign On</title>
|
||||
<title>Logon</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<s:form action="Login">
|
||||
<s:textfield key="username"/>
|
||||
<s:password key="password" />
|
||||
<s:textfield label="%{getText('username')}" name="username"/>
|
||||
<s:password label="%{getText('password')}" name="password" />
|
||||
<s:submit/>
|
||||
</s:form>
|
||||
</body>
|
||||
|
||||
@@ -10,9 +10,26 @@
|
||||
<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>
|
||||
<li><a href="<s:url action="Login!input"/>">Sign On</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Languages</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<s:url id="url" action="Welcome">
|
||||
<s:param name="request_locale">en</s:param>
|
||||
</s:url>
|
||||
<s:a href="%{url}">English</s:a>
|
||||
</li>
|
||||
<li>
|
||||
<s:url id="url" action="Welcome">
|
||||
<s:param name="request_locale">ja</s:param>
|
||||
</s:url>
|
||||
<s:a href="%{url}">Japanese</s:a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=example/HelloWorld.action">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>Loading ...</p>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=example/Welcome.action">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>Loading ...</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package example;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
import com.opensymphony.xwork2.XWorkTestCase;
|
||||
import com.opensymphony.xwork2.config.RuntimeConfiguration;
|
||||
import com.opensymphony.xwork2.config.entities.ActionConfig;
|
||||
import com.opensymphony.xwork2.config.entities.ResultConfig;
|
||||
@@ -30,9 +10,7 @@ import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.struts2.StrutsTestCase;
|
||||
|
||||
public class ConfigTest extends StrutsTestCase {
|
||||
public class ConfigTest extends XWorkTestCase {
|
||||
|
||||
protected void assertSuccess(String result) throws Exception {
|
||||
assertTrue("Expected a success result!",
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package example;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
@@ -1,35 +1,16 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package example;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
import com.opensymphony.xwork2.config.entities.ActionConfig;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public class LoginTest extends ConfigTest {
|
||||
|
||||
public void FIXME_testLoginConfig() throws Exception {
|
||||
ActionConfig config = assertClass("example", "Login_input", "example.Login");
|
||||
ActionConfig config = assertClass("example", "Login!input", "example.Login");
|
||||
assertResult(config, ActionSupport.SUCCESS, "Menu");
|
||||
assertResult(config, ActionSupport.INPUT, "/example/Login.jsp");
|
||||
}
|
||||
|
||||
+20
-34
@@ -5,19 +5,12 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.3</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-mailreader</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<name>Starter Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/mailreader/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/mailreader/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/mailreader/</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
@@ -29,35 +22,28 @@
|
||||
<dependency>
|
||||
<groupId>${pom.groupId}</groupId>
|
||||
<artifactId>struts-mailreader-dao</artifactId>
|
||||
<version>1.3.5</version>
|
||||
<version>1.3.5-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-spring-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty-plugin</artifactId>
|
||||
<version>6.0.1</version>
|
||||
<configuration>
|
||||
<scanIntervalSeconds>10</scanIntervalSeconds>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty6-plugin</artifactId>
|
||||
<configuration>
|
||||
<scanIntervalSeconds>10</scanIntervalSeconds>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-j2ee_1.4_spec</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<global-results>
|
||||
<result name="error">/pages/Error.jsp</result>
|
||||
<result name="invalid.token">/pages/Error.jsp</result>
|
||||
<result name="login" type="redirect-action">Login_input</result>
|
||||
<result name="login" type="redirect-action">Login!input</result>
|
||||
</global-results>
|
||||
|
||||
<global-exception-mappings>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<result type="redirect-action">Welcome</result>
|
||||
</action>
|
||||
|
||||
<action name="Login_*" method="{1}" class="mailreader2.Login">
|
||||
<action name="Login!*" method="{1}" class="mailreader2.Login">
|
||||
<result name="input">/Login.jsp</result>
|
||||
<result name="cancel" type="redirect-action">Welcome</result>
|
||||
<result type="redirect-action">MainMenu</result>
|
||||
@@ -31,7 +31,7 @@
|
||||
<interceptor-ref name="guest"/>
|
||||
</action>
|
||||
|
||||
<action name="Registration_*" method="{1}" class="mailreader2.Registration">
|
||||
<action name="Registration!*" method="{1}" class="mailreader2.Registration">
|
||||
<result name="input">/Registration.jsp</result>
|
||||
<result type="redirect-action">MainMenu</result>
|
||||
<interceptor-ref name="guest"/>
|
||||
@@ -42,14 +42,14 @@
|
||||
|
||||
<global-results>
|
||||
<result name="input">/Subscription.jsp</result>
|
||||
<result type="redirect-action">Registration_input</result>
|
||||
<result type="redirect-action">Registration!input</result>
|
||||
</global-results>
|
||||
|
||||
<action name="Subscription_save" method="save" class="mailreader2.Subscription">
|
||||
<action name="Subscription!save" method="save" class="mailreader2.Subscription">
|
||||
<interceptor-ref name="user-submit" />
|
||||
</action>
|
||||
|
||||
<action name="Subscription_*" method="{1}" class="mailreader2.Subscription" />
|
||||
<action name="Subscription!*" method="{1}" class="mailreader2.Subscription" />
|
||||
|
||||
</package>
|
||||
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* Copyright 1999-2002,2004 The Apache Software Foundation.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
@@ -103,7 +100,7 @@ public final class ApplicationListener implements ServletContextListener {
|
||||
* <p>The web application resource path of our persistent database storage
|
||||
* file.</p>
|
||||
*/
|
||||
private String pathname = "/WEB-INF/database.xml";
|
||||
private String pathname = "/WEB-INF/classes/database.xml";
|
||||
|
||||
/**
|
||||
* <p>Return the application resource path to the database.</p>
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 1999-2004 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
@@ -76,7 +73,7 @@ public final class Constants {
|
||||
*/
|
||||
public static final String HOST = "host";
|
||||
|
||||
|
||||
|
||||
// ---- Error Messages ----
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2000-2004 Apache Software Foundation
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2000-2004 Apache Software Foundation
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 1999-2004 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
|
||||
@@ -1,96 +1,93 @@
|
||||
button.cancel=Cancel
|
||||
button.confirm=Confirm
|
||||
button.doSubmit=DO_SUBMIT
|
||||
button.doReset=DO_RESULT
|
||||
button.doCancel=org.apache.struts.taglib.html.CANCEL
|
||||
button.reset=Reset
|
||||
button.save=Save
|
||||
change.message=Your password has expired. Please ask the system administrator to change it.
|
||||
change.try=Try Again
|
||||
change.title=Password Has Expired
|
||||
database.load=Cannot load database from {0}
|
||||
error.database.missing=User database is missing, cannot validate login credentials
|
||||
error.fromAddress.format=Invalid format for From Address
|
||||
error.fromAddress.required=From Address is required
|
||||
error.fullName.required=Full Name is required
|
||||
error.host.required=Mail Server is required
|
||||
error.noSubscription=No Subscription bean in user session
|
||||
error.password.expired=Your password has expired for username {0}
|
||||
error.password.required=Password is required
|
||||
error.password2.required=Confirmation password is required
|
||||
error.password.match=Password and confirmation password must match
|
||||
error.password.mismatch=Invalid username and/or password, please try again
|
||||
error.replyToAddress.format=Invalid format for Reply To Address
|
||||
struts.messages.invalid.token=Cannot submit this form out of order
|
||||
error.type.invalid=Server Type must be 'imap' or 'pop3'
|
||||
error.type.required=Server Type is required
|
||||
error.username.required=Username is required
|
||||
error.username.unique=That username is already in use - please select another
|
||||
errors.footer=</ul><hr>
|
||||
errors.header=<h3><font color="red">Validation Error</font></h3><p>You must correct the following error(s) before proceeding:</p><ul>
|
||||
errors.prefix=<li>
|
||||
errors.suffix=</li>
|
||||
errors.ioException=I/O exception rendering error messages: {0}
|
||||
expired.password=User Password has expired for {0}
|
||||
heading.autoConnect=Auto
|
||||
heading.subscriptions=Current Subscriptions
|
||||
heading.host=Host Name
|
||||
heading.user=User Name
|
||||
heading.type=Server Type
|
||||
heading.action=Action
|
||||
index.heading=MailReader Demonstration Application Options
|
||||
index.login=Log on to the MailReader Demonstration Application
|
||||
index.registration=Register with the MailReader Demonstration Application
|
||||
index.title=MailReader Demonstration Application
|
||||
index.tour=A Walking Tour of the MailReader Demonstration Application
|
||||
linkSubscription.io=I/O Error: {0}
|
||||
linkSubscription.noSubscription=No subscription under attribute {0}
|
||||
linkUser.io=I/O Error: {0}
|
||||
linkUser.noUser=No user under attribute {0}
|
||||
login.title=MailReader Demonstration Application - Login
|
||||
mainMenu.heading=Main Menu Options for
|
||||
mainMenu.logout=Log off MailReader Demonstration Application
|
||||
mainMenu.registration=Edit your user registration profile
|
||||
mainMenu.title=MailReader Demonstration Application - Main Menu
|
||||
option.imap=IMAP Protocol
|
||||
option.pop3=POP3 Protocol
|
||||
# prompt.
|
||||
host=Mail Server
|
||||
password=Password
|
||||
password2=(Repeat) Password
|
||||
username=Username
|
||||
|
||||
registration.addSubscription=Add
|
||||
registration.deleteSubscription=Delete
|
||||
registration.editSubscription=Edit
|
||||
registration.title.create=Register for the MailReader Demonstration Application
|
||||
registration.title.edit=Edit Registration for the MailReader Demonstration Application
|
||||
|
||||
subscription.autoConnect=Auto Connect
|
||||
subscription.password=Mail Password
|
||||
subscription.type=Server Type
|
||||
subscription.username=Mail Username
|
||||
subscription.title.create=Create New Mail Subscription
|
||||
subscription.title.delete=Delete Existing Mail Subscription
|
||||
subscription.title.edit=Edit Existing Mail Subscription
|
||||
|
||||
user.fromAddress=From Address
|
||||
user.fullName=Full Name
|
||||
user.replyToAddress=Reply To Address
|
||||
|
||||
# Standard error messages for validator framework checks
|
||||
errors.required=${getText(fieldName)} is required.
|
||||
errors.minlength=${getText(fieldName)} cannot be less than {1} characters.
|
||||
errors.maxlength=${getText(fieldName)} cannot be greater than {1} characters.
|
||||
errors.invalid=${getText(fieldName)} is invalid.
|
||||
errors.byte=${getText(fieldName)} must be an byte.
|
||||
errors.short=${getText(fieldName)} must be an short.
|
||||
errors.integer=${getText(fieldName)} must be an integer.
|
||||
errors.long=${getText(fieldName)} must be an long.
|
||||
errors.float=${getText(fieldName)} must be an float.
|
||||
errors.double=${getText(fieldName)} must be an double.
|
||||
errors.date=${getText(fieldName)} is not a date.
|
||||
errors.range=${getText(fieldName)} is not in the range ${minLength} through ${maxLength}.
|
||||
errors.creditcard=${getText(fieldName)} is not a valid credit card number.
|
||||
errors.email=${getText(fieldName)} is an invalid e-mail address.
|
||||
errors.literal=${getText(fieldName)}
|
||||
button.cancel=Cancel
|
||||
button.confirm=Confirm
|
||||
button.doSubmit=DO_SUBMIT
|
||||
button.doReset=DO_RESULT
|
||||
button.doCancel=org.apache.struts.taglib.html.CANCEL
|
||||
button.reset=Reset
|
||||
button.save=Save
|
||||
change.message=Your password has expired. Please ask the system administrator to change it.
|
||||
change.try=Try Again
|
||||
change.title=Password Has Expired
|
||||
database.load=Cannot load database from {0}
|
||||
error.database.missing=User database is missing, cannot validate login credentials
|
||||
error.fromAddress.format=Invalid format for From Address
|
||||
error.fromAddress.required=From Address is required
|
||||
error.fullName.required=Full Name is required
|
||||
error.host.required=Mail Server is required
|
||||
error.noSubscription=No Subscription bean in user session
|
||||
error.password.expired=Your password has expired for username {0}
|
||||
error.password.required=Password is required
|
||||
error.password2.required=Confirmation password is required
|
||||
error.password.match=Password and confirmation password must match
|
||||
error.password.mismatch=Invalid username and/or password, please try again
|
||||
error.replyToAddress.format=Invalid format for Reply To Address
|
||||
struts.messages.invalid.token=Cannot submit this form out of order
|
||||
error.type.invalid=Server Type must be 'imap' or 'pop3'
|
||||
error.type.required=Server Type is required
|
||||
error.username.required=Username is required
|
||||
error.username.unique=That username is already in use - please select another
|
||||
errors.footer=</ul><hr>
|
||||
errors.header=<h3><font color="red">Validation Error</font></h3><p>You must correct the following error(s) before proceeding:</p><ul>
|
||||
errors.prefix=<li>
|
||||
errors.suffix=</li>
|
||||
errors.ioException=I/O exception rendering error messages: {0}
|
||||
expired.password=User Password has expired for {0}
|
||||
heading.autoConnect=Auto
|
||||
heading.subscriptions=Current Subscriptions
|
||||
heading.host=Host Name
|
||||
heading.user=User Name
|
||||
heading.type=Server Type
|
||||
heading.action=Action
|
||||
index.heading=MailReader Demonstration Application Options
|
||||
index.login=Log on to the MailReader Demonstration Application
|
||||
index.registration=Register with the MailReader Demonstration Application
|
||||
index.title=MailReader Demonstration Application
|
||||
index.tour=A Walking Tour of the MailReader Demonstration Application
|
||||
linkSubscription.io=I/O Error: {0}
|
||||
linkSubscription.noSubscription=No subscription under attribute {0}
|
||||
linkUser.io=I/O Error: {0}
|
||||
linkUser.noUser=No user under attribute {0}
|
||||
login.title=MailReader Demonstration Application - Login
|
||||
mainMenu.heading=Main Menu Options for
|
||||
mainMenu.logout=Log off MailReader Demonstration Application
|
||||
mainMenu.registration=Edit your user registration profile
|
||||
mainMenu.title=MailReader Demonstration Application - Main Menu
|
||||
option.imap=IMAP Protocol
|
||||
option.pop3=POP3 Protocol
|
||||
# prompt.
|
||||
autoConnect=Auto Connect
|
||||
fromAddress=From Address
|
||||
fullName=Full Name
|
||||
mailHostname=Mail Server
|
||||
mailPassword=Mail Password
|
||||
mailServerType=Server Type
|
||||
mailUsername=Mail Username
|
||||
password=Password
|
||||
password2=(Repeat) Password
|
||||
replyToAddress=Reply To Address
|
||||
username=Username
|
||||
registration.addSubscription=Add
|
||||
registration.deleteSubscription=Delete
|
||||
registration.editSubscription=Edit
|
||||
registration.title.create=Register for the MailReader Demonstration Application
|
||||
registration.title.edit=Edit Registration for the MailReader Demonstration Application
|
||||
subscription.title.create=Create New Mail Subscription
|
||||
subscription.title.delete=Delete Existing Mail Subscription
|
||||
subscription.title.edit=Edit Existing Mail Subscription
|
||||
|
||||
# Standard error messages for validator framework checks
|
||||
errors.required=${getText(fieldName)} is required.
|
||||
errors.minlength=${getText(fieldName)} cannot be less than {1} characters.
|
||||
errors.maxlength=${getText(fieldName)} cannot be greater than {1} characters.
|
||||
errors.invalid=${getText(fieldName)} is invalid.
|
||||
errors.byte=${getText(fieldName)} must be an byte.
|
||||
errors.short=${getText(fieldName)} must be an short.
|
||||
errors.integer=${getText(fieldName)} must be an integer.
|
||||
errors.long=${getText(fieldName)} must be an long.
|
||||
errors.float=${getText(fieldName)} must be an float.
|
||||
errors.double=${getText(fieldName)} must be an double.
|
||||
errors.date=${getText(fieldName)} is not a date.
|
||||
errors.range=${getText(fieldName)} is not in the range ${minLength} through ${maxLength}.
|
||||
errors.creditcard=${getText(fieldName)} is not a valid credit card number.
|
||||
errors.email=${getText(fieldName)} is an invalid e-mail address.
|
||||
errors.literal=${getText(fieldName)}
|
||||
|
||||
@@ -1,89 +1,89 @@
|
||||
button.cancel=\u30ad\u30e3\u30f3\u30bb\u30eb
|
||||
button.confirm=\u78ba\u8a8d
|
||||
button.reset=\u30ea\u30bb\u30c3\u30c8
|
||||
button.save=\u4fdd\u5b58
|
||||
change.message=\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F\u3002\u30B7\u30B9\u30C6\u30E0\u7BA1\u7406\u8005\u306B\u304A\u554F\u3044\u5408\u308F\u305B\u4E0B\u3055\u3044
|
||||
change.try=\u518D\u8A66\u884C
|
||||
change.title=\u30d1\u30b9\u30ef\u30fc\u30c9\u671f\u9650\u5207\u308c
|
||||
database.load= {0} \u304B\u3089\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093
|
||||
error.database.missing=\u30E6\u30FC\u30B6\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u30ED\u30B0\u30AA\u30F3\u306E\u8A8D\u8A3C\u304C\u51FA\u6765\u307E\u305B\u3093
|
||||
error.fromAddress.format=From\u30A2\u30C9\u30EC\u30B9\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093
|
||||
error.fromAddress.required=From\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.fullName.required=\u30D5\u30EB\u30CD\u30FC\u30E0\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.host.required=\u30E1\u30FC\u30EB\u30B5\u30FC\u30D0\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.noSubscription=Subscription bean \u304c\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u4e2d\u306b\u3042\u308a\u307e\u305b\u3093
|
||||
error.password.expired=\u30E6\u30FC\u30B6 {0} \u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F
|
||||
error.password.required=\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5FC5\u8981\u3067\u3059
|
||||
error.password2.required=\u30D1\u30B9\u30EF\u30FC\u30C9(\u78BA\u8A8D\u7528)\u304C\u5FC5\u8981\u3067\u3059
|
||||
error.password.match=\u30D1\u30B9\u30EF\u30FC\u30C9\u3068\u78BA\u8A8D\u7528\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u3066\u3044\u307E\u305B\u3093
|
||||
error.password.mismatch=\u30E6\u30FC\u30B6\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E0D\u6B63\u3067\u3059\u3002\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.replyToAddress.format=\u8FD4\u4FE1\u30A2\u30C9\u30EC\u30B9\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093
|
||||
struts.messages.invalid.token=\u3053\u306E\u30D5\u30A9\u30FC\u30E0\u306E\u5185\u5BB9\u304C\u6B63\u3057\u304F\u306A\u3044\u305F\u3081\u9001\u4FE1\u3059\u308B\u3053\u3068\u304C\u51FA\u6765\u307E\u305B\u3093
|
||||
error.type.invalid=\u30B5\u30FC\u30D0\u30BF\u30A4\u30D7\u306F 'imap' \u304B 'pop3'\u306E\u3069\u3061\u3089\u304B\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093
|
||||
error.type.required=\u30B5\u30FC\u30D0\u30BF\u30A4\u30D7\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.username.required=\u30E6\u30FC\u30B6\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.username.unique=\u305D\u306E\u30E6\u30FC\u30B6\u540D\u306F\u65E2\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002 \u5225\u306E\u30E6\u30FC\u30B6\u540D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
errors.footer=</ul><hr>
|
||||
errors.header=<h3><font color="red">\u5165\u529b\u30c1\u30a7\u30c3\u30af\u30a8\u30e9\u30fc</font></h3><p>\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044:</p><ul>
|
||||
errors.prefix=<li>
|
||||
errors.suffix=</li>
|
||||
errors.ioException=I/O\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
|
||||
expired.password=\u30E6\u30FC\u30B6 {0} \u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F
|
||||
heading.autoConnect=\u81ea\u52d5\u63a5\u7d9a
|
||||
heading.subscriptions=\u73fe\u5728\u306e\u8cfc\u8aad\u60c5\u5831
|
||||
heading.host=\u30db\u30b9\u30c8\u540d
|
||||
heading.user=\u30e6\u30fc\u30b6\u540d
|
||||
heading.type=\u30b5\u30fc\u30d0\u30bf\u30a4\u30d7
|
||||
heading.action=\u64cd\u4f5c
|
||||
index.heading=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 \u30aa\u30d7\u30b7\u30e7\u30f3
|
||||
index.login=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30ed\u30b0\u30aa\u30f3
|
||||
index.registration=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e6\u30fc\u30b6\u767b\u9332
|
||||
index.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3(Struts 1.1-dev)
|
||||
index.tour=\u30b5\u30f3\u30d7\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u6563\u7b56\u3059\u308b
|
||||
linkSubscription.io=I/O\u30a8\u30e9\u30fc: {0}
|
||||
linkSubscription.noSubscription=\u5c5e\u6027 {0} \u306b\u8cfc\u8aad\u60c5\u5831\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
|
||||
linkUser.io=I/O\u30a8\u30e9\u30fc: {0}
|
||||
linkUser.noUser=\u5c5e\u6027 {0} \u306b\u30e6\u30fc\u30b6\u60c5\u5831\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
|
||||
login.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30ed\u30b0\u30aa\u30f3
|
||||
mainMenu.heading=\u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc
|
||||
mainMenu.logout=MailReader \u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ed\u30b0\u30aa\u30d5
|
||||
mainMenu.registration=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u7de8\u96c6
|
||||
mainMenu.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc
|
||||
option.imap=IMAP \u30d7\u30ed\u30c8\u30b3\u30eb
|
||||
option.pop3=POP3 \u30d7\u30ed\u30c8\u30b3\u30eb
|
||||
# prompt.
|
||||
autoConnect=\u81ea\u52d5\u63a5\u7d9a
|
||||
fromAddress=From\u30a2\u30c9\u30ec\u30b9
|
||||
fullName=\u30d5\u30eb\u30cd\u30fc\u30e0
|
||||
mailHostname=\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0
|
||||
mailPassword=\u30e1\u30fc\u30eb\u30d1\u30b9\u30ef\u30fc\u30c9
|
||||
mailServerType=\u30b5\u30fc\u30d0\u30bf\u30a4\u30d7
|
||||
mailUsername=\u30e1\u30fc\u30eb\u30e6\u30fc\u30b6\u540d
|
||||
.password=\u30d1\u30b9\u30ef\u30fc\u30c9
|
||||
password2=\u30d1\u30b9\u30ef\u30fc\u30c9(\u78ba\u8a8d\u7528)
|
||||
replyToAddress=\u8fd4\u4fe1\u30a2\u30c9\u30ec\u30b9
|
||||
username=\u30e6\u30fc\u30b6\u540d
|
||||
registration.addSubscription=\u65b0\u898f\u4f5c\u6210
|
||||
registration.deleteSubscription=\u524a\u9664
|
||||
registration.editSubscription=\u7de8\u96c6
|
||||
registration.title.create=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e6\u30fc\u30b6\u767b\u9332
|
||||
registration.title.edit=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6
|
||||
subscription.title.create=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u65b0\u898f\u4f5c\u6210
|
||||
subscription.title.delete=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u524a\u9664
|
||||
subscription.title.edit=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u7de8\u96c6
|
||||
|
||||
# Standard error messages for validator framework checks
|
||||
errors.required=${getText(fieldName)} \u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
errors.minlength=${getText(fieldName)} \u306f {1} \u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.maxlength=${getText(fieldName)} \u306f {2} \u6587\u5b57\u4ee5\u4e0b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.invalid=${getText(fieldName)} \u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
errors.byte=${getText(fieldName)} \u306fbyte\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.short=${getText(fieldName)} \u306fshort\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.integer=${getText(fieldName)} \u306finteger\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.long=${getText(fieldName)} \u306flong\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.float=${getText(fieldName)} \u306ffloat\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.double=${getText(fieldName)} \u306fdouble\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.date=${getText(fieldName)} \u306f\u65e5\u4ed8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
errors.range=${getText(fieldName)} \u306f {1} \u304b\u3089 {2} \u306e\u9593\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.creditcard=${getText(fieldName)} \u306f\u6b63\u3057\u3044\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
errors.email=${getText(fieldName)} \u306f\u6b63\u3057\u3044\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
button.cancel=\u30ad\u30e3\u30f3\u30bb\u30eb
|
||||
button.confirm=\u78ba\u8a8d
|
||||
button.reset=\u30ea\u30bb\u30c3\u30c8
|
||||
button.save=\u4fdd\u5b58
|
||||
change.message=\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F\u3002\u30B7\u30B9\u30C6\u30E0\u7BA1\u7406\u8005\u306B\u304A\u554F\u3044\u5408\u308F\u305B\u4E0B\u3055\u3044
|
||||
change.try=\u518D\u8A66\u884C
|
||||
change.title=\u30d1\u30b9\u30ef\u30fc\u30c9\u671f\u9650\u5207\u308c
|
||||
database.load= {0} \u304B\u3089\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093
|
||||
error.database.missing=\u30E6\u30FC\u30B6\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u30ED\u30B0\u30AA\u30F3\u306E\u8A8D\u8A3C\u304C\u51FA\u6765\u307E\u305B\u3093
|
||||
error.fromAddress.format=From\u30A2\u30C9\u30EC\u30B9\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093
|
||||
error.fromAddress.required=From\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.fullName.required=\u30D5\u30EB\u30CD\u30FC\u30E0\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.host.required=\u30E1\u30FC\u30EB\u30B5\u30FC\u30D0\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.noSubscription=Subscription bean \u304c\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u4e2d\u306b\u3042\u308a\u307e\u305b\u3093
|
||||
error.password.expired=\u30E6\u30FC\u30B6 {0} \u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F
|
||||
error.password.required=\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5FC5\u8981\u3067\u3059
|
||||
error.password2.required=\u30D1\u30B9\u30EF\u30FC\u30C9(\u78BA\u8A8D\u7528)\u304C\u5FC5\u8981\u3067\u3059
|
||||
error.password.match=\u30D1\u30B9\u30EF\u30FC\u30C9\u3068\u78BA\u8A8D\u7528\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u3066\u3044\u307E\u305B\u3093
|
||||
error.password.mismatch=\u30E6\u30FC\u30B6\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E0D\u6B63\u3067\u3059\u3002\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.replyToAddress.format=\u8FD4\u4FE1\u30A2\u30C9\u30EC\u30B9\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093
|
||||
struts.messages.invalid.token=\u3053\u306E\u30D5\u30A9\u30FC\u30E0\u306E\u5185\u5BB9\u304C\u6B63\u3057\u304F\u306A\u3044\u305F\u3081\u9001\u4FE1\u3059\u308B\u3053\u3068\u304C\u51FA\u6765\u307E\u305B\u3093
|
||||
error.type.invalid=\u30B5\u30FC\u30D0\u30BF\u30A4\u30D7\u306F 'imap' \u304B 'pop3'\u306E\u3069\u3061\u3089\u304B\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093
|
||||
error.type.required=\u30B5\u30FC\u30D0\u30BF\u30A4\u30D7\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.username.required=\u30E6\u30FC\u30B6\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
error.username.unique=\u305D\u306E\u30E6\u30FC\u30B6\u540D\u306F\u65E2\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002 \u5225\u306E\u30E6\u30FC\u30B6\u540D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
errors.footer=</ul><hr>
|
||||
errors.header=<h3><font color="red">\u5165\u529b\u30c1\u30a7\u30c3\u30af\u30a8\u30e9\u30fc</font></h3><p>\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044:</p><ul>
|
||||
errors.prefix=<li>
|
||||
errors.suffix=</li>
|
||||
errors.ioException=I/O\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
|
||||
expired.password=\u30E6\u30FC\u30B6 {0} \u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F
|
||||
heading.autoConnect=\u81ea\u52d5\u63a5\u7d9a
|
||||
heading.subscriptions=\u73fe\u5728\u306e\u8cfc\u8aad\u60c5\u5831
|
||||
heading.host=\u30db\u30b9\u30c8\u540d
|
||||
heading.user=\u30e6\u30fc\u30b6\u540d
|
||||
heading.type=\u30b5\u30fc\u30d0\u30bf\u30a4\u30d7
|
||||
heading.action=\u64cd\u4f5c
|
||||
index.heading=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 \u30aa\u30d7\u30b7\u30e7\u30f3
|
||||
index.login=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30ed\u30b0\u30aa\u30f3
|
||||
index.registration=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e6\u30fc\u30b6\u767b\u9332
|
||||
index.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3(Struts 1.1-dev)
|
||||
index.tour=\u30b5\u30f3\u30d7\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u6563\u7b56\u3059\u308b
|
||||
linkSubscription.io=I/O\u30a8\u30e9\u30fc: {0}
|
||||
linkSubscription.noSubscription=\u5c5e\u6027 {0} \u306b\u8cfc\u8aad\u60c5\u5831\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
|
||||
linkUser.io=I/O\u30a8\u30e9\u30fc: {0}
|
||||
linkUser.noUser=\u5c5e\u6027 {0} \u306b\u30e6\u30fc\u30b6\u60c5\u5831\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
|
||||
login.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30ed\u30b0\u30aa\u30f3
|
||||
mainMenu.heading=\u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc
|
||||
mainMenu.logout=MailReader \u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ed\u30b0\u30aa\u30d5
|
||||
mainMenu.registration=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u7de8\u96c6
|
||||
mainMenu.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc
|
||||
option.imap=IMAP \u30d7\u30ed\u30c8\u30b3\u30eb
|
||||
option.pop3=POP3 \u30d7\u30ed\u30c8\u30b3\u30eb
|
||||
# prompt.
|
||||
autoConnect=\u81ea\u52d5\u63a5\u7d9a
|
||||
fromAddress=From\u30a2\u30c9\u30ec\u30b9
|
||||
fullName=\u30d5\u30eb\u30cd\u30fc\u30e0
|
||||
mailHostname=\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0
|
||||
mailPassword=\u30e1\u30fc\u30eb\u30d1\u30b9\u30ef\u30fc\u30c9
|
||||
mailServerType=\u30b5\u30fc\u30d0\u30bf\u30a4\u30d7
|
||||
mailUsername=\u30e1\u30fc\u30eb\u30e6\u30fc\u30b6\u540d
|
||||
.password=\u30d1\u30b9\u30ef\u30fc\u30c9
|
||||
password2=\u30d1\u30b9\u30ef\u30fc\u30c9(\u78ba\u8a8d\u7528)
|
||||
replyToAddress=\u8fd4\u4fe1\u30a2\u30c9\u30ec\u30b9
|
||||
username=\u30e6\u30fc\u30b6\u540d
|
||||
registration.addSubscription=\u65b0\u898f\u4f5c\u6210
|
||||
registration.deleteSubscription=\u524a\u9664
|
||||
registration.editSubscription=\u7de8\u96c6
|
||||
registration.title.create=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e6\u30fc\u30b6\u767b\u9332
|
||||
registration.title.edit=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6
|
||||
subscription.title.create=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u65b0\u898f\u4f5c\u6210
|
||||
subscription.title.delete=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u524a\u9664
|
||||
subscription.title.edit=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u7de8\u96c6
|
||||
|
||||
# Standard error messages for validator framework checks
|
||||
errors.required=${getText(fieldName)} \u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
errors.minlength=${getText(fieldName)} \u306f {1} \u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.maxlength=${getText(fieldName)} \u306f {2} \u6587\u5b57\u4ee5\u4e0b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.invalid=${getText(fieldName)} \u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
errors.byte=${getText(fieldName)} \u306fbyte\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.short=${getText(fieldName)} \u306fshort\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.integer=${getText(fieldName)} \u306finteger\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.long=${getText(fieldName)} \u306flong\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.float=${getText(fieldName)} \u306ffloat\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.double=${getText(fieldName)} \u306fdouble\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.date=${getText(fieldName)} \u306f\u65e5\u4ed8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
errors.range=${getText(fieldName)} \u306f {1} \u304b\u3089 {2} \u306e\u9593\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
|
||||
errors.creditcard=${getText(fieldName)} \u306f\u6b63\u3057\u3044\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
errors.email=${getText(fieldName)} \u306f\u6b63\u3057\u3044\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
|
||||
@@ -1,89 +1,89 @@
|
||||
button.cancel=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c
|
||||
button.confirm=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c
|
||||
button.reset=\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c
|
||||
button.save=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c
|
||||
change.message=Your password has expired. Please ask the system administrator to change it.
|
||||
change.try=Try Again
|
||||
change.title=Password Has Expired
|
||||
database.load=\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0438\u0437 {0}
|
||||
error.database.missing=\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f - \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e.
|
||||
error.fromAddress.format=\u0412 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:' \u0443\u043a\u0430\u0437\u0430\u043d \u0430\u0434\u0440\u0435\u0441 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.
|
||||
error.fromAddress.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:'.
|
||||
error.fullName.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f.
|
||||
error.host.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440.
|
||||
error.noSubscription=\u041f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0432 \u0441\u0435\u0441\u0441\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
|
||||
error.password.expired=Your password has expired for username {0}
|
||||
error.password.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c.
|
||||
error.password2.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f.
|
||||
error.password.match=\u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442.
|
||||
error.password.mismatch=\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0438\u043c\u044f \u0438/\u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c - \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043d\u043e\u0432\u0430.
|
||||
error.replyToAddress.format=\u0412 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430:' \u0443\u043a\u0430\u0437\u0430\u043d \u0430\u0434\u0440\u0435\u0441 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.
|
||||
struts.messages.invalid.token=\u042d\u0442\u0430 \u0444\u043e\u0440\u043c\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 - \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.
|
||||
error.type.invalid=\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0438\u043f\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043b\u0438\u0448\u044c 'imap' \u0438\u043b\u0438 'pop3'
|
||||
error.type.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430
|
||||
error.username.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
|
||||
error.username.unique=\u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f - \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0434\u0440\u0443\u0433\u043e\u0435 \u0438\u043c\u044f.
|
||||
errors.footer=</ul><hr>
|
||||
errors.header=<h3><font color="red">\u041e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445</font></h3><p>\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435 \u043e\u0448\u0438\u0431\u043a\u0438:</p><ul>
|
||||
errors.prefix=<li>
|
||||
errors.suffix=</li>
|
||||
errors.ioException=\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445: {0}
|
||||
expired.password=User Password has expired for {0}
|
||||
heading.autoConnect=\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438
|
||||
heading.subscriptions=\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438
|
||||
heading.host=\u0421\u0435\u0440\u0432\u0435\u0440
|
||||
heading.user=\u0418\u043c\u044f
|
||||
heading.type=\u0422\u0438\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430
|
||||
heading.action=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435
|
||||
index.heading=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b'
|
||||
index.login=\u0412\u043e\u0439\u0442\u0438 \u043a\u0430\u043a \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c
|
||||
index.registration=\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f
|
||||
index.title=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b' (Struts 1.1-dev)
|
||||
index.tour=\u041e\u0431\u0437\u043e\u0440 \u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b'
|
||||
linkSubscription.io=\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u044b\u0432\u043e\u0434\u0430 (\u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438): {0}
|
||||
linkSubscription.noSubscription=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 {0} \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435 \u0438\u043b\u0438 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
|
||||
linkUser.io=\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u044b\u0432\u043e\u0434\u0430 (\u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f): {0}
|
||||
linkUser.noUser=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 {0} \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 \u0438\u043b\u0438 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
|
||||
login.title=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b - \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u0435\u043d\u0438 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f.
|
||||
mainMenu.heading=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e \u0434\u043b\u044f
|
||||
mainMenu.logout=\u0412\u044b\u0439\u0442\u0438
|
||||
mainMenu.registration=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438
|
||||
mainMenu.title=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b' - \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e
|
||||
option.imap=\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b IMAP
|
||||
option.pop3=\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b POP3
|
||||
# prompt.
|
||||
autoConnect=\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435:
|
||||
fromAddress=\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:
|
||||
fullName=\u041f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f:
|
||||
mailHostname=\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440:
|
||||
mailPassword=\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430:
|
||||
mailServerType=\u0422\u0438\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430:
|
||||
mailUsername=\u0418\u043c\u044f \u0434\u043b\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430:
|
||||
password=\u041f\u0430\u0440\u043e\u043b\u044c:
|
||||
password2=(\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435) \u041f\u0430\u0440\u043e\u043b\u044c:
|
||||
replyToAddress=\u0410\u0434\u0440\u0435\u0441 \u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430:
|
||||
username=\u0418\u043c\u044f:
|
||||
registration.addSubscription=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c
|
||||
registration.deleteSubscription=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
|
||||
registration.editSubscription=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c
|
||||
registration.title.create=\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f
|
||||
registration.title.edit=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438
|
||||
subscription.title.create=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443
|
||||
subscription.title.delete=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443
|
||||
subscription.title.edit=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443
|
||||
|
||||
# Standard error messages for validator framework checks
|
||||
errors.required=${getText(fieldName)} is required.
|
||||
errors.minlength=${getText(fieldName)} cannot be less than {1} characters.
|
||||
errors.maxlength=${getText(fieldName)} cannot be greater than {2} characters.
|
||||
errors.invalid=${getText(fieldName)} is invalid.
|
||||
errors.byte=${getText(fieldName)} must be an byte.
|
||||
errors.short=${getText(fieldName)} must be an short.
|
||||
errors.integer=${getText(fieldName)} must be an integer.
|
||||
errors.long=${getText(fieldName)} must be an long.
|
||||
errors.float=${getText(fieldName)} must be an float.
|
||||
errors.double=${getText(fieldName)} must be an double.
|
||||
errors.date=${getText(fieldName)} is not a date.
|
||||
errors.range=${getText(fieldName)} is not in the range {1} through {2}.
|
||||
errors.creditcard=${getText(fieldName)} is not a valid credit card number.
|
||||
errors.email=${getText(fieldName)} is an invalid e-mail address.
|
||||
button.cancel=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c
|
||||
button.confirm=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c
|
||||
button.reset=\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c
|
||||
button.save=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c
|
||||
change.message=Your password has expired. Please ask the system administrator to change it.
|
||||
change.try=Try Again
|
||||
change.title=Password Has Expired
|
||||
database.load=\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0438\u0437 {0}
|
||||
error.database.missing=\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f - \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e.
|
||||
error.fromAddress.format=\u0412 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:' \u0443\u043a\u0430\u0437\u0430\u043d \u0430\u0434\u0440\u0435\u0441 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.
|
||||
error.fromAddress.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:'.
|
||||
error.fullName.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f.
|
||||
error.host.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440.
|
||||
error.noSubscription=\u041f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0432 \u0441\u0435\u0441\u0441\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
|
||||
error.password.expired=Your password has expired for username {0}
|
||||
error.password.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c.
|
||||
error.password2.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f.
|
||||
error.password.match=\u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442.
|
||||
error.password.mismatch=\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0438\u043c\u044f \u0438/\u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c - \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043d\u043e\u0432\u0430.
|
||||
error.replyToAddress.format=\u0412 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430:' \u0443\u043a\u0430\u0437\u0430\u043d \u0430\u0434\u0440\u0435\u0441 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.
|
||||
struts.messages.invalid.token=\u042d\u0442\u0430 \u0444\u043e\u0440\u043c\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 - \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.
|
||||
error.type.invalid=\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0438\u043f\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043b\u0438\u0448\u044c 'imap' \u0438\u043b\u0438 'pop3'
|
||||
error.type.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430
|
||||
error.username.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
|
||||
error.username.unique=\u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f - \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0434\u0440\u0443\u0433\u043e\u0435 \u0438\u043c\u044f.
|
||||
errors.footer=</ul><hr>
|
||||
errors.header=<h3><font color="red">\u041e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445</font></h3><p>\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435 \u043e\u0448\u0438\u0431\u043a\u0438:</p><ul>
|
||||
errors.prefix=<li>
|
||||
errors.suffix=</li>
|
||||
errors.ioException=\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445: {0}
|
||||
expired.password=User Password has expired for {0}
|
||||
heading.autoConnect=\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438
|
||||
heading.subscriptions=\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438
|
||||
heading.host=\u0421\u0435\u0440\u0432\u0435\u0440
|
||||
heading.user=\u0418\u043c\u044f
|
||||
heading.type=\u0422\u0438\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430
|
||||
heading.action=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435
|
||||
index.heading=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b'
|
||||
index.login=\u0412\u043e\u0439\u0442\u0438 \u043a\u0430\u043a \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c
|
||||
index.registration=\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f
|
||||
index.title=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b' (Struts 1.1-dev)
|
||||
index.tour=\u041e\u0431\u0437\u043e\u0440 \u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b'
|
||||
linkSubscription.io=\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u044b\u0432\u043e\u0434\u0430 (\u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438): {0}
|
||||
linkSubscription.noSubscription=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 {0} \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435 \u0438\u043b\u0438 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
|
||||
linkUser.io=\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430/\u0432\u044b\u0432\u043e\u0434\u0430 (\u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f): {0}
|
||||
linkUser.noUser=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 {0} \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 \u0438\u043b\u0438 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
|
||||
login.title=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b - \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u0435\u043d\u0438 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f.
|
||||
mainMenu.heading=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e \u0434\u043b\u044f
|
||||
mainMenu.logout=\u0412\u044b\u0439\u0442\u0438
|
||||
mainMenu.registration=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438
|
||||
mainMenu.title=\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 '\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u044b' - \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e
|
||||
option.imap=\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b IMAP
|
||||
option.pop3=\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b POP3
|
||||
# prompt.
|
||||
autoConnect=\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435:
|
||||
fromAddress=\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:
|
||||
fullName=\u041f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f:
|
||||
mailHostname=\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440:
|
||||
mailPassword=\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430:
|
||||
mailServerType=\u0422\u0438\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430:
|
||||
mailUsername=\u0418\u043c\u044f \u0434\u043b\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430:
|
||||
password=\u041f\u0430\u0440\u043e\u043b\u044c:
|
||||
password2=(\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435) \u041f\u0430\u0440\u043e\u043b\u044c:
|
||||
replyToAddress=\u0410\u0434\u0440\u0435\u0441 \u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430:
|
||||
username=\u0418\u043c\u044f:
|
||||
registration.addSubscription=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c
|
||||
registration.deleteSubscription=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
|
||||
registration.editSubscription=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c
|
||||
registration.title.create=\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f
|
||||
registration.title.edit=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438
|
||||
subscription.title.create=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443
|
||||
subscription.title.delete=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443
|
||||
subscription.title.edit=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443
|
||||
|
||||
# Standard error messages for validator framework checks
|
||||
errors.required=${getText(fieldName)} is required.
|
||||
errors.minlength=${getText(fieldName)} cannot be less than {1} characters.
|
||||
errors.maxlength=${getText(fieldName)} cannot be greater than {2} characters.
|
||||
errors.invalid=${getText(fieldName)} is invalid.
|
||||
errors.byte=${getText(fieldName)} must be an byte.
|
||||
errors.short=${getText(fieldName)} must be an short.
|
||||
errors.integer=${getText(fieldName)} must be an integer.
|
||||
errors.long=${getText(fieldName)} must be an long.
|
||||
errors.float=${getText(fieldName)} must be an float.
|
||||
errors.double=${getText(fieldName)} must be an double.
|
||||
errors.date=${getText(fieldName)} is not a date.
|
||||
errors.range=${getText(fieldName)} is not in the range {1} through {2}.
|
||||
errors.creditcard=${getText(fieldName)} is not a valid credit card number.
|
||||
errors.email=${getText(fieldName)} is an invalid e-mail address.
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
|
||||
import org.apache.struts.apps.mailreader.dao.User;
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
|
||||
import com.opensymphony.xwork2.Preparable;
|
||||
@@ -137,7 +116,7 @@ public class Subscription extends MailreaderSupport
|
||||
}
|
||||
|
||||
if (hasErrors()) return INPUT;
|
||||
|
||||
|
||||
saveUser();
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package mailreader2;
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
struts.objectFactory = spring
|
||||
struts.devMode = false
|
||||
struts.action.extension = do
|
||||
struts.enable.DynamicMethodInvocation = false
|
||||
@@ -5,10 +5,7 @@
|
||||
|
||||
<struts>
|
||||
|
||||
<constant name="struts.action.extension" value="do" />
|
||||
<constant name="struts.devMode" value="false" />
|
||||
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
|
||||
<constant name="struts.objectFactory" value="spring" />
|
||||
<include file="struts-default.xml"/>
|
||||
|
||||
<include file="mailreader-default.xml"/>
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="<s:url action="Login_input"/>">
|
||||
<a href="<s:url action="Login!input"/>">
|
||||
<s:text name="change.try"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
|
||||
<s:actionerror />
|
||||
<s:form action="Login" validate="true">
|
||||
<s:textfield key="username" />
|
||||
<s:textfield label="%{getText('username')}" name="username"/>
|
||||
|
||||
<s:password key="password" showPassword="true"/>
|
||||
<s:password label="%{getText('password')}" name="password" showPassword="true"/>
|
||||
|
||||
<s:submit key="button.save"/>
|
||||
<s:submit value="%{getText('button.save')}"/>
|
||||
|
||||
<s:reset key="button.reset"/>
|
||||
<s:reset value="%{getText('button.reset')}"/>
|
||||
|
||||
<s:submit action="Login_cancel" key="button.cancel"
|
||||
<s:submit action="Login!cancel" value="%{getText('button.cancel')}"
|
||||
onclick="form.onsubmit=null"/>
|
||||
</s:form>
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<h3><s:text name="mainMenu.heading"/> <s:property
|
||||
value="user.fullName"/></h3>
|
||||
<ul>
|
||||
<li><a href="<s:url action="Registration_input" />">
|
||||
<li><a href="<s:url action="Registration!input" />">
|
||||
<s:text name="mainMenu.registration"/>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -14,36 +14,47 @@
|
||||
type="text/css"/>
|
||||
</head>
|
||||
|
||||
<body onLoad="self.focus();document.Registration_save_username.focus()">
|
||||
<body onLoad="self.focus();document.Registration.username.focus()">
|
||||
|
||||
<s:actionerror/>
|
||||
<s:form action="Registration_save" validate="false">
|
||||
<s:form action="Registration!save" validate="false">
|
||||
<s:token />
|
||||
<s:hidden name="task"/>
|
||||
<s:if test="task == 'Create'">
|
||||
<s:textfield key="username"/>
|
||||
<s:textfield label="%{getText('username')}" name="username"/>
|
||||
</s:if>
|
||||
<s:else>
|
||||
<s:label key="username"/>
|
||||
<s:label label="%{getText('username')}" name="username"/>
|
||||
<s:hidden name="username"/>
|
||||
</s:else>
|
||||
|
||||
<s:password key="password"/>
|
||||
<s:password key="password2"/>
|
||||
<s:textfield key="user.fullName"/>
|
||||
<s:textfield key="user.fromAddress"/>
|
||||
<s:textfield key="user.replyToAddress"/>
|
||||
<s:password label="%{getText('password')}" name="password"/>
|
||||
|
||||
<s:password label="%{getText('password2')}" name="password2"/>
|
||||
|
||||
<s:textfield label="%{getText('fullName')}"
|
||||
name="user.fullName"/>
|
||||
|
||||
<s:textfield label="%{getText('fromAddress')}"
|
||||
name="user.fromAddress"/>
|
||||
|
||||
<s:textfield label="%{getText('replyToAddress')}"
|
||||
name="user.replyToAddress"/>
|
||||
|
||||
<s:if test="task == 'Create'">
|
||||
<s:submit key="button.save" action="Registration_save"/>
|
||||
<s:reset key="button.reset"/>
|
||||
<s:submit action="Welcome" key="button.cancel"
|
||||
<s:submit value="%{getText('button.save')}" action="Registration!save"/>
|
||||
|
||||
<s:reset value="%{getText('button.reset')}"/>
|
||||
|
||||
<s:submit action="Welcome" value="%{getText('button.cancel')}"
|
||||
onclick="form.onsubmit=null"/>
|
||||
</s:if>
|
||||
<s:else>
|
||||
<s:submit key="button.save" action="Registration"/>
|
||||
<s:reset key="button.reset"/>
|
||||
<s:submit action="MainMenu" key="button.cancel"
|
||||
<s:submit value="%{getText('button.save')}" action="Registration"/>
|
||||
|
||||
<s:reset value="%{getText('button.reset')}"/>
|
||||
|
||||
<s:submit action="MainMenu" value="%{getText('button.cancel')}"
|
||||
onclick="form.onsubmit=null"/>
|
||||
</s:else>
|
||||
|
||||
@@ -90,11 +101,11 @@
|
||||
</td>
|
||||
<td align="center">
|
||||
|
||||
<a href="<s:url action="Subscription_delete"><s:param name="host" value="host"/></s:url>">
|
||||
<a href="<s:url action="Subscription!delete"><s:param name="host" value="host"/></s:url>">
|
||||
<s:text name="registration.deleteSubscription"/>
|
||||
</a>
|
||||
|
||||
<a href="<s:url action="Subscription_edit"><s:param name="host" value="host"/></s:url>">
|
||||
<a href="<s:url action="Subscription!edit"><s:param name="host" value="host"/></s:url>">
|
||||
<s:text name="registration.editSubscription"/>
|
||||
</a>
|
||||
|
||||
@@ -104,7 +115,7 @@
|
||||
|
||||
</table>
|
||||
|
||||
<a href="<s:url action="Subscription_input"/>"><s:text
|
||||
<a href="<s:url action="Subscription!input"/>"><s:text
|
||||
name="registration.addSubscription"/></a>
|
||||
|
||||
</s:if>
|
||||
|
||||
@@ -20,37 +20,45 @@
|
||||
<body onLoad="self.focus();document.Subscription.username.focus()">
|
||||
|
||||
<s:actionerror/>
|
||||
<s:form action="Subscription_save" validate="true">
|
||||
<s:form action="Subscription!save" validate="true">
|
||||
<s:token />
|
||||
<s:hidden name="task"/>
|
||||
<s:label key="username" name="user.username"/>
|
||||
<s:label label="%{getText('username')}" name="user.username"/>
|
||||
|
||||
<s:if test="task == 'Create'">
|
||||
<s:textfield key="host"/>
|
||||
<s:textfield label="%{getText('mailHostname')}" name="host"/>
|
||||
</s:if>
|
||||
<s:else>
|
||||
<s:label key="host"/>
|
||||
<s:label label="%{getText('mailHostname')}" name="host"/>
|
||||
<s:hidden name="host"/>
|
||||
</s:else>
|
||||
|
||||
<s:if test="task == 'Delete'">
|
||||
<s:label key="subscription.username"/>
|
||||
<s:label key="subscription.password"/>
|
||||
<s:label key="subscription.type"/>
|
||||
<s:label key="subscription.autoConnect"/>
|
||||
<s:submit key="button.confirm"/>
|
||||
<s:label label="%{getText('mailUsername')}"
|
||||
name="subscription.username"/>
|
||||
<s:label label="%{getText('mailPassword')}"
|
||||
name="subscription.password"/>
|
||||
<s:label label="%{getText('mailServerType')}"
|
||||
name="subscription.type"/>
|
||||
<s:label label="%{getText('autoConnect')}"
|
||||
name="subscription.autoConnect"/>
|
||||
<s:submit value="%{getText('button.confirm')}"/>
|
||||
</s:if>
|
||||
<s:else>
|
||||
<s:textfield key="subscription.username"/>
|
||||
<s:textfield key="subscription.password"/>
|
||||
<s:select key="subscription.type" list="types"/>
|
||||
<s:checkbox key="subscription.autoConnect"/>
|
||||
<s:submit key="button.save"/>
|
||||
<s:reset key="button.reset"/>
|
||||
<s:textfield label="%{getText('mailUsername')}"
|
||||
name="subscription.username"/>
|
||||
<s:textfield label="%{getText('mailPassword')}"
|
||||
name="subscription.password"/>
|
||||
<s:select label="%{getText('mailServerType')}"
|
||||
name="subscription.type" list="types"/>
|
||||
<s:checkbox label="%{getText('autoConnect')}"
|
||||
name="subscription.autoConnect"/>
|
||||
<s:submit value="%{getText('button.save')}"/>
|
||||
<s:reset value="%{getText('button.reset')}"/>
|
||||
</s:else>
|
||||
|
||||
<s:submit action="Registration_input"
|
||||
key="button.cancel"
|
||||
<s:submit action="Registration!input"
|
||||
value="%{getText('button.cancel')}"
|
||||
onclick="form.onsubmit=null"/>
|
||||
</s:form>
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
<h3><s:text name="index.heading"/></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="<s:url action="Registration_input"/>"><s:text
|
||||
<li><a href="<s:url action="Registration!input"/>"><s:text
|
||||
name="index.registration"/></a></li>
|
||||
<li><a href="<s:url action="Login_input"/>"><s:text
|
||||
<li><a href="<s:url action="Login!input"/>"><s:text
|
||||
name="index.login"/></a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
|
||||
<p>
|
||||
<i>
|
||||
This article is meant to introduce a new user to Apache Struts 2 by
|
||||
This article is meant to introduce a new user to Apache Struts 2 by
|
||||
"walking through" a simple, but functional, application.
|
||||
The article includes code snippets, but for the best result, you might
|
||||
want to install the MailReader application on your own development
|
||||
The article includes code snippets, but for the best result, you might
|
||||
want to install the MailReader application on your own development
|
||||
workstation and follow along.
|
||||
Of course, the full source code to the MailReader is included in the
|
||||
Of course, the full source code to the MailReader is included in the
|
||||
distribution.
|
||||
</i>
|
||||
</p>
|
||||
@@ -28,7 +28,7 @@
|
||||
<p>
|
||||
<i>
|
||||
The tour assumes the reader has a basic understanding of the Java
|
||||
language, JavaBeans, web applications, and JavaServer Pages. For
|
||||
language, JavaBeans, web applications, and JavaServer Pages. For
|
||||
background on these technologies, see the
|
||||
<a href="http://struts.apache.org/primer.html">
|
||||
Key Technologies Primer</a>.
|
||||
@@ -215,7 +215,7 @@
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
You might note that the web.xml configuration does not specify which file extension
|
||||
You might note taht the web.xml configuration does not specify which file extension
|
||||
to use with actions.
|
||||
The default extension for Struts 2 is ".action",
|
||||
but the extension can be changed in the struts.properties file.
|
||||
@@ -255,10 +255,10 @@
|
||||
<p>
|
||||
The actions are listed in one or more XML configuration files,
|
||||
the default configuration file being named "struts.xml".
|
||||
When the application loads, the struts.xml, and any other files
|
||||
it includes, are parsed, and the framework creates a set of
|
||||
configuration objects.
|
||||
Among other things, the configuration maps a request for a certain
|
||||
When the application loads, the struts.xml, and any other files
|
||||
it includes, are parsed, and the framework creates a set of
|
||||
configuration objects.
|
||||
Among other things, the configuration maps a request for a certain
|
||||
page to a certain action mapping.
|
||||
</p>
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
<p>
|
||||
When the client requests "Welcome.do", the request is passed to the "struts2"
|
||||
FilterDispatcher (that we registered in the web.xml file).
|
||||
The FilterDispatcher retrieves the appropriate action mapping from the
|
||||
The FilterDispatcher retrieves the appropriate action mapping from the
|
||||
configuration.
|
||||
If we just wanted to forward to the Welcome page, we could use a simple
|
||||
configuration element.
|
||||
@@ -367,8 +367,8 @@
|
||||
<blockquote>
|
||||
<p>
|
||||
The Struts configuration lets us separate concerns and "say it once".
|
||||
The configuration helps us "normalize" an application,
|
||||
in much the same way we normalize a database schema.
|
||||
The configuration helps us "normalize" an application,
|
||||
in much the same way we normalize a database schema.
|
||||
</p>
|
||||
</blockquote>
|
||||
<hr/>
|
||||
@@ -429,7 +429,7 @@ public class Welcome extends MailreaderSupport {
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
Several common result names are predefined,
|
||||
Several common result names are predefined,
|
||||
including ERROR, SUCCESS, LOGIN, NONE, and INPUT,
|
||||
so that these tokens can be used consistently across Struts 2 applications.
|
||||
</p>
|
||||
@@ -450,7 +450,7 @@ public class Welcome extends MailreaderSupport {
|
||||
<pre><code> <global-results>
|
||||
<result name=<strong>"error"</strong>><strong>/pages/Error.jsp</strong></result>
|
||||
<result name="invalid.token">/pages/Error.jsp</result>
|
||||
<result name="login" type="redirect-action">Login_input</result>
|
||||
<result name="login" type="redirect-action">Login!input</result>
|
||||
</global-results></code></pre>
|
||||
<hr/>
|
||||
|
||||
@@ -541,7 +541,7 @@ public class Welcome extends MailreaderSupport {
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
If you change a message in the resource, and then rebuild and reload the
|
||||
If you change a message in the resource, and then rebuild and reload the
|
||||
application, the change will appear throughout the application.
|
||||
If you provide message resources for additional locales, you can
|
||||
localize your application.
|
||||
@@ -572,9 +572,9 @@ public class Welcome extends MailreaderSupport {
|
||||
<h3><s:text name="index.heading"/></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="<s:url action="Registration_input"/>"><s:text
|
||||
<li><a href="<s:url action="Registration!input"/>"><s:text
|
||||
name="index.registration"/></a></li>
|
||||
<li><a href="<s:url action="Login_input"/>"><s:text
|
||||
<li><a href="<s:url action="Login!input"/>"><s:text
|
||||
name="index.login"/></a></li>
|
||||
</ul>
|
||||
|
||||
@@ -729,12 +729,12 @@ public class Welcome extends MailreaderSupport {
|
||||
<body onLoad="self.focus();document.Login.username.focus()">
|
||||
<strong><s:actionerror/></strong>
|
||||
<strong><s:form action="Login" validate="true"></strong>
|
||||
<strong><s:textfield key="username"/></strong>
|
||||
<strong><s:password key="password"/></strong>
|
||||
<strong><s:submit key="button.save"/></strong>
|
||||
<strong><s:reset key="button.reset"/></strong>
|
||||
<s:submit <strong>action="Login_cancel" onclick="form.onsubmit=null"</strong>
|
||||
key="button.cancel"/>
|
||||
<strong><s:textfield label="%{getText('username')}" name="username"/></strong>
|
||||
<strong><s:password label="%{getText('password')}" name="password"/></strong>
|
||||
<strong><s:submit value="%{getText('button.save')}"/></strong>
|
||||
<strong><s:reset value="%{getText('button.reset')}"/></strong>
|
||||
<s:submit <strong>action="Login!cancel" onclick="form.onsubmit=null"</strong>
|
||||
value="%{getText('button.cancel')}"/>
|
||||
</s:form>
|
||||
<jsp:include page="Footer.jsp"/>
|
||||
</body>
|
||||
@@ -793,7 +793,7 @@ public class Welcome extends MailreaderSupport {
|
||||
</p>
|
||||
|
||||
<pre><code>
|
||||
<s:<strong>textfield</strong> key="username"/>
|
||||
<s:<strong>textfield</strong> label="%{getText('username')}" name="username"/>
|
||||
</code></pre>
|
||||
|
||||
<p>
|
||||
@@ -875,13 +875,13 @@ public class Welcome extends MailreaderSupport {
|
||||
The second submit button is more interesting.
|
||||
</p>
|
||||
|
||||
<pre><code> <s:submit <strong>action="Login_cancel" onclick="form.onsubmit=null"</strong>
|
||||
key="button.cancel"/>
|
||||
<pre><code> <s:submit <strong>action="Login!cancel" onclick="form.onsubmit=null"</strong>
|
||||
value="%{getText('button.cancel')}"/>
|
||||
</code></pre>
|
||||
|
||||
<p>
|
||||
Here we are creating the Cancel button for the form.
|
||||
The button's attribute <em>action="Login<strong>_</strong>cancel"</em>
|
||||
The button's attribute <em>action="Login<strong>!</strong>cancel"</em>
|
||||
tells the framework to submit to the Login's "cancel" method
|
||||
instead of the usual "execute" method.
|
||||
The <em>onclick="form.onsubmit=null"</em> script defeats client-side validation.
|
||||
@@ -944,12 +944,12 @@ public class Welcome extends MailreaderSupport {
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
You may note that the DTD refers to "XWork".
|
||||
You may note that the DTD refers to "XWork".
|
||||
<a href="http://www.opensymphony.com/xwork/">
|
||||
Open Symphony XWork
|
||||
</a> is a generic command-pattern framework that can be used outside of a
|
||||
web environment. Essentially, Struts 2 is a web-based extension of the
|
||||
XWork framework.
|
||||
</a> is a generic command-pattern framework that can be used outside of a
|
||||
web environment. In practice, Struts 2 is a web-based extension of the
|
||||
XWork framework.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -959,7 +959,7 @@ public class Welcome extends MailreaderSupport {
|
||||
If the username is blank or absent, validation will fail and an error
|
||||
message is generated.
|
||||
The messages would be based on the "error.username.required" or
|
||||
"error.password.required" message templates from the resource bundle.
|
||||
"error.password.required" message templates, from the resource bundle.
|
||||
</p>
|
||||
|
||||
<!--
|
||||
@@ -1014,7 +1014,7 @@ public String <strong>execute()</strong> throws ExpiredPasswordException {
|
||||
|
||||
<p>
|
||||
Let's look at the relevant properties and methods from MailreaderSupport
|
||||
and another base class, <strong>ActionSupport</strong>, namely
|
||||
and another base class, <strong>ActionSupport</strong>, namely
|
||||
"getUsername", "getPassword", "findUser", "setUser", and "hasErrors".
|
||||
</p>
|
||||
|
||||
@@ -1101,7 +1101,7 @@ public void setPassword(String password) {
|
||||
When "findUser" returns,
|
||||
the Login Action looks to see if a valid (non-null) User object is returned.
|
||||
A valid User is passed to the <strong>User property</strong>.
|
||||
Although it is still a JavaBean property,
|
||||
Although it is still a JavaBean property,
|
||||
the User property is not implemented in quite the same way as Username and Password.
|
||||
</p>
|
||||
|
||||
@@ -1262,7 +1262,7 @@ public void <strong>setSession(Map value)</strong> {
|
||||
|
||||
<hr/>
|
||||
<h5>mailreader-support.xml Login</h5>
|
||||
<pre><code><action name="<strong>Login_*</strong>" method="{1}" class="mailreader2.Login">
|
||||
<pre><code><action name="<strong>Login!*</strong>" method="{1}" class="mailreader2.Login">
|
||||
<result name="<strong>input</strong>">/pages/Login.jsp</result>
|
||||
<result name="<strong>cancel</strong>" type="redirect-action">Welcome</result>
|
||||
<result type="redirect-action">MainMenu</result>
|
||||
@@ -1276,13 +1276,13 @@ public void <strong>setSession(Map value)</strong> {
|
||||
|
||||
<p>
|
||||
You might notice that the name of the Login action element is not "Login"
|
||||
but "Login<strong>_*</strong>".
|
||||
but "Login<strong>!*</strong>".
|
||||
The asterisk is a special "wildcard" notation that tells the framework to match any series
|
||||
of character at this point.
|
||||
In the method attribute,
|
||||
the "{1}" notation indicates that framework should substitute whatever characters match
|
||||
the asterisk at runtime.
|
||||
When we cite actions like "Login_cancel" or "Login_input",
|
||||
When we cite actions like "Login!cancel" or "Login!input",
|
||||
the framework matches "cancel" or "input" with the wildcard and fills in the blanks.
|
||||
</p>
|
||||
|
||||
@@ -1310,7 +1310,7 @@ public void <strong>setSession(Map value)</strong> {
|
||||
<p>
|
||||
Within the Login action element, the first result element is named "input".
|
||||
If validation or authentification fail,
|
||||
the Action class will return "input" and the framework will transfer control to the
|
||||
the Action class will return "input" and the framework will transfer control to the
|
||||
"Login.jsp" page.
|
||||
</p>
|
||||
|
||||
@@ -1473,7 +1473,7 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
The <strong>user</strong> stacks require that the client be authenticated.
|
||||
The <strong>user</strong> stacks require that the client be authenticated.
|
||||
In other words, that a User object is present in the session.
|
||||
The actions using a <strong>guest</strong> stack can be accessed by any client.
|
||||
The <strong>-submit</strong> versions of each can be used with actions
|
||||
@@ -1483,7 +1483,7 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
<h5>Double Submits</h5>
|
||||
|
||||
<p>
|
||||
A common problem with designing web applications is that users are impatient
|
||||
A common problem with designing web applications is that users are impatient
|
||||
and response times can vary.
|
||||
Sometimes, people will press a submit button a second time.
|
||||
When this happens, the browser submits the request again,
|
||||
@@ -1518,11 +1518,11 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
|
||||
<p>
|
||||
Because the default interceptor stack will now authenticate the client,
|
||||
we need to specify the standard "defaultStack" for the three
|
||||
we need to specify the standard "defaultStack" for the three
|
||||
"guest actions", Welcome, Login, and Register.
|
||||
Requiring authentification by default is the better practice, since it
|
||||
means that we won't forget to enable it when creating new actions.
|
||||
Meanwhile, those pesky users will ensure that we don't forget to disable
|
||||
Requiring authentification by default is the better practice, since it
|
||||
means that we won't forget to enable it when creating new actions.
|
||||
Meanwhile, those pesky users will ensure that we don't forget to disable
|
||||
authentification for "guest" services.
|
||||
</p>
|
||||
|
||||
@@ -1571,7 +1571,7 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
<h3><s:text name="mainMenu.heading"/> <strong><s:property
|
||||
value="user.fullName"/></strong></h3>
|
||||
<ul>
|
||||
<li><a href="<s:url <strong>action="Registration_input"</strong> />">
|
||||
<li><a href="<s:url <strong>action="Registration!input"</strong> />">
|
||||
<s:text name="mainMenu.registration"/>
|
||||
</a>
|
||||
</li>
|
||||
@@ -1654,7 +1654,7 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
The "test" tag is a convenient way to express presentation
|
||||
logic within your pages.
|
||||
Customized pages help to prevent user error,
|
||||
and dynamic customization reduces the number of server pages your
|
||||
and dynamic customization reduces the number of server pages your
|
||||
application needs to maintain, among other benefits.
|
||||
</font></p>
|
||||
</blockquote>
|
||||
@@ -1718,10 +1718,10 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
<s:property value="<strong>autoConnect</strong>"/>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="<s:url action="<strong>Subscription_delete</strong>"><s:param name="<strong>host</strong>" value="host"/></s:url>">
|
||||
<a href="<s:url action="<strong>Subscription!delete</strong>"><s:param name="<strong>host</strong>" value="host"/></s:url>">
|
||||
<s:text name="registration.deleteSubscription"/>
|
||||
</a>
|
||||
<a href="<s:url action="<strong>Subscription_edit</strong>"><s:param name="<strong>host</strong>" value="host"/></s:url>">
|
||||
<a href="<s:url action="<strong>Subscription!edit</strong>"><s:param name="<strong>host</strong>" value="host"/></s:url>">
|
||||
<s:text name="registration.editSubscription"/>
|
||||
</a>
|
||||
</td>
|
||||
@@ -1773,11 +1773,11 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
false
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="/struts2-mailreader/Subscription_delete.do?host=mail.hotmail.com">
|
||||
<a href="/struts2-mailreader/Subscription!delete.do?host=mail.hotmail.com">
|
||||
Delete
|
||||
</a>
|
||||
|
||||
<a href="/struts2-mailreader/Subscription_edit.do?host=mail.hotmail.com">
|
||||
<a href="/struts2-mailreader/Subscription!edit.do?host=mail.hotmail.com">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
@@ -1796,17 +1796,17 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
false
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="/struts2-mailreader/Subscription_delete.do?host=mail.yahoo.com">
|
||||
<a href="/struts2-mailreader/Subscription!delete.do?host=mail.yahoo.com">
|
||||
Delete
|
||||
</a>
|
||||
|
||||
<a href="/struts2-mailreader/Subscription_edit.do?host=mail.yahoo.com">
|
||||
<a href="/struts2-mailreader/Subscription!edit.do?host=mail.yahoo.com">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<a href="/struts2-mailreader/Subscription_input.do">Add</a>
|
||||
<a href="/struts2-mailreader/Subscription!input.do">Add</a>
|
||||
|
||||
<hr />
|
||||
|
||||
@@ -1892,7 +1892,7 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
the value for the field is pushed onto the value stack.
|
||||
As a result, if the client enters text into an Integer field,
|
||||
the framework can still redisplay whatever was entered.
|
||||
An invalid input value is not stored in the field (even if it could be).
|
||||
An invalid input value is not stored in the field (even if it could be).
|
||||
The invalid input is pushed onto the stack for the scope of the request.
|
||||
</p>
|
||||
|
||||
@@ -1928,7 +1928,7 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
</p>
|
||||
|
||||
<pre><code>
|
||||
<s:url action="Subscription_edit"><s:param name="<strong>host" value="host</strong>"/></s:url>">
|
||||
<s:url action="Subscription!edit"><s:param name="<strong>host" value="host</strong>"/></s:url>">
|
||||
</code></pre>
|
||||
|
||||
<p>
|
||||
@@ -1936,7 +1936,7 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
</p>
|
||||
|
||||
<pre><code>
|
||||
<a href="/struts2-mailreader/Subscription_edit.do?<strong>host=mail.yahoo.com</strong>">Edit</a>
|
||||
<a href="/struts2-mailreader/Subscription!edit.do?<strong>host=mail.yahoo.com</strong>">Edit</a>
|
||||
</code></pre>
|
||||
|
||||
<!--
|
||||
@@ -1967,16 +1967,16 @@ public class <strong>AuthenticationInterceptor</strong> implements Interceptor {
|
||||
|
||||
<hr />
|
||||
<h5>mailreader-support.xml Subscription element</h5>
|
||||
<pre><code><action name="Subscription_*" method="{1}" class="mailreader2.Subscription">
|
||||
<pre><code><action name="Subscription!*" method="{1}" class="mailreader2.Subscription">
|
||||
<result name="input">/pages/Subscription.jsp</result>
|
||||
<result type="redirect-action">Registration_input</result>
|
||||
<result type="redirect-action">Registration!input</result>
|
||||
</action></code></pre>
|
||||
<hr />
|
||||
|
||||
<p>
|
||||
The Edit link specified the Subscription action,
|
||||
but also includes the qualifier <strong>_edit</strong>.
|
||||
The wildcard notation tells the framework to use any characters given after "Subscription_"
|
||||
but also includes the qualifier <strong>!edit</strong>.
|
||||
The wildcard notation tells the framework to use any characters given after "Subscription!"
|
||||
as the name of a method to invoke on the Action class,
|
||||
instead of the default execute method.
|
||||
The "alternate" execute methods are called <strong>alias</strong> methods.
|
||||
@@ -2076,7 +2076,7 @@ public Subscription findSubscription(String host) {
|
||||
|
||||
<p>
|
||||
By keeping routine safety precautions out of the Action class,
|
||||
the all-important Action becomes smaller and easier to maintain.
|
||||
the all-important Actions becomes smaller and easier to maintain.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -2107,37 +2107,45 @@ public Subscription findSubscription(String host) {
|
||||
<body onLoad="self.focus();document.Subscription.username.focus()">
|
||||
|
||||
<s:actionerror/>
|
||||
<s:form <strong>action="Subscription_save"</strong> validate="true">
|
||||
<s:form <strong>action="Subscription!save"</strong> validate="true">
|
||||
<strong><s:token /></strong>
|
||||
<strong><s:hidden name="task"/></strong>
|
||||
<strong><s:label key="username" name="user.username"/></strong>
|
||||
<strong><s:label label="%{getText('username')}" name="user.username"/></strong>
|
||||
|
||||
<s:if test="task == 'Create'">
|
||||
<s:textfield key="mailHostname" name="host"/>
|
||||
<s:textfield label="%{getText('mailHostname')}" name="host"/>
|
||||
</s:if>
|
||||
<s:else>
|
||||
<s:label key="mailHostname" name="host"/>
|
||||
<s:label label="%{getText('mailHostname')}" name="host"/>
|
||||
<s:hidden name="host"/>
|
||||
</s:else>
|
||||
|
||||
<s:if test="task == 'Delete'">
|
||||
<s:label key="subscription.username"/>
|
||||
<s:label key="subscription.password"/>
|
||||
<s:label key="subscription.type"/>
|
||||
<s:label key="subscription.autoConnect"/>
|
||||
<s:submit key="button.confirm"/>
|
||||
<s:label label="%{getText('mailUsername')}"
|
||||
name="subscription.username"/>
|
||||
<s:label label="%{getText('mailPassword')}"
|
||||
name="subscription.password"/>
|
||||
<s:label label="%{getText('mailServerType')}"
|
||||
name="subscription.type"/>
|
||||
<s:label label="%{getText('autoConnect')}"
|
||||
name="subscription.autoConnect"/>
|
||||
<s:submit value="%{getText('button.confirm')}"/>
|
||||
</s:if>
|
||||
<s:else>
|
||||
<s:textfield key="subscription.username"/>
|
||||
<s:textfield key="subscription.password"/>
|
||||
<strong><s:select key="subscription.type" list="types"/></strong>
|
||||
<strong><s:checkbox key="subscription.autoConnect"/></strong>
|
||||
<s:submit key="button.save"/>
|
||||
<s:reset key="button.reset"/>
|
||||
<s:textfield label="%{getText('mailUsername')}"
|
||||
name="subscription.username"/>
|
||||
<s:textfield label="%{getText('mailPassword')}"
|
||||
name="subscription.password"/>
|
||||
<strong><s:select label="%{getText('mailServerType')}"
|
||||
name="subscription.type" list="types"/></strong>
|
||||
<strong><s:checkbox label="%{getText('autoConnect')}"
|
||||
name="subscription.autoConnect"/></strong>
|
||||
<s:submit value="%{getText('button.save')}"/>
|
||||
<s:reset value="%{getText('button.reset')}"/>
|
||||
</s:else>
|
||||
|
||||
<s:submit action="Registration_input"
|
||||
key="button.cancel"
|
||||
<s:submit action="Registration!input"
|
||||
value="%{getText('button.cancel')}"
|
||||
onclick="form.onsubmit=null"/>
|
||||
</s:form>
|
||||
|
||||
@@ -2161,7 +2169,7 @@ public Subscription findSubscription(String host) {
|
||||
<p>
|
||||
The <strong>hidden</strong> tag embeds the Task property into the form.
|
||||
When the form is submitted,
|
||||
the Subscription_save action will use the Task property to decide
|
||||
the Subscription!save action will use the Task property to decide
|
||||
whether to insert or update the form.
|
||||
</p>
|
||||
|
||||
@@ -2184,7 +2192,8 @@ public Subscription findSubscription(String host) {
|
||||
but the tag does so without requiring a lot of markup or redtape.
|
||||
</p>
|
||||
|
||||
<pre><code><s:select key="subscription.type" <strong>list="types"</strong> />
|
||||
<pre><code><s:select label="%{getText('mailServerType')}"
|
||||
name="subscription.type" <strong>list="types"</strong> />
|
||||
</code></pre>
|
||||
|
||||
<p>
|
||||
@@ -2277,13 +2286,13 @@ public Subscription findSubscription(String host) {
|
||||
|
||||
<p>
|
||||
If we press the SAVE button,
|
||||
the form will be submitted to the Subscription_save action.
|
||||
the form will be submitted to the Subscription!save action.
|
||||
Since the save method needs some additional validation,
|
||||
we can add a validation file.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
<h5>Subscription-Subscription_save-validation.xml</h5>
|
||||
<h5>Subscription-Subscription!save-validation.xml</h5>
|
||||
<pre><code><!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
|
||||
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
|
||||
<validators>
|
||||
@@ -2298,7 +2307,7 @@ public Subscription findSubscription(String host) {
|
||||
<p>
|
||||
The validators follow the same type of inheritance path as the classes.
|
||||
SubscriptionSave extends Subscription,
|
||||
so when Subscription_save is validated,
|
||||
so when Subscription!save is validated,
|
||||
the Host property specified by "Subscription-validation.xml" will also be required.
|
||||
</p>
|
||||
|
||||
@@ -2424,14 +2433,14 @@ public Subscription findSubscription(String host) {
|
||||
|
||||
<global-results>
|
||||
<result name="input">/Subscription.jsp</result>
|
||||
<result type="redirect-action">Registration_input</result>
|
||||
<result type="redirect-action">Registration!input</result>
|
||||
</global-results>
|
||||
|
||||
<action name="Subscription_save" method="save" class="mailreader2.Subscription">
|
||||
<action name="Subscription!save" method="save" class="mailreader2.Subscription">
|
||||
<interceptor-ref name="user-submit" />
|
||||
</action>
|
||||
|
||||
<action name="Subscription_*" method="{1}" class="mailreader2.Subscription" />
|
||||
<action name="Subscription!*" method="{1}" class="mailreader2.Subscription" />
|
||||
|
||||
</package>
|
||||
|
||||
@@ -2465,6 +2474,6 @@ public Subscription findSubscription(String host) {
|
||||
<p>
|
||||
Enjoy!
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+27
-28
@@ -1,31 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
/*
|
||||
* Copyright 2005-2006 The Apache Software Foundation.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.0.3</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
@@ -38,12 +18,6 @@
|
||||
<module>showcase</module>
|
||||
</modules>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/</url>
|
||||
</scm>
|
||||
|
||||
<distributionManagement>
|
||||
<site>
|
||||
<id>apache-site</id>
|
||||
@@ -186,10 +160,35 @@
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Spring -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-beans</artifactId>
|
||||
<version>1.2.8</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-core</artifactId>
|
||||
<version>1.2.8</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
<version>1.2.8</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-web</artifactId>
|
||||
<version>1.2.8</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-mock</artifactId>
|
||||
<version>2.0.1</version>
|
||||
<version>1.2.8</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
+1
-35
@@ -5,19 +5,12 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.3</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-portlet</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<name>Portlet Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/portlet/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/portlet/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/portlet/</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>portlet-api</groupId>
|
||||
@@ -25,33 +18,6 @@
|
||||
<version>1.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-spring-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-core</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>velocity</groupId>
|
||||
<artifactId>velocity</artifactId>
|
||||
<version>1.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>velocity-tools</groupId>
|
||||
<artifactId>velocity-tools</artifactId>
|
||||
<version>1.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-digester</groupId>
|
||||
<artifactId>commons-digester</artifactId>
|
||||
<version>1.8</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example;
|
||||
|
||||
@@ -26,13 +23,13 @@ import com.opensymphony.xwork2.ActionContext;
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
public class ExampleAction extends ActionSupport {
|
||||
|
||||
|
||||
private String name = "PortletWork Example";
|
||||
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
public Map getRenderParameters() {
|
||||
return ActionContext.getContext().getParameters();
|
||||
}
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example;
|
||||
|
||||
@@ -25,7 +22,7 @@ import com.opensymphony.xwork2.ActionSupport;
|
||||
/**
|
||||
*/
|
||||
public class FormExample extends ActionSupport {
|
||||
|
||||
|
||||
String firstName = null;
|
||||
String lastName = null;
|
||||
public String execute() throws Exception {
|
||||
|
||||
+13
-16
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example;
|
||||
|
||||
@@ -27,11 +24,11 @@ import com.opensymphony.xwork2.ActionSupport;
|
||||
public class FormExampleWithValidation extends ActionSupport {
|
||||
private String firstName = null;
|
||||
private String lastName = null;
|
||||
|
||||
|
||||
public String input() {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
+13
-16
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example;
|
||||
|
||||
@@ -33,14 +30,14 @@ import com.opensymphony.xwork2.ActionSupport;
|
||||
public class FormResultAction extends ActionSupport {
|
||||
|
||||
private String result = null;
|
||||
|
||||
|
||||
public String getResult() {
|
||||
return result;
|
||||
}
|
||||
public void setResult(String result) {
|
||||
this.result = result;
|
||||
}
|
||||
|
||||
|
||||
public Collection getRenderParams() {
|
||||
RenderRequest req = PortletActionContext.getRenderRequest();
|
||||
Map params = req.getParameterMap();
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example;
|
||||
|
||||
|
||||
+13
-16
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example;
|
||||
|
||||
@@ -43,7 +40,7 @@ public class SavePrefsAction extends ActionSupport {
|
||||
public void setPreferenceTwo(String preferenceTwo) {
|
||||
this.preferenceTwo = preferenceTwo;
|
||||
}
|
||||
|
||||
|
||||
public String execute() throws Exception {
|
||||
ActionRequest req = PortletActionContext.getActionRequest();
|
||||
PortletPreferences prefs = req.getPreferences();
|
||||
@@ -52,7 +49,7 @@ public class SavePrefsAction extends ActionSupport {
|
||||
prefs.store();
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
public String showForm() throws Exception {
|
||||
PortletPreferences prefs = PortletActionContext.getRequest().getPreferences();
|
||||
preferenceOne = prefs.getValue("preferenceOne", "not set");
|
||||
|
||||
+17
-20
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example.spring;
|
||||
|
||||
@@ -29,26 +26,26 @@ import com.opensymphony.xwork2.ActionSupport;
|
||||
/**
|
||||
*/
|
||||
public class SpringAction extends ActionSupport {
|
||||
|
||||
|
||||
private ThingManager thingManager = null;
|
||||
private String thing = null;
|
||||
|
||||
|
||||
public void setThingManager(ThingManager thingManager) {
|
||||
this.thingManager = thingManager;
|
||||
}
|
||||
|
||||
|
||||
public List getThings() {
|
||||
return thingManager.getThings();
|
||||
}
|
||||
|
||||
|
||||
public String getThing() {
|
||||
return thing;
|
||||
}
|
||||
|
||||
|
||||
public void setThing(String thing) {
|
||||
this.thing = thing;
|
||||
}
|
||||
|
||||
|
||||
public String execute() {
|
||||
if(StringUtils.isNotEmpty(thing)) {
|
||||
thingManager.addThing(thing);
|
||||
|
||||
+13
-16
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.portlet.example.spring;
|
||||
|
||||
@@ -27,11 +24,11 @@ import java.util.List;
|
||||
*/
|
||||
public class ThingManager {
|
||||
private List things = new ArrayList();
|
||||
|
||||
|
||||
public void addThing(String thing) {
|
||||
things.add(thing);
|
||||
}
|
||||
|
||||
|
||||
public List getThings() {
|
||||
return things;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory
|
||||
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
|
||||
@@ -4,22 +4,22 @@
|
||||
<b>This is a tabbed pane with two panels that fetches data from a remote action via ajax</b>
|
||||
|
||||
<s:tabbedPanel id="test2" theme="simple" >
|
||||
<s:div id="left" label="left" theme="ajax">
|
||||
<s:panel id="left" tabName="left" theme="ajax" href="/">
|
||||
This is the left pane<br/>
|
||||
<s:form >
|
||||
<s:textfield name="tt" label="Test Text" /> <br/>
|
||||
<s:textfield name="tt2" label="Test Text2" />
|
||||
</s:form>
|
||||
</s:div>
|
||||
<s:div href="<s:url action="ajaxData"/>" id="ryh1" theme="ajax" label="remote one" />
|
||||
<s:div id="middle" label="middle" theme="ajax">
|
||||
</s:panel>
|
||||
<s:panel remote="true" href="/view/ajaxData.action" id="ryh1" theme="ajax" tabName="remote one" />
|
||||
<s:panel id="middle" tabName="middle" theme="ajax" href="/">
|
||||
middle tab<br/>
|
||||
<s:form >
|
||||
<s:textfield name="tt" label="Test Text44" /> <br/>
|
||||
<s:textfield name="tt2" label="Test Text442" />
|
||||
</s:form>
|
||||
</s:div>
|
||||
<s:div href="<s:url action="ajaxData"/>" id="ryh21" theme="ajax" label="remote right" />
|
||||
</s:panel>
|
||||
<s:panel remote="true" href="/view/ajaxData.action" id="ryh21" theme="ajax" tabName="remote right" />
|
||||
</s:tabbedPanel>
|
||||
|
||||
<p/>
|
||||
@@ -28,7 +28,7 @@ A DIV that waits for 5 seconds before loading the contents
|
||||
id="once"
|
||||
theme="ajax"
|
||||
cssStyle="border: 1px solid yellow;"
|
||||
href="<s:url action="ajaxData"/>"
|
||||
href="/view/ajaxData.action"
|
||||
delay="5000"
|
||||
loadingText="loading...">
|
||||
Waiting for data</s:div>
|
||||
@@ -37,7 +37,7 @@ A DIV that is updated every 2 seconds
|
||||
<s:div
|
||||
id="twoseconds"
|
||||
cssStyle="border: 1px solid yellow;"
|
||||
href="<s:url action="ajaxData"/>"
|
||||
href="/view/ajaxData.action"
|
||||
theme="ajax"
|
||||
delay="2000"
|
||||
updateFreq="2000"
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
Hello World from velocity!
|
||||
<p />
|
||||
#surl ("id=url" "action=index")
|
||||
<a href="${url}">Back to the front page</a>
|
||||
|
||||
+14
-106
@@ -5,20 +5,12 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.3</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-showcase</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<name>Showcase Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/showcase/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/showcase/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/showcase/</url>
|
||||
</scm>
|
||||
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>hostedqa</id>
|
||||
@@ -32,54 +24,6 @@
|
||||
</profiles>
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-struts1-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-jsf-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-config-browser-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-sitemesh-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-tiles-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-continuations-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-codebehind-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-spring-plugin</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>servlet-api</artifactId>
|
||||
@@ -87,39 +31,20 @@
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Velocity -->
|
||||
<dependency>
|
||||
<groupId>velocity</groupId>
|
||||
<artifactId>velocity</artifactId>
|
||||
<version>1.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>velocity-tools</groupId>
|
||||
<artifactId>velocity-tools</artifactId>
|
||||
<version>1.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>opensymphony</groupId>
|
||||
<artifactId>sitemesh</artifactId>
|
||||
<version>2.2.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>uk.ltd.getahead</groupId>
|
||||
<artifactId>dwr</artifactId>
|
||||
<version>1.1-beta-3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.9</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<version>1.0.4</version>
|
||||
<groupId>uk.ltd.getahead</groupId>
|
||||
<artifactId>dwr</artifactId>
|
||||
<version>1.1-beta-3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.myfaces.core</groupId>
|
||||
@@ -131,6 +56,11 @@
|
||||
<artifactId>myfaces-api</artifactId>
|
||||
<version>1.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.rifers</groupId>
|
||||
<artifactId>rife-continuations</artifactId>
|
||||
<version>0.0.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-fileupload</groupId>
|
||||
<artifactId>commons-fileupload</artifactId>
|
||||
@@ -145,41 +75,19 @@
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty-plugin</artifactId>
|
||||
<version>6.0.1</version>
|
||||
<version>6.0.0rc3</version>
|
||||
<configuration>
|
||||
<scanIntervalSeconds>10</scanIntervalSeconds>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.myfaces.core</groupId>
|
||||
<artifactId>myfaces-impl</artifactId>
|
||||
<version>1.1.2</version>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-j2ee_1.4_spec</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.myfaces.core</groupId>
|
||||
<artifactId>myfaces-api</artifactId>
|
||||
<version>1.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.9</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<resources>
|
||||
<!-- Include resources under src/main/java in WEB-INF/classes -->
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
users who don't have a single directory in their project that
|
||||
contains all the libraries they need.
|
||||
-->
|
||||
<ideaConfig>../../../xwork/xwork.iml,../../core/struts2-core.iml,struts2-showcase.iml</ideaConfig>
|
||||
<ideaConfig>../../../xwork/xwork.iml,../../core/struts2-core.iml,../../extras/struts2-extras.iml,struts2-showcase.iml</ideaConfig>
|
||||
|
||||
<!-- The context in which to deploy the web application -->
|
||||
<context>/showcase</context>
|
||||
@@ -49,6 +49,7 @@
|
||||
<dir>src/main/resources</dir>
|
||||
<dir>target/classes</dir>
|
||||
<dir>../../core/target/classes</dir>
|
||||
<dir>../../extras/target/classes</dir>
|
||||
</classDirs>
|
||||
|
||||
<!--
|
||||
|
||||
@@ -1,32 +1,29 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
|
||||
/**
|
||||
* <code>DateAction</code>
|
||||
*
|
||||
@@ -85,8 +82,9 @@ public class DateAction extends ActionSupport {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.opensymphony.xwork2.ActionSupport#execute()
|
||||
*/
|
||||
public String browse() throws Exception {
|
||||
public String execute() throws Exception {
|
||||
Calendar cal = GregorianCalendar.getInstance();
|
||||
now = cal.getTime();
|
||||
cal.roll(Calendar.DATE, -1);
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
struts.date.format=yyyy/MM/dd hh:mm:ss
|
||||
+21
-41
@@ -1,23 +1,3 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import org.apache.struts2.showcase.ajax.tree.Category;
|
||||
@@ -28,27 +8,27 @@ import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
public class DynamicTreeSelectAction extends ActionSupport {
|
||||
|
||||
private long nodeId;
|
||||
private Category currentCategory;
|
||||
|
||||
|
||||
public void setNodeId(long nodeId) {
|
||||
this.nodeId = nodeId;
|
||||
}
|
||||
public long getNodeId() {
|
||||
return nodeId;
|
||||
}
|
||||
|
||||
|
||||
public String execute() throws Exception {
|
||||
currentCategory = Category.getById(nodeId);
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
public String getNodeName() {
|
||||
return currentCategory.getName();
|
||||
}
|
||||
private long nodeId;
|
||||
private Category currentCategory;
|
||||
|
||||
|
||||
public void setNodeId(long nodeId) {
|
||||
this.nodeId = nodeId;
|
||||
}
|
||||
public long getNodeId() {
|
||||
return nodeId;
|
||||
}
|
||||
|
||||
|
||||
public String execute() throws Exception {
|
||||
currentCategory = Category.getById(nodeId);
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
public String getNodeName() {
|
||||
return currentCategory.getName();
|
||||
}
|
||||
}
|
||||
|
||||
//START SNIPPET: treeExampleDynamicJavaSelected
|
||||
|
||||
@@ -1,32 +1,29 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
import com.opensymphony.xwork2.Action;
|
||||
import com.opensymphony.xwork2.Preparable;
|
||||
import com.uwyn.rife.continuations.ContinuableObject;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
// START SNIPPET: example
|
||||
public class Guess extends ActionSupport implements Preparable, ContinuableObject {
|
||||
int guess;
|
||||
|
||||
+205
-268
@@ -1,286 +1,223 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
/**
|
||||
*/
|
||||
public class LotsOfOptiontransferselectAction extends ActionSupport {
|
||||
|
||||
private List _favouriteCartoonCharactersKeys;
|
||||
private List _notFavouriteCartoonCharactersKeys;
|
||||
|
||||
private List _favouriteCarsKeys;
|
||||
private List _notFavouriteCarsKeys;
|
||||
|
||||
private List _favouriteMotorcyclesKeys;
|
||||
private List _notFavouriteMotorcyclesKeys;
|
||||
|
||||
private List _favouriteCountriesKeys;
|
||||
private List _notFavouriteCountriesKeys;
|
||||
|
||||
private List _favouriteSportsKeys;
|
||||
private List _nonFavouriteSportsKeys;
|
||||
|
||||
private List _favouriteCities;
|
||||
|
||||
private List _prioritisedFavouriteCartoonCharacters;
|
||||
private List _prioritisedFavouriteCars;
|
||||
private List _prioritisedFavouriteCountries;
|
||||
|
||||
|
||||
|
||||
// Cartoon Characters
|
||||
public Map getDefaultFavouriteCartoonCharacters() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("heMan", "He-Man");
|
||||
m.put("popeye", "Popeye");
|
||||
m.put("mockeyMouse", "Mickey Mouse");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteCartoonCharacters() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("donaldDuck", "Donald Duck");
|
||||
m.put("atomicAnt", "Atomic Ant");
|
||||
m.put("pinkPainter", "Pink Painter");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteCartoonCharacters() {
|
||||
return _favouriteCartoonCharactersKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteCartoonCharacters(List favouriteCartoonCharacters) {
|
||||
_favouriteCartoonCharactersKeys = favouriteCartoonCharacters;
|
||||
}
|
||||
|
||||
public List getNotFavouriteCartoonCharacters() {
|
||||
return _notFavouriteCartoonCharactersKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteCartoonCharacters(List notFavouriteCartoonCharacters) {
|
||||
_notFavouriteCartoonCharactersKeys = notFavouriteCartoonCharacters;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Cars
|
||||
public Map getDefaultFavouriteCars() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("alfaRomeo", "Alfa Romeo");
|
||||
m.put("Toyota", "Toyota");
|
||||
m.put("Mitsubitshi", "Mitsubitshi");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteCars() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("ford", "Ford");
|
||||
m.put("landRover", "Land Rover");
|
||||
m.put("mercedes", "Mercedes");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteCars() {
|
||||
return _favouriteCarsKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteCars(List favouriteCars) {
|
||||
_favouriteCarsKeys = favouriteCars;
|
||||
}
|
||||
|
||||
public List getNotFavouriteCars() {
|
||||
return _notFavouriteCarsKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteCars(List notFavouriteCars) {
|
||||
_notFavouriteCarsKeys = notFavouriteCars;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Motorcycles
|
||||
public Map getDefaultFavouriteMotorcycles() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("honda", "Honda");
|
||||
m.put("yamaha", "Yamaha");
|
||||
m.put("Aprillia", "Aprillia");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteMotorcycles() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("cagiva", "Cagiva");
|
||||
m.put("harleyDavidson", "Harley Davidson");
|
||||
m.put("suzuki", "Suzuki");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteMotorcycles() {
|
||||
return _favouriteMotorcyclesKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteMotorcycles(List favouriteMotorcycles) {
|
||||
_favouriteMotorcyclesKeys = favouriteMotorcycles;
|
||||
}
|
||||
|
||||
public List getNotFavouriteMotorcycles() {
|
||||
return _notFavouriteMotorcyclesKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteMotorcycles(List notFavouriteMotorcycles) {
|
||||
_notFavouriteMotorcyclesKeys = notFavouriteMotorcycles;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Countries
|
||||
public Map getDefaultFavouriteCountries() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("england", "England");
|
||||
m.put("america", "America");
|
||||
m.put("brazil", "Brazil");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteCountries() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("germany", "Germany");
|
||||
m.put("china", "China");
|
||||
m.put("russia", "Russia");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteCountries() {
|
||||
return _favouriteCountriesKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteCountries(List favouriteCountries) {
|
||||
_favouriteCountriesKeys = favouriteCountries;
|
||||
}
|
||||
|
||||
public List getNotFavouriteCountries() {
|
||||
return _notFavouriteCountriesKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteCountries(List notFavouriteCountries) {
|
||||
_notFavouriteCountriesKeys = notFavouriteCountries;
|
||||
}
|
||||
|
||||
// Sports
|
||||
public Map getDefaultNonFavoriteSports() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("basketball", "Basketball");
|
||||
m.put("football", "Football");
|
||||
m.put("baseball", "Baseball");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultFavoriteSports() {
|
||||
return new LinkedHashMap();
|
||||
}
|
||||
|
||||
public List getFavouriteSports() {
|
||||
return _favouriteSportsKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteSports(List favouriteSportsKeys) {
|
||||
this._favouriteSportsKeys = favouriteSportsKeys;
|
||||
}
|
||||
|
||||
public List getNonFavouriteSports() {
|
||||
return _nonFavouriteSportsKeys;
|
||||
}
|
||||
|
||||
public void setNonFavouriteSports(List notFavouriteSportsKeys) {
|
||||
this._nonFavouriteSportsKeys = notFavouriteSportsKeys;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public List getPrioritisedFavouriteCartoonCharacters() {
|
||||
return _prioritisedFavouriteCartoonCharacters;
|
||||
}
|
||||
public void setPrioritisedFavouriteCartoonCharacters(List prioritisedFavouriteCartoonCharacters) {
|
||||
_prioritisedFavouriteCartoonCharacters = prioritisedFavouriteCartoonCharacters;
|
||||
}
|
||||
|
||||
public List getPrioritisedFavouriteCars() {
|
||||
return _prioritisedFavouriteCars;
|
||||
}
|
||||
public void setPrioritisedFavouriteCars(List prioritisedFavouriteCars) {
|
||||
_prioritisedFavouriteCars = prioritisedFavouriteCars;
|
||||
}
|
||||
|
||||
|
||||
public List getPrioritisedFavouriteCountries() {
|
||||
return _prioritisedFavouriteCountries;
|
||||
}
|
||||
public void setPrioritisedFavouriteCountries(List prioritisedFavouriteCountries) {
|
||||
_prioritisedFavouriteCountries = prioritisedFavouriteCountries;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Map getAvailableCities() {
|
||||
Map map = new LinkedHashMap();
|
||||
map.put("boston", "Boston");
|
||||
map.put("new york", "New York");
|
||||
map.put("london", "London");
|
||||
map.put("rome", "Rome");
|
||||
return map;
|
||||
}
|
||||
|
||||
public List getDefaultFavouriteCities() {
|
||||
List list = new ArrayList();
|
||||
list.add("boston");
|
||||
list.add("rome");
|
||||
return list;
|
||||
}
|
||||
|
||||
public List getFavouriteCities() {
|
||||
return _favouriteCities;
|
||||
}
|
||||
|
||||
public void setFavouriteCities(List favouriteCities) {
|
||||
this._favouriteCities = favouriteCities;
|
||||
}
|
||||
|
||||
// actions
|
||||
|
||||
public String input() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String submit() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
private List _favouriteCartoonCharactersKeys;
|
||||
private List _notFavouriteCartoonCharactersKeys;
|
||||
|
||||
private List _favouriteCarsKeys;
|
||||
private List _notFavouriteCarsKeys;
|
||||
|
||||
private List _favouriteMotorcyclesKeys;
|
||||
private List _notFavouriteMotorcyclesKeys;
|
||||
|
||||
private List _favouriteCountriesKeys;
|
||||
private List _notFavouriteCountriesKeys;
|
||||
|
||||
private List _prioritisedFavouriteCartoonCharacters;
|
||||
private List _prioritisedFavouriteCars;
|
||||
private List _prioritisedFavouriteCountries;
|
||||
|
||||
|
||||
|
||||
// Cartoon Characters
|
||||
public Map getDefaultFavouriteCartoonCharacters() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("heMan", "He-Man");
|
||||
m.put("popeye", "Popeye");
|
||||
m.put("mockeyMouse", "Mickey Mouse");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteCartoonCharacters() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("donaldDuck", "Donald Duck");
|
||||
m.put("atomicAnt", "Atomic Ant");
|
||||
m.put("pinkPainter", "Pink Painter");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteCartoonCharacters() {
|
||||
return _favouriteCartoonCharactersKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteCartoonCharacters(List favouriteCartoonCharacters) {
|
||||
_favouriteCartoonCharactersKeys = favouriteCartoonCharacters;
|
||||
}
|
||||
|
||||
public List getNotFavouriteCartoonCharacters() {
|
||||
return _notFavouriteCartoonCharactersKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteCartoonCharacters(List notFavouriteCartoonCharacters) {
|
||||
_notFavouriteCartoonCharactersKeys = notFavouriteCartoonCharacters;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Cars
|
||||
public Map getDefaultFavouriteCars() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("alfaRomeo", "Alfa Romeo");
|
||||
m.put("Toyota", "Toyota");
|
||||
m.put("Mitsubitshi", "Mitsubitshi");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteCars() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("ford", "Ford");
|
||||
m.put("landRover", "Land Rover");
|
||||
m.put("mercedes", "Mercedes");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteCars() {
|
||||
return _favouriteCarsKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteCars(List favouriteCars) {
|
||||
_favouriteCarsKeys = favouriteCars;
|
||||
}
|
||||
|
||||
public List getNotFavouriteCars() {
|
||||
return _notFavouriteCarsKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteCars(List notFavouriteCars) {
|
||||
_notFavouriteCarsKeys = notFavouriteCars;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Motorcycles
|
||||
public Map getDefaultFavouriteMotorcycles() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("honda", "Honda");
|
||||
m.put("yamaha", "Yamaha");
|
||||
m.put("Aprillia", "Aprillia");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteMotorcycles() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("cagiva", "Cagiva");
|
||||
m.put("harleyDavidson", "Harley Davidson");
|
||||
m.put("suzuki", "Suzuki");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteMotorcycles() {
|
||||
return _favouriteMotorcyclesKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteMotorcycles(List favouriteMotorcycles) {
|
||||
_favouriteMotorcyclesKeys = favouriteMotorcycles;
|
||||
}
|
||||
|
||||
public List getNotFavouriteMotorcycles() {
|
||||
return _notFavouriteMotorcyclesKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteMotorcycles(List notFavouriteMotorcycles) {
|
||||
_notFavouriteMotorcyclesKeys = notFavouriteMotorcycles;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Countries
|
||||
public Map getDefaultFavouriteCountries() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("england", "England");
|
||||
m.put("america", "America");
|
||||
m.put("brazil", "Brazil");
|
||||
return m;
|
||||
}
|
||||
|
||||
public Map getDefaultNotFavouriteCountries() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("germany", "Germany");
|
||||
m.put("china", "China");
|
||||
m.put("russia", "Russia");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getFavouriteCountries() {
|
||||
return _favouriteCountriesKeys;
|
||||
}
|
||||
|
||||
public void setFavouriteCountries(List favouriteCountries) {
|
||||
_favouriteCountriesKeys = favouriteCountries;
|
||||
}
|
||||
|
||||
public List getNotFavouriteCountries() {
|
||||
return _notFavouriteCountriesKeys;
|
||||
}
|
||||
|
||||
public void setNotFavouriteCountries(List notFavouriteCountries) {
|
||||
_notFavouriteCountriesKeys = notFavouriteCountries;
|
||||
}
|
||||
|
||||
|
||||
public List getPrioritisedFavouriteCartoonCharacters() {
|
||||
return _prioritisedFavouriteCartoonCharacters;
|
||||
}
|
||||
public void setPrioritisedFavouriteCartoonCharacters(List prioritisedFavouriteCartoonCharacters) {
|
||||
_prioritisedFavouriteCartoonCharacters = prioritisedFavouriteCartoonCharacters;
|
||||
}
|
||||
|
||||
public List getPrioritisedFavouriteCars() {
|
||||
return _prioritisedFavouriteCars;
|
||||
}
|
||||
public void setPrioritisedFavouriteCars(List prioritisedFavouriteCars) {
|
||||
_prioritisedFavouriteCars = prioritisedFavouriteCars;
|
||||
}
|
||||
|
||||
|
||||
public List getPrioritisedFavouriteCountries() {
|
||||
return _prioritisedFavouriteCountries;
|
||||
}
|
||||
public void setPrioritisedFavouriteCountries(List prioritisedFavouriteCountries) {
|
||||
_prioritisedFavouriteCountries = prioritisedFavouriteCountries;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// actions
|
||||
|
||||
public String input() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String submit() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE validators PUBLIC
|
||||
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
|
||||
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
|
||||
|
||||
<validators>
|
||||
<field name="description1">
|
||||
<field-validator type="requiredstring">
|
||||
<message>Description1 Is Required !!!</message>
|
||||
</field-validator>
|
||||
</field>
|
||||
|
||||
<field name="description2">
|
||||
<field-validator type="requiredstring">
|
||||
<message>Description2 Is Required !!!</message>
|
||||
</field-validator>
|
||||
</field>
|
||||
|
||||
<field name="description3">
|
||||
<field-validator type="requiredstring">
|
||||
<message>Description3 Is Required !!!</message>
|
||||
</field-validator>
|
||||
</field>
|
||||
|
||||
<field name="description4">
|
||||
<field-validator type="requiredstring">
|
||||
<message>Description4 Is Required !!!</message>
|
||||
</field-validator>
|
||||
</field>
|
||||
</validators>
|
||||
|
||||
+60
-63
@@ -1,78 +1,75 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class LotsOfRichtexteditorAction extends ActionSupport {
|
||||
|
||||
public String description1;
|
||||
public String description2 = "This is Description 2";
|
||||
public String description3;
|
||||
public String description4 = "This is Description 4";
|
||||
|
||||
public String getDescription1() {
|
||||
return this.description1;
|
||||
}
|
||||
public void setDescription1(String description1) {
|
||||
this.description1 = description1;
|
||||
}
|
||||
|
||||
|
||||
public String getDescription2() {
|
||||
return this.description2;
|
||||
}
|
||||
public void setDescription2(String description2) {
|
||||
this.description2 = description2;
|
||||
}
|
||||
|
||||
|
||||
public String getDescription3() {
|
||||
return this.description3;
|
||||
}
|
||||
public void setDescription3(String description3) {
|
||||
this.description3 = description3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String getDescription4() {
|
||||
return this.description4;
|
||||
}
|
||||
public void setDescription4(String description4) {
|
||||
this.description4 = description4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String input() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String submit() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
public String description1;
|
||||
public String description2 = "This is Description 2";
|
||||
public String description3;
|
||||
public String description4 = "This is Description 4";
|
||||
|
||||
public String getDescription1() {
|
||||
return this.description1;
|
||||
}
|
||||
public void setDescription1(String description1) {
|
||||
this.description1 = description1;
|
||||
}
|
||||
|
||||
|
||||
public String getDescription2() {
|
||||
return this.description2;
|
||||
}
|
||||
public void setDescription2(String description2) {
|
||||
this.description2 = description2;
|
||||
}
|
||||
|
||||
|
||||
public String getDescription3() {
|
||||
return this.description3;
|
||||
}
|
||||
public void setDescription3(String description3) {
|
||||
this.description3 = description3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String getDescription4() {
|
||||
return this.description4;
|
||||
}
|
||||
public void setDescription4(String description4) {
|
||||
this.description4 = description4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String input() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String submit() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,135 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
*/
|
||||
public class MoreSelectsAction extends ActionSupport {
|
||||
|
||||
|
||||
private List _prioritisedFavouriteCartoonCharacters;
|
||||
private List _prioritisedFavouriteCars;
|
||||
private List _prioritisedFavouriteCountries;
|
||||
private List favouriteNumbers;
|
||||
|
||||
|
||||
// Cartoon Characters
|
||||
public Map getDefaultFavouriteCartoonCharacters() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("heMan", "He-Man");
|
||||
m.put("popeye", "Popeye");
|
||||
m.put("mockeyMouse", "Mickey Mouse");
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
// Cars
|
||||
public Map getDefaultFavouriteCars() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("alfaRomeo", "Alfa Romeo");
|
||||
m.put("Toyota", "Toyota");
|
||||
m.put("Mitsubitshi", "Mitsubitshi");
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Countries
|
||||
public Map getDefaultFavouriteCountries() {
|
||||
Map m = new LinkedHashMap();
|
||||
m.put("england", "England");
|
||||
m.put("america", "America");
|
||||
m.put("brazil", "Brazil");
|
||||
return m;
|
||||
}
|
||||
|
||||
public List getDefaultFavouriteNumbers() {
|
||||
List list = new ArrayList();
|
||||
list.add("Three");
|
||||
list.add("Seven");
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List getPrioritisedFavouriteCartoonCharacters() {
|
||||
return _prioritisedFavouriteCartoonCharacters;
|
||||
}
|
||||
public void setPrioritisedFavouriteCartoonCharacters(List prioritisedFavouriteCartoonCharacters) {
|
||||
_prioritisedFavouriteCartoonCharacters = prioritisedFavouriteCartoonCharacters;
|
||||
}
|
||||
|
||||
public List getPrioritisedFavouriteCars() {
|
||||
return _prioritisedFavouriteCars;
|
||||
}
|
||||
public void setPrioritisedFavouriteCars(List prioritisedFavouriteCars) {
|
||||
_prioritisedFavouriteCars = prioritisedFavouriteCars;
|
||||
}
|
||||
|
||||
|
||||
public List getPrioritisedFavouriteCountries() {
|
||||
return _prioritisedFavouriteCountries;
|
||||
}
|
||||
public void setPrioritisedFavouriteCountries(List prioritisedFavouriteCountries) {
|
||||
_prioritisedFavouriteCountries = prioritisedFavouriteCountries;
|
||||
}
|
||||
|
||||
public List getFavouriteNumbers() {
|
||||
return favouriteNumbers;
|
||||
}
|
||||
|
||||
public void setFavouriteNumbers(List favouriteNumbers) {
|
||||
this.favouriteNumbers = favouriteNumbers;
|
||||
}
|
||||
|
||||
public Map getAvailableCities() {
|
||||
Map map = new LinkedHashMap();
|
||||
map.put("boston", "Boston");
|
||||
map.put("new york", "New York");
|
||||
map.put("london", "London");
|
||||
map.put("rome", "Rome");
|
||||
return map;
|
||||
}
|
||||
|
||||
public List getDefaultFavouriteCities() {
|
||||
List list = new ArrayList();
|
||||
list.add("boston");
|
||||
list.add("rome");
|
||||
return list;
|
||||
}
|
||||
|
||||
// actions
|
||||
|
||||
public String input() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String submit() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
@@ -1,36 +1,16 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import org.apache.struts2.showcase.ajax.tree.Category;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
// START SNIPPET: treeExampleDynamicJavaShow
|
||||
// START SNIPPET: treeExampleDynamicJavaShow
|
||||
|
||||
public class ShowDynamicTreeAction extends ActionSupport {
|
||||
|
||||
public Category getTreeRootNode() {
|
||||
return Category.getById(1);
|
||||
}
|
||||
|
||||
public Category getTreeRootNode() {
|
||||
return Category.getById(1);
|
||||
}
|
||||
}
|
||||
|
||||
// END SNIPPET: treeExampleDynamicJavaShow
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
Element_friends = java.lang.String
|
||||
@@ -1,50 +1,46 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase;
|
||||
|
||||
import java.io.File;
|
||||
import org.apache.struts2.ServletActionContext;
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
import com.opensymphony.xwork2.Validateable;
|
||||
import com.opensymphony.xwork2.util.OgnlValueStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.struts2.ServletActionContext;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
import com.opensymphony.xwork2.Validateable;
|
||||
import com.opensymphony.xwork2.util.ValueStack;
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
*/
|
||||
public class UITagExample extends ActionSupport implements Validateable {
|
||||
|
||||
private static final long serialVersionUID = -94044809860988047L;
|
||||
|
||||
|
||||
String name;
|
||||
|
||||
private static final long serialVersionUID = -94044809860988047L;
|
||||
|
||||
|
||||
String name;
|
||||
Date birthday;
|
||||
String bio;
|
||||
String favouriteColor;
|
||||
String favoriteColor;
|
||||
List friends;
|
||||
boolean legalAge;
|
||||
String state;
|
||||
@@ -55,89 +51,89 @@ public class UITagExample extends ActionSupport implements Validateable {
|
||||
String favouriteLanguage;
|
||||
String favouriteVehicalType = "MotorcycleKey";
|
||||
String favouriteVehicalSpecific = "YamahaKey";
|
||||
|
||||
|
||||
List leftSideCartoonCharacters;
|
||||
List rightSideCartoonCharacters;
|
||||
|
||||
|
||||
List favouriteLanguages = new ArrayList();
|
||||
List vehicalTypeList = new ArrayList();
|
||||
Map vehicalSpecificMap = new HashMap();
|
||||
|
||||
|
||||
String thoughts;
|
||||
|
||||
|
||||
public UITagExample() {
|
||||
favouriteLanguages.add(new Language("EnglishKey", "English Language"));
|
||||
favouriteLanguages.add(new Language("FrenchKey", "French Language"));
|
||||
favouriteLanguages.add(new Language("SpanishKey", "Spanish Language"));
|
||||
|
||||
VehicalType car = new VehicalType("CarKey", "Car");
|
||||
VehicalType motorcycle = new VehicalType("MotorcycleKey", "Motorcycle");
|
||||
vehicalTypeList.add(car);
|
||||
vehicalTypeList.add(motorcycle);
|
||||
|
||||
List cars = new ArrayList();
|
||||
cars.add(new VehicalSpecific("MercedesKey", "Mercedes"));
|
||||
cars.add(new VehicalSpecific("HondaKey", "Honda"));
|
||||
cars.add(new VehicalSpecific("FordKey", "Ford"));
|
||||
|
||||
List motorcycles = new ArrayList();
|
||||
motorcycles.add(new VehicalSpecific("SuzukiKey", "Suzuki"));
|
||||
motorcycles.add(new VehicalSpecific("YamahaKey", "Yamaha"));
|
||||
|
||||
vehicalSpecificMap.put(car, cars);
|
||||
vehicalSpecificMap.put(motorcycle, motorcycles);
|
||||
favouriteLanguages.add(new Language("EnglishKey", "English Language"));
|
||||
favouriteLanguages.add(new Language("FrenchKey", "French Language"));
|
||||
favouriteLanguages.add(new Language("SpanishKey", "Spanish Language"));
|
||||
|
||||
VehicalType car = new VehicalType("CarKey", "Car");
|
||||
VehicalType motorcycle = new VehicalType("MotorcycleKey", "Motorcycle");
|
||||
vehicalTypeList.add(car);
|
||||
vehicalTypeList.add(motorcycle);
|
||||
|
||||
List cars = new ArrayList();
|
||||
cars.add(new VehicalSpecific("MercedesKey", "Mercedes"));
|
||||
cars.add(new VehicalSpecific("HondaKey", "Honda"));
|
||||
cars.add(new VehicalSpecific("FordKey", "Ford"));
|
||||
|
||||
List motorcycles = new ArrayList();
|
||||
motorcycles.add(new VehicalSpecific("SuzukiKey", "Suzuki"));
|
||||
motorcycles.add(new VehicalSpecific("YamahaKey", "Yamaha"));
|
||||
|
||||
vehicalSpecificMap.put(car, cars);
|
||||
vehicalSpecificMap.put(motorcycle, motorcycles);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public List getLeftSideCartoonCharacters() {
|
||||
return leftSideCartoonCharacters;
|
||||
return leftSideCartoonCharacters;
|
||||
}
|
||||
public void setLeftSideCartoonCharacters(List leftSideCartoonCharacters) {
|
||||
this.leftSideCartoonCharacters = leftSideCartoonCharacters;
|
||||
this.leftSideCartoonCharacters = leftSideCartoonCharacters;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public List getRightSideCartoonCharacters() {
|
||||
return rightSideCartoonCharacters;
|
||||
return rightSideCartoonCharacters;
|
||||
}
|
||||
public void setRightSideCartoonCharacters(List rightSideCartoonCharacters) {
|
||||
this.rightSideCartoonCharacters = rightSideCartoonCharacters;
|
||||
this.rightSideCartoonCharacters = rightSideCartoonCharacters;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String getFavouriteVehicalType() {
|
||||
return favouriteVehicalType;
|
||||
return favouriteVehicalType;
|
||||
}
|
||||
|
||||
|
||||
public void setFavouriteVehicalType(String favouriteVehicalType) {
|
||||
this.favouriteVehicalType = favouriteVehicalType;
|
||||
this.favouriteVehicalType = favouriteVehicalType;
|
||||
}
|
||||
|
||||
|
||||
public String getFavouriteVehicalSpecific() {
|
||||
return favouriteVehicalSpecific;
|
||||
return favouriteVehicalSpecific;
|
||||
}
|
||||
|
||||
|
||||
public void setFavouriteVehicalSpecific(String favouriteVehicalSpecific) {
|
||||
this.favouriteVehicalSpecific = favouriteVehicalSpecific;
|
||||
this.favouriteVehicalSpecific = favouriteVehicalSpecific;
|
||||
}
|
||||
|
||||
|
||||
public List getVehicalTypeList() {
|
||||
return vehicalTypeList;
|
||||
return vehicalTypeList;
|
||||
}
|
||||
|
||||
|
||||
public List getVehicalSpecificList() {
|
||||
ValueStack stack = ServletActionContext.getValueStack(ServletActionContext.getRequest());
|
||||
Object vehicalType = stack.findValue("top");
|
||||
if (vehicalType != null && vehicalType instanceof VehicalType) {
|
||||
List l = (List) vehicalSpecificMap.get(vehicalType);
|
||||
return l;
|
||||
}
|
||||
return Collections.EMPTY_LIST;
|
||||
OgnlValueStack stack = ServletActionContext.getValueStack(ServletActionContext.getRequest());
|
||||
Object vehicalType = stack.findValue("top");
|
||||
if (vehicalType != null && vehicalType instanceof VehicalType) {
|
||||
List l = (List) vehicalSpecificMap.get(vehicalType);
|
||||
return l;
|
||||
}
|
||||
return Collections.EMPTY_LIST;
|
||||
}
|
||||
|
||||
|
||||
public List getFavouriteLanguages() {
|
||||
return favouriteLanguages;
|
||||
return favouriteLanguages;
|
||||
}
|
||||
|
||||
public String execute() throws Exception {
|
||||
@@ -168,12 +164,12 @@ public class UITagExample extends ActionSupport implements Validateable {
|
||||
this.bio = bio;
|
||||
}
|
||||
|
||||
public String getFavouriteColor() {
|
||||
return favouriteColor;
|
||||
public String getFavoriteColor() {
|
||||
return favoriteColor;
|
||||
}
|
||||
|
||||
public void setFavouriteColor(String favoriteColor) {
|
||||
this.favouriteColor = favoriteColor;
|
||||
public void setFavoriteColor(String favoriteColor) {
|
||||
this.favoriteColor = favoriteColor;
|
||||
}
|
||||
|
||||
public List getFriends() {
|
||||
@@ -211,10 +207,6 @@ public class UITagExample extends ActionSupport implements Validateable {
|
||||
public void setPicture(File picture) {
|
||||
this.picture = picture;
|
||||
}
|
||||
|
||||
public File getPicture() {
|
||||
return this.picture;
|
||||
}
|
||||
|
||||
public void setPictureContentType(String pictureContentType) {
|
||||
this.pictureContentType = pictureContentType;
|
||||
@@ -223,100 +215,100 @@ public class UITagExample extends ActionSupport implements Validateable {
|
||||
public void setPictureFileName(String pictureFileName) {
|
||||
this.pictureFileName = pictureFileName;
|
||||
}
|
||||
|
||||
|
||||
public void setFavouriteLanguage(String favouriteLanguage) {
|
||||
this.favouriteLanguage = favouriteLanguage;
|
||||
this.favouriteLanguage = favouriteLanguage;
|
||||
}
|
||||
|
||||
|
||||
public String getFavouriteLanguage() {
|
||||
return favouriteLanguage;
|
||||
return favouriteLanguage;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void setThoughts(String thoughts) {
|
||||
this.thoughts = thoughts;
|
||||
this.thoughts = thoughts;
|
||||
}
|
||||
|
||||
|
||||
public String getThoughts() {
|
||||
return this.thoughts;
|
||||
return this.thoughts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public String doSubmit() {
|
||||
return SUCCESS;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// === inner class
|
||||
|
||||
|
||||
|
||||
// === inner class
|
||||
public static class Language {
|
||||
String description;
|
||||
String key;
|
||||
|
||||
public Language(String key, String description) {
|
||||
this.key = key;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
String description;
|
||||
String key;
|
||||
|
||||
public Language(String key, String description) {
|
||||
this.key = key;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static class VehicalType {
|
||||
String key;
|
||||
String description;
|
||||
public VehicalType(String key, String description) {
|
||||
this.key = key;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getKey() { return this.key; }
|
||||
public String getDescription() { return this.description; }
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (! (obj instanceof VehicalType)) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return key.equals(((VehicalType)obj).getKey());
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return key.hashCode();
|
||||
}
|
||||
String key;
|
||||
String description;
|
||||
public VehicalType(String key, String description) {
|
||||
this.key = key;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getKey() { return this.key; }
|
||||
public String getDescription() { return this.description; }
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (! (obj instanceof VehicalType)) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return key.equals(((VehicalType)obj).getKey());
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return key.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static class VehicalSpecific {
|
||||
String key;
|
||||
String description;
|
||||
public VehicalSpecific(String key, String description) {
|
||||
this.key = key;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getKey() { return this.key; }
|
||||
public String getDescription() { return this.description; }
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (! (obj instanceof VehicalSpecific)) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return key.equals(((VehicalSpecific)obj).getKey());
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return key.hashCode();
|
||||
}
|
||||
String key;
|
||||
String description;
|
||||
public VehicalSpecific(String key, String description) {
|
||||
this.key = key;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getKey() { return this.key; }
|
||||
public String getDescription() { return this.description; }
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (! (obj instanceof VehicalSpecific)) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return key.equals(((VehicalSpecific)obj).getKey());
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return key.hashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+14
-18
@@ -1,33 +1,29 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.action;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
import org.apache.struts2.showcase.dao.Dao;
|
||||
import org.apache.struts2.showcase.model.IdEntity;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
import java.util.Collection;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* AbstractCRUDAction.
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
Element_selectedSkills=java.lang.String
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
|
||||
<validators>
|
||||
<!-- Field-Validator Syntax -->
|
||||
<field name="currentEmployee.empId">
|
||||
<field-validator type="required">
|
||||
<message key="employee.id.required"/>
|
||||
</field-validator>
|
||||
</field>
|
||||
<field name="currentEmployee.lastName">
|
||||
<field-validator type="requiredstring">
|
||||
<param name="trim">true</param>
|
||||
<message key="employee.lastName.required"/>
|
||||
</field-validator>
|
||||
</field>
|
||||
<field name="currentEmployee.birthDate">
|
||||
<field-validator type="required">
|
||||
<message key="employee.birthDate.required"/>
|
||||
</field-validator>
|
||||
</field>
|
||||
</validators>
|
||||
+16
-20
@@ -1,30 +1,23 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.action;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import com.opensymphony.xwork2.Preparable;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.struts2.showcase.application.TestDataProvider;
|
||||
import org.apache.struts2.showcase.dao.Dao;
|
||||
@@ -32,7 +25,10 @@ import org.apache.struts2.showcase.dao.EmployeeDao;
|
||||
import org.apache.struts2.showcase.model.Employee;
|
||||
import org.apache.struts2.showcase.model.Skill;
|
||||
|
||||
import com.opensymphony.xwork2.Preparable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* JsfEmployeeAction.
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
employee=Employee
|
||||
employee.firstName=First Name
|
||||
employee.lastName=Last Name
|
||||
employee.description=Description
|
||||
|
||||
employee.id.required=Id is required
|
||||
employee.lastName.required=Last Name is required
|
||||
employee.birthDate.required=Birthdate is required
|
||||
employee.backtolist=Back to Employee List
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
employee=Mitarbeiter
|
||||
employee.firstName=Vorname
|
||||
employee.lastName=Nachname
|
||||
employee.description=Beschreibung
|
||||
|
||||
employee.id.required=ID muß angegeben werden
|
||||
employee.lastName.required=Nachname wird benötigt
|
||||
employee.birthDate.required=Geburtsdatum wird benötigt
|
||||
employee.backtolist=Zurück zur Mitarbeiterliste
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
|
||||
<validators>
|
||||
<!-- Field-Validator Syntax -->
|
||||
<field name="currentSkill.name">
|
||||
<field-validator type="requiredstring">
|
||||
<param name="trim">true</param>
|
||||
<message key="skill.name.required"/>
|
||||
</field-validator>
|
||||
</field>
|
||||
</validators>
|
||||
@@ -1,31 +1,27 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.action;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.struts2.showcase.dao.Dao;
|
||||
import org.apache.struts2.showcase.dao.SkillDao;
|
||||
import org.apache.struts2.showcase.model.Skill;
|
||||
|
||||
import com.opensymphony.xwork2.Preparable;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
* SkillAction.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
skill=Skill
|
||||
skill.name=Name
|
||||
skill.description=Description
|
||||
|
||||
skill.name.required=Name is required
|
||||
skill.backtolist=Back to Skill List
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
skill=Kenntnis
|
||||
skill.name=Name
|
||||
skill.description=Beschreibung
|
||||
|
||||
skill.name.required=Name muss angegeben werden
|
||||
skill.backtolist=Zurück zur Kenntnis Liste
|
||||
+26
-29
@@ -1,45 +1,42 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.actionchaining;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ActionChain1 extends ActionSupport {
|
||||
|
||||
private static final long serialVersionUID = -6811701750042275153L;
|
||||
private static final long serialVersionUID = -6811701750042275153L;
|
||||
|
||||
private String actionChain1Property1 = "Property Set In Action Chain 1";
|
||||
|
||||
private String actionChain1Property1 = "Property Set In Action Chain 1";
|
||||
|
||||
public String getActionChain1Property1() {
|
||||
return actionChain1Property1;
|
||||
}
|
||||
public void setActionChain1Property1(String actionChain1Property1) {
|
||||
this.actionChain1Property1 = actionChain1Property1;
|
||||
}
|
||||
|
||||
|
||||
public String input() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
public String getActionChain1Property1() {
|
||||
return actionChain1Property1;
|
||||
}
|
||||
public void setActionChain1Property1(String actionChain1Property1) {
|
||||
this.actionChain1Property1 = actionChain1Property1;
|
||||
}
|
||||
|
||||
|
||||
public String input() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
+40
-43
@@ -1,58 +1,55 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.actionchaining;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ActionChain2 extends ActionSupport {
|
||||
|
||||
private static final long serialVersionUID = 3951745956044674809L;
|
||||
|
||||
private String actionChain1Property1;
|
||||
private String actionChain2Property1 = "Property Set in Action Chain 2";
|
||||
|
||||
|
||||
public String getActionChain1Property1() {
|
||||
return actionChain1Property1;
|
||||
}
|
||||
public void setActionChain1Property1(String actionChain1Property1) {
|
||||
this.actionChain1Property1 = actionChain1Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getActionChain2Property1() {
|
||||
return actionChain2Property1;
|
||||
}
|
||||
public void setActionChain2Property1(String actionChain2Property1) {
|
||||
this.actionChain2Property1 = actionChain2Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String execute() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
private static final long serialVersionUID = 3951745956044674809L;
|
||||
|
||||
private String actionChain1Property1;
|
||||
private String actionChain2Property1 = "Property Set in Action Chain 2";
|
||||
|
||||
|
||||
public String getActionChain1Property1() {
|
||||
return actionChain1Property1;
|
||||
}
|
||||
public void setActionChain1Property1(String actionChain1Property1) {
|
||||
this.actionChain1Property1 = actionChain1Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getActionChain2Property1() {
|
||||
return actionChain2Property1;
|
||||
}
|
||||
public void setActionChain2Property1(String actionChain2Property1) {
|
||||
this.actionChain2Property1 = actionChain2Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String execute() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
+50
-53
@@ -1,68 +1,65 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.actionchaining;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ActionChain3 extends ActionSupport {
|
||||
|
||||
private static final long serialVersionUID = -1456568865075250621L;
|
||||
|
||||
private String actionChain1Property1;
|
||||
private String actionChain2Property1;
|
||||
private String actionChain3Property1 = "Property set in Action Chain 3";
|
||||
|
||||
|
||||
public String getActionChain1Property1() {
|
||||
return actionChain1Property1;
|
||||
}
|
||||
public void setActionChain1Property1(String actionChain1Property1) {
|
||||
this.actionChain1Property1 = actionChain1Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getActionChain2Property1() {
|
||||
return actionChain2Property1;
|
||||
}
|
||||
public void setActionChain2Property1(String actionChain2Property1) {
|
||||
this.actionChain2Property1 = actionChain2Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getActionChain3Property1() {
|
||||
return actionChain3Property1;
|
||||
}
|
||||
public void setActionChain3Property1(String actionChain3Property1) {
|
||||
this.actionChain3Property1 = actionChain3Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String execute() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
private static final long serialVersionUID = -1456568865075250621L;
|
||||
|
||||
private String actionChain1Property1;
|
||||
private String actionChain2Property1;
|
||||
private String actionChain3Property1 = "Property set in Action Chain 3";
|
||||
|
||||
|
||||
public String getActionChain1Property1() {
|
||||
return actionChain1Property1;
|
||||
}
|
||||
public void setActionChain1Property1(String actionChain1Property1) {
|
||||
this.actionChain1Property1 = actionChain1Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getActionChain2Property1() {
|
||||
return actionChain2Property1;
|
||||
}
|
||||
public void setActionChain2Property1(String actionChain2Property1) {
|
||||
this.actionChain2Property1 = actionChain2Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getActionChain3Property1() {
|
||||
return actionChain3Property1;
|
||||
}
|
||||
public void setActionChain3Property1(String actionChain3Property1) {
|
||||
this.actionChain3Property1 = actionChain3Property1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String execute() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,28 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.ajax;
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
*/
|
||||
public class AjaxTestAction implements Action, Serializable {
|
||||
public class AjaxTestAction implements Action {
|
||||
|
||||
private static int counter = 0;
|
||||
private String data;
|
||||
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package org.apache.struts2.showcase.ajax;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
public class AutocompleterExampleAction extends ActionSupport {
|
||||
private String select;
|
||||
private List<String> options = new ArrayList<String>();
|
||||
|
||||
private static final long serialVersionUID = -8481638176160014396L;
|
||||
|
||||
public String execute() throws Exception {
|
||||
if ("fruits".equals(select)) {
|
||||
options.add("apple");
|
||||
options.add("banana");
|
||||
options.add("grape");
|
||||
options.add("pear");
|
||||
} else if ("colors".equals(select)) {
|
||||
options.add("red");
|
||||
options.add("green");
|
||||
options.add("blue");
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String getSelect() {
|
||||
return select;
|
||||
}
|
||||
|
||||
public void setSelect(String select) {
|
||||
this.select = select;
|
||||
}
|
||||
|
||||
public List<String> getOptions() {
|
||||
return options;
|
||||
}
|
||||
}
|
||||
+48
-51
@@ -1,22 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.ajax;
|
||||
|
||||
@@ -30,46 +27,46 @@ import com.opensymphony.xwork2.ActionSupport;
|
||||
*/
|
||||
public class Example4ShowPanelAction extends ActionSupport {
|
||||
|
||||
private String name;
|
||||
private String gender;
|
||||
private String name;
|
||||
private String gender;
|
||||
|
||||
private static final long serialVersionUID = 7751976335066456596L;
|
||||
|
||||
private static final long serialVersionUID = 7751976335066456596L;
|
||||
public String panel1() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String panel2() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String panel3() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String panel1() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
public String getGender() {
|
||||
return gender;
|
||||
}
|
||||
|
||||
public String panel2() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
public void setGender(String gender) {
|
||||
this.gender = gender;
|
||||
}
|
||||
|
||||
public String panel3() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getGender() {
|
||||
return gender;
|
||||
}
|
||||
|
||||
public void setGender(String gender) {
|
||||
this.gender = gender;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getTodayDate() {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMMM-yyyy");
|
||||
return sdf.format(new Date());
|
||||
}
|
||||
|
||||
public String getTodayTime() {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("kk:mm:ss");
|
||||
return sdf.format(new Date());
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getTodayDate() {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMMM-yyyy");
|
||||
return sdf.format(new Date());
|
||||
}
|
||||
|
||||
public String getTodayTime() {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("kk:mm:ss");
|
||||
return sdf.format(new Date());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.ajax;
|
||||
|
||||
import com.opensymphony.xwork2.ActionSupport;
|
||||
|
||||
public class Example5Action extends ActionSupport {
|
||||
|
||||
private static final long serialVersionUID = 2111967621952300611L;
|
||||
|
||||
private String name;
|
||||
private Integer age;
|
||||
|
||||
|
||||
public String getName() { return name; }
|
||||
public void setName(String name) { this.name = name; }
|
||||
|
||||
public Integer getAge() { return age; }
|
||||
public void setAge(Integer age) { this.age = age; }
|
||||
|
||||
@Override
|
||||
public String execute() throws Exception {
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
@@ -1,29 +1,26 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* Copyright 2006 The Apache Software Foundation.
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.struts2.showcase.ajax.tree;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
*/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user