diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index 72ac4a5e0..efdd907b7 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -62,6 +62,12 @@
${pom.version}
+
+ org.apache.struts
+ struts2-codebehind-plugin
+ ${pom.version}
+
+
org.apache.struts
struts2-spring-plugin
@@ -137,7 +143,7 @@
maven-jetty-plugin
6.0.1
- 10
+ 1000000
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/DateAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/DateAction.java
index dab1a7b1c..c84e0b5a2 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/DateAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/DateAction.java
@@ -20,13 +20,13 @@
*/
package org.apache.struts2.showcase;
-import com.opensymphony.xwork2.ActionSupport;
-
import java.text.DateFormat;
-import java.util.Date;
import java.util.Calendar;
+import java.util.Date;
import java.util.GregorianCalendar;
+import com.opensymphony.xwork2.ActionSupport;
+
/**
* DateAction
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/Guess.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/Guess.java
index 0c0dd3284..c5b6e48a9 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/Guess.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/Guess.java
@@ -20,13 +20,13 @@
*/
package org.apache.struts2.showcase;
-import com.opensymphony.xwork2.ActionSupport;
+import java.util.Random;
+
import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
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;
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java
index 0e9e50894..e6598bc5d 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java
@@ -20,18 +20,19 @@
*/
package org.apache.struts2.showcase;
-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;
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 java.io.File;
+
+import org.apache.struts2.ServletActionContext;
+
+import com.opensymphony.xwork2.ActionSupport;
+import com.opensymphony.xwork2.Validateable;
+import com.opensymphony.xwork2.util.ValueStack;
/**
*/
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java
index 081249bb2..0e53d3832 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java
@@ -20,13 +20,14 @@
*/
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 java.util.Collection;
-import java.io.Serializable;
+import com.opensymphony.xwork2.ActionSupport;
/**
* AbstractCRUDAction.
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java
index 3fd8115b7..8af63fa23 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java
@@ -20,7 +20,11 @@
*/
package org.apache.struts2.showcase.action;
-import com.opensymphony.xwork2.Preparable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.log4j.Logger;
import org.apache.struts2.showcase.application.TestDataProvider;
import org.apache.struts2.showcase.dao.Dao;
@@ -28,10 +32,7 @@ import org.apache.struts2.showcase.dao.EmployeeDao;
import org.apache.struts2.showcase.model.Employee;
import org.apache.struts2.showcase.model.Skill;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
+import com.opensymphony.xwork2.Preparable;
/**
* JsfEmployeeAction.
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java
index 2c8c73f5a..96d10fc3d 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java
@@ -20,11 +20,12 @@
*/
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.
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Category.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Category.java
index 923436892..b3a9859b0 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Category.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Category.java
@@ -20,10 +20,10 @@
*/
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;
/**
*/
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java
index fe825f034..165b22266 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java
@@ -20,7 +20,6 @@
*/
package org.apache.struts2.showcase.ajax.tree;
-import com.opensymphony.xwork2.ActionSupport;
/**
*/
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/application/MemoryStorage.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/application/MemoryStorage.java
index b788cf1a8..f1f2d7093 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/application/MemoryStorage.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/application/MemoryStorage.java
@@ -20,19 +20,18 @@
*/
package org.apache.struts2.showcase.application;
-import org.apache.struts2.showcase.exception.CreateException;
-import org.apache.struts2.showcase.exception.DuplicateKeyException;
-import org.apache.struts2.showcase.exception.StorageException;
-import org.apache.struts2.showcase.exception.UpdateException;
-import org.apache.struts2.showcase.model.IdEntity;
-import org.apache.struts2.showcase.application.Storage;
-
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import org.apache.struts2.showcase.exception.CreateException;
+import org.apache.struts2.showcase.exception.DuplicateKeyException;
+import org.apache.struts2.showcase.exception.StorageException;
+import org.apache.struts2.showcase.exception.UpdateException;
+import org.apache.struts2.showcase.model.IdEntity;
+
/**
* MemoryStorage.
* Very simple in-memory persistence emulation.
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/application/Storage.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/application/Storage.java
index d3d0e15ea..74d81e3b4 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/application/Storage.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/application/Storage.java
@@ -20,14 +20,14 @@
*/
package org.apache.struts2.showcase.application;
-import org.apache.struts2.showcase.model.IdEntity;
-import org.apache.struts2.showcase.exception.CreateException;
-import org.apache.struts2.showcase.exception.UpdateException;
-import org.apache.struts2.showcase.exception.StorageException;
-
import java.io.Serializable;
import java.util.Collection;
+import org.apache.struts2.showcase.exception.CreateException;
+import org.apache.struts2.showcase.exception.StorageException;
+import org.apache.struts2.showcase.exception.UpdateException;
+import org.apache.struts2.showcase.model.IdEntity;
+
/**
* Storage. Interface.
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/application/TestDataProvider.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/application/TestDataProvider.java
index fbad3955d..0cd0056df 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/application/TestDataProvider.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/application/TestDataProvider.java
@@ -20,18 +20,18 @@
*/
package org.apache.struts2.showcase.application;
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.Date;
+
+import org.apache.log4j.Logger;
import org.apache.struts2.showcase.dao.EmployeeDao;
import org.apache.struts2.showcase.dao.SkillDao;
import org.apache.struts2.showcase.exception.StorageException;
import org.apache.struts2.showcase.model.Employee;
import org.apache.struts2.showcase.model.Skill;
-import org.apache.log4j.Logger;
import org.springframework.beans.factory.InitializingBean;
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Arrays;
-
/**
* TestDataProvider.
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/AbstractDao.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/AbstractDao.java
index 95c6477f7..aae90e729 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/AbstractDao.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/AbstractDao.java
@@ -20,15 +20,15 @@
*/
package org.apache.struts2.showcase.dao;
-import org.apache.struts2.showcase.model.IdEntity;
-import org.apache.struts2.showcase.exception.CreateException;
-import org.apache.struts2.showcase.exception.UpdateException;
-import org.apache.struts2.showcase.exception.StorageException;
-import org.apache.struts2.showcase.application.Storage;
-
import java.io.Serializable;
import java.util.Collection;
+import org.apache.struts2.showcase.application.Storage;
+import org.apache.struts2.showcase.exception.CreateException;
+import org.apache.struts2.showcase.exception.StorageException;
+import org.apache.struts2.showcase.exception.UpdateException;
+import org.apache.struts2.showcase.model.IdEntity;
+
/**
* AbstractDao.
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/Dao.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/Dao.java
index 71e1d764d..9a88319da 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/Dao.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/Dao.java
@@ -20,14 +20,14 @@
*/
package org.apache.struts2.showcase.dao;
-import org.apache.struts2.showcase.model.IdEntity;
-import org.apache.struts2.showcase.exception.CreateException;
-import org.apache.struts2.showcase.exception.UpdateException;
-import org.apache.struts2.showcase.exception.StorageException;
-
import java.io.Serializable;
import java.util.Collection;
+import org.apache.struts2.showcase.exception.CreateException;
+import org.apache.struts2.showcase.exception.StorageException;
+import org.apache.struts2.showcase.exception.UpdateException;
+import org.apache.struts2.showcase.model.IdEntity;
+
/**
* Dao. Interface.
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/EmployeeDao.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/EmployeeDao.java
index 4e6caa680..ebec67348 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/EmployeeDao.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/EmployeeDao.java
@@ -20,12 +20,12 @@
*/
package org.apache.struts2.showcase.dao;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.struts2.showcase.model.Employee;
import org.apache.struts2.showcase.model.Skill;
-import java.util.List;
-import java.util.ArrayList;
-
/**
* EmployeeDao.
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/filedownload/FileDownloadAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/filedownload/FileDownloadAction.java
index c5ae1facf..904360c27 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/filedownload/FileDownloadAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/filedownload/FileDownloadAction.java
@@ -20,11 +20,12 @@
*/
package org.apache.struts2.showcase.filedownload;
-import org.apache.struts2.ServletActionContext;
-import com.opensymphony.xwork2.Action;
-
import java.io.InputStream;
+import org.apache.struts2.ServletActionContext;
+
+import com.opensymphony.xwork2.Action;
+
/**
* Action to demonstrate how to use file download.
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/FileUploadAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/FileUploadAction.java
index 20bc2fa60..e0b7c06a0 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/FileUploadAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/FileUploadAction.java
@@ -20,10 +20,10 @@
*/
package org.apache.struts2.showcase.fileupload;
-import com.opensymphony.xwork2.ActionSupport;
-
import java.io.File;
+import com.opensymphony.xwork2.ActionSupport;
+
/**
* Show case File Upload example's action. FileUploadAction
*
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/MultipleFileUploadUsingListAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/MultipleFileUploadUsingListAction.java
index 365dfe737..69124711e 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/MultipleFileUploadUsingListAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/MultipleFileUploadUsingListAction.java
@@ -19,11 +19,11 @@
* under the License.
*/
package org.apache.struts2.showcase.fileupload;
-import com.opensymphony.xwork2.ActionSupport;
-
import java.io.File;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
+
+import com.opensymphony.xwork2.ActionSupport;
/**
* Showcase action - multiple file upload using List
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/StartHangmanAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/StartHangmanAction.java
index dd62fc9ec..4c8aed099 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/StartHangmanAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/StartHangmanAction.java
@@ -20,7 +20,7 @@
*/
package org.apache.struts2.showcase.hangman;
-import static org.apache.struts2.showcase.hangman.HangmanConstants.*;
+import static org.apache.struts2.showcase.hangman.HangmanConstants.HANGMAN_SESSION_KEY;
import java.util.Map;
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/integration/GangsterForm.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/integration/GangsterForm.java
index 625bb732c..deded4659 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/integration/GangsterForm.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/integration/GangsterForm.java
@@ -23,7 +23,6 @@ package org.apache.struts2.showcase.integration;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.validator.ValidatorForm;
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java
index cf95869a6..208f23a0a 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java
@@ -34,11 +34,7 @@ import com.opensymphony.xwork2.ActionSupport;
* EditPerson
*
*/
-@Results({
- @Result(value="editPeople.jsp"),
- @Result(name="error",value="editPeople.jsp"),
- @Result(name="list", value="listPeople.action", type=ServletRedirectResult.class)
-})
+@Result(name="list", value="listPeople.action", type=ServletRedirectResult.class)
public class EditPersonAction extends ActionSupport {
private static final long serialVersionUID = 7699491775215130850L;
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java
index 0868d9a37..4c3bd25c0 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java
@@ -28,7 +28,6 @@ import org.apache.struts2.views.freemarker.FreemarkerResult;
import com.opensymphony.xwork2.ActionSupport;
-@Result(value="listPeople.ftl", type=FreemarkerResult.class)
public class ListPeopleAction extends ActionSupport {
private static final long serialVersionUID = 3608017189783645371L;
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java
index c02ce4d1a..95340b580 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java
@@ -30,10 +30,6 @@ import com.opensymphony.xwork2.ActionSupport;
/**
*/
@ParentPackage("person")
-@Results({
- @Result(value="newPerson.ftl", type=FreemarkerResult.class),
- @Result(name="input", value="newPerson.ftl", type=FreemarkerResult.class)
-})
public class NewPersonAction extends ActionSupport {
private static final long serialVersionUID = 200410824352645515L;
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/PersonManager.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/PersonManager.java
index 17771f828..cf7e28c28 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/PersonManager.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/PersonManager.java
@@ -20,8 +20,8 @@
*/
package org.apache.struts2.showcase.person;
-import java.util.Set;
import java.util.HashSet;
+import java.util.Set;
/**
*/
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/sitemesh/NoneDecoratorMapper.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/sitemesh/NoneDecoratorMapper.java
index 8fd9a0a25..cfdda0612 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/sitemesh/NoneDecoratorMapper.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/sitemesh/NoneDecoratorMapper.java
@@ -20,12 +20,12 @@
*/
package org.apache.struts2.showcase.sitemesh;
+import javax.servlet.http.HttpServletRequest;
+
import com.opensymphony.module.sitemesh.Decorator;
import com.opensymphony.module.sitemesh.Page;
import com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper;
-import javax.servlet.http.HttpServletRequest;
-
public class NoneDecoratorMapper extends AbstractDecoratorMapper {
public Decorator getDecorator(HttpServletRequest req, Page page) {
if ("none".equals(req.getAttribute("decorator"))) {
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java
index 67cc2cedb..8820fdc9f 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java
@@ -20,11 +20,11 @@
*/
package org.apache.struts2.showcase.token;
+import java.util.Date;
+
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
-import java.util.Date;
-
/**
* Example to illustrate the token and token-session interceptor.
*
diff --git a/apps/showcase/src/main/resources/struts.properties b/apps/showcase/src/main/resources/struts.properties
index a495cf1ea..fb5ce105e 100644
--- a/apps/showcase/src/main/resources/struts.properties
+++ b/apps/showcase/src/main/resources/struts.properties
@@ -8,3 +8,4 @@ struts.url.http.port = 8080
struts.freemarker.manager.classname=customFreemarkerManager
struts.serve.static=true
struts.serve.static.browserCache=false
+struts.codebehind.defaultPackage=person
\ No newline at end of file
diff --git a/apps/showcase/src/main/webapp/person/editPeople.jsp b/apps/showcase/src/main/webapp/person/editPerson.jsp
similarity index 100%
rename from apps/showcase/src/main/webapp/person/editPeople.jsp
rename to apps/showcase/src/main/webapp/person/editPerson.jsp