You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2014/03/02 22:17:47 UTC
[09/10] git commit: Moves showcase related JSPs under WEB-INF
Moves showcase related JSPs under WEB-INF
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/65eb9751
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/65eb9751
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/65eb9751
Branch: refs/heads/feature/move-jsps-under-webinf
Commit: 65eb97514c635da87c60f2a7b0d6bbbdd79358ee
Parents: d07e804
Author: Lukasz Lenart <lu...@apache.org>
Authored: Sun Mar 2 22:02:49 2014 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Sun Mar 2 22:02:49 2014 +0100
----------------------------------------------------------------------
.../main/resources/struts-actionchaining.xml | 2 +-
.../showcase/src/main/resources/struts-ajax.xml | 42 +-
.../showcase/src/main/resources/struts-chat.xml | 28 +-
.../src/main/resources/struts-conversion.xml | 40 +-
.../src/main/resources/struts-fileupload.xml | 14 +-
.../src/main/resources/struts-freemarker.xml | 4 +-
.../src/main/resources/struts-hangman.xml | 18 +-
.../src/main/resources/struts-integration.xml | 4 +-
.../src/main/resources/struts-interactive.xml | 2 +-
.../src/main/resources/struts-model-driven.xml | 4 +-
.../src/main/resources/struts-tags-non-ui.xml | 54 +-
.../src/main/resources/struts-tags-ui.xml | 42 +-
.../src/main/resources/struts-tiles.xml | 2 +-
.../src/main/resources/struts-token.xml | 24 +-
.../src/main/resources/struts-validation.xml | 30 +-
.../showcase/src/main/resources/struts-wait.xml | 12 +-
apps/showcase/src/main/resources/struts.xml | 6 +-
.../actionchaining/actionChainingResult.jsp | 23 +
.../src/main/webapp/WEB-INF/ajax/AjaxResult.jsp | 12 +
.../src/main/webapp/WEB-INF/ajax/AjaxResult2.js | 2 +
.../main/webapp/WEB-INF/ajax/AjaxResult3.jsp | 12 +
.../webapp/WEB-INF/ajax/autocompleter/index.jsp | 178 ++++++
.../src/main/webapp/WEB-INF/ajax/bind/index.jsp | 61 ++
.../main/webapp/WEB-INF/ajax/commonInclude.jsp | 5 +
.../src/main/webapp/WEB-INF/ajax/footer.jsp | 8 +
.../src/main/webapp/WEB-INF/ajax/index.jsp | 24 +
.../src/main/webapp/WEB-INF/ajax/options.ftl | 5 +
.../webapp/WEB-INF/ajax/remotebutton/index.jsp | 70 +++
.../webapp/WEB-INF/ajax/remotediv/example1.jsp | 23 +
.../webapp/WEB-INF/ajax/remotediv/example10.jsp | 31 +
.../webapp/WEB-INF/ajax/remotediv/example2.jsp | 28 +
.../webapp/WEB-INF/ajax/remotediv/example3.jsp | 27 +
.../webapp/WEB-INF/ajax/remotediv/example4.jsp | 28 +
.../webapp/WEB-INF/ajax/remotediv/example5.jsp | 27 +
.../webapp/WEB-INF/ajax/remotediv/example6.jsp | 24 +
.../webapp/WEB-INF/ajax/remotediv/example7.jsp | 27 +
.../webapp/WEB-INF/ajax/remotediv/example8.jsp | 57 ++
.../webapp/WEB-INF/ajax/remotediv/example9.jsp | 63 ++
.../webapp/WEB-INF/ajax/remotediv/index.jsp | 55 ++
.../webapp/WEB-INF/ajax/remoteforms/index.jsp | 119 ++++
.../webapp/WEB-INF/ajax/remotelink/index.jsp | 127 ++++
.../WEB-INF/ajax/tabbedpanel/example1.jsp | 95 +++
.../WEB-INF/ajax/tabbedpanel/example2.jsp | 26 +
.../WEB-INF/ajax/tabbedpanel/example3.jsp | 46 ++
.../WEB-INF/ajax/tabbedpanel/example4.jsp | 57 ++
.../WEB-INF/ajax/tabbedpanel/example5.jsp | 29 +
.../WEB-INF/ajax/tabbedpanel/example5Ok.jsp | 9 +
.../WEB-INF/ajax/tabbedpanel/example6.jsp | 40 ++
.../webapp/WEB-INF/ajax/tabbedpanel/index.jsp | 28 +
.../ajax/tabbedpanel/nodecorate/panel1.ftl | 3 +
.../ajax/tabbedpanel/nodecorate/panel2.ftl | 7 +
.../tabbedpanel/nodecorate/panel2Submit.ftl | 2 +
.../ajax/tabbedpanel/nodecorate/panel3.ftl | 9 +
.../tabbedpanel/nodecorate/panel3Submit.ftl | 2 +
.../src/main/webapp/WEB-INF/ajax/testjs.jsp | 14 +
.../webapp/WEB-INF/ajax/tree/getCategory.jsp | 23 +
.../WEB-INF/ajax/tree/partialChunkHeader.jsp | 6 +
.../main/webapp/WEB-INF/ajax/tree/toggle.jsp | 12 +
.../src/main/webapp/WEB-INF/ajax/tree/tree.jsp | 13 +
.../main/webapp/WEB-INF/ajax/widgets/index.jsp | 40 ++
.../src/main/webapp/WEB-INF/chat/chatLogin.ftl | 27 +
.../src/main/webapp/WEB-INF/chat/createRoom.ftl | 2 +
.../src/main/webapp/WEB-INF/chat/index.jsp | 3 +
.../WEB-INF/chat/messagesAvailableInRoom.ftl | 33 +
.../main/webapp/WEB-INF/chat/roomSelection.ftl | 172 ++++++
.../main/webapp/WEB-INF/chat/roomsAvailable.ftl | 44 ++
.../WEB-INF/chat/sendMessageToRoomResult.ftl | 2 +
.../src/main/webapp/WEB-INF/chat/showRoom.ftl | 167 +++++
.../main/webapp/WEB-INF/chat/usersAvailable.ftl | 6 +
.../WEB-INF/chat/usersAvailableInRoom.ftl | 8 +
.../webapp/WEB-INF/conversion/Address.java.txt | 35 ++
.../WEB-INF/conversion/AddressAction.java.txt | 44 ++
.../conversion/EnumTypeConverter.java.txt | 55 ++
.../WEB-INF/conversion/OperationsEnum.java.txt | 30 +
.../conversion/OperationsEnumAction.java.txt | 53 ++
.../OperationsEnumActionConversion.txt | 4 +
.../webapp/WEB-INF/conversion/Person.java.txt | 34 +
.../WEB-INF/conversion/PersonAction.java.txt | 43 ++
.../WEB-INF/conversion/enterAddressInfo.jsp | 53 ++
.../WEB-INF/conversion/enterOperations.jsp | 38 ++
.../WEB-INF/conversion/enterPersonInfo.jsp | 67 ++
.../main/webapp/WEB-INF/conversion/index.jsp | 35 ++
.../WEB-INF/conversion/showAddressInfo.jsp | 21 +
.../WEB-INF/conversion/showOperations.jsp | 21 +
.../WEB-INF/conversion/showPersonInfo.jsp | 24 +
.../customTheme/ftlCustomTemplate.ftl | 7 +
.../customTheme/jspCustomTemplate.jsp | 8 +
apps/showcase/src/main/webapp/WEB-INF/date.jsp | 2 +
.../webapp/WEB-INF/empmanager/editEmployee.jsp | 56 ++
.../webapp/WEB-INF/empmanager/editSkill.jsp | 42 ++
.../main/webapp/WEB-INF/empmanager/index.jsp | 1 +
.../webapp/WEB-INF/empmanager/listEmployees.jsp | 43 ++
.../webapp/WEB-INF/empmanager/listSkills.jsp | 41 ++
.../main/webapp/WEB-INF/filedownload/index.jsp | 36 ++
.../fileupload/multipleUploadUsingArray.jsp | 32 +
.../fileupload/multipleUploadUsingList.jsp | 32 +
.../WEB-INF/fileupload/upload-success.jsp | 31 +
.../main/webapp/WEB-INF/fileupload/upload.jsp | 27 +
.../freemarker/customFreemarkerManagerUsage.ftl | 34 +
.../main/webapp/WEB-INF/freemarker/index.jsp | 3 +
.../webapp/WEB-INF/freemarker/standardTags.ftl | 24 +
.../src/main/webapp/WEB-INF/hangman/blank.ftl | 0
.../main/webapp/WEB-INF/hangman/hangmanAjax.ftl | 247 ++++++++
.../webapp/WEB-INF/hangman/hangmanNonAjax.ftl | 144 +++++
.../hangman/updateCharacterAvailable.ftl | 45 ++
.../webapp/WEB-INF/hangman/updateGuessLeft.ftl | 7 +
.../webapp/WEB-INF/hangman/updateScaffold.ftl | 3 +
.../WEB-INF/hangman/updateVocabCharacters.ftl | 20 +
apps/showcase/src/main/webapp/WEB-INF/help.jsp | 32 +
.../webapp/WEB-INF/integration/modelDriven.jsp | 44 ++
.../WEB-INF/integration/modelDrivenResult.jsp | 43 ++
.../main/webapp/WEB-INF/interactive/demo.jsp | 0
.../WEB-INF/interactive/example-action.jsp | 76 +++
.../main/webapp/WEB-INF/interactive/index.jsp | 241 ++++++++
.../main/webapp/WEB-INF/interactive/jsp_0.jsp | 62 ++
.../main/webapp/WEB-INF/interactive/jsp_1.jsp | 52 ++
.../main/webapp/WEB-INF/interactive/jsp_2.jsp | 54 ++
.../main/webapp/WEB-INF/interactive/jsp_3.jsp | 65 ++
.../main/webapp/WEB-INF/interactive/jsp_4.jsp | 16 +
.../main/webapp/WEB-INF/interactive/ognl_0.jsp | 30 +
.../main/webapp/WEB-INF/interactive/ognl_1.jsp | 28 +
.../main/webapp/WEB-INF/interactive/ognl_2.jsp | 43 ++
.../main/webapp/WEB-INF/interactive/ognl_3.jsp | 54 ++
.../main/webapp/WEB-INF/interactive/ognl_4.jsp | 32 +
.../main/webapp/WEB-INF/interactive/ognl_5.jsp | 25 +
.../main/webapp/WEB-INF/interactive/ognl_6.jsp | 43 ++
.../main/webapp/WEB-INF/interactive/ognl_7.jsp | 55 ++
.../main/webapp/WEB-INF/interactive/ognl_8.jsp | 18 +
.../main/webapp/WEB-INF/jsf/employee/edit.jsp | 113 ++++
.../main/webapp/WEB-INF/jsf/employee/list.jsp | 75 +++
.../src/main/webapp/WEB-INF/jsf/index.jsp | 35 ++
.../webapp/WEB-INF/modelDriven/modelDriven.jsp | 42 ++
.../WEB-INF/modelDriven/modelDrivenResult.jsp | 42 ++
.../main/webapp/WEB-INF/person/edit-person.jsp | 53 ++
.../src/main/webapp/WEB-INF/person/index.jsp | 1 +
.../main/webapp/WEB-INF/person/list-people.ftl | 44 ++
.../main/webapp/WEB-INF/person/new-person.ftl | 49 ++
.../src/main/webapp/WEB-INF/showcase.jsp | 30 +
.../tags/non-ui/actionPrefix/actionPrefix.ftl | 25 +
.../non-ui/actionPrefix/actionPrefixExample.ftl | 54 ++
.../tags/non-ui/actionPrefix/methodPrefix.ftl | 25 +
.../tags/non-ui/actionPrefix/normalSubmit.ftl | 24 +
.../actionPrefix/redirectActionPrefix.ftl | 28 +
.../tags/non-ui/actionTag/includedPage.jsp | 1 +
.../tags/non-ui/actionTag/includedPage2.jsp | 2 +
.../tags/non-ui/actionTag/includedPage3.jsp | 2 +
.../tags/non-ui/actionTag/showActionTagDemo.jsp | 52 ++
.../main/webapp/WEB-INF/tags/non-ui/date.jsp | 114 ++++
.../main/webapp/WEB-INF/tags/non-ui/debug.jsp | 30 +
.../webapp/WEB-INF/tags/non-ui/ifTag/testIf.ftl | 618 ++++++++++++++++++
.../webapp/WEB-INF/tags/non-ui/ifTag/testIf.jsp | 619 +++++++++++++++++++
.../iteratorTag/appendIteratorTagDemoResult.jsp | 34 +
.../iteratorGeneratorTagDemoResult.jsp | 29 +
.../iteratorTag/mergeIteratorTagDemoResult.jsp | 33 +
.../iteratorTag/showAppendIteratorTagDemo.jsp | 28 +
.../showIteratorGeneratorTagDemo.jsp | 29 +
.../iteratorTag/showMergeIteratorTagDemo.jsp | 29 +
.../iteratorTag/subsetIteratorTagDemo.jsp | 29 +
.../iteratorTag/subsetIteratorTagDemoResult.jsp | 30 +
.../WEB-INF/tags/ui/actionTagExampleCalled.jsp | 2 +
.../WEB-INF/tags/ui/actionTagExampleCalling.jsp | 24 +
.../WEB-INF/tags/ui/componentTagExample.jsp | 69 +++
.../webapp/WEB-INF/tags/ui/datepicker/index.jsp | 33 +
.../WEB-INF/tags/ui/dynamicTreeSelect.jsp | 6 +
.../src/main/webapp/WEB-INF/tags/ui/example.jsp | 149 +++++
.../src/main/webapp/WEB-INF/tags/ui/example.vm | 39 ++
.../webapp/WEB-INF/tags/ui/exampleSubmited.jsp | 58 ++
.../webapp/WEB-INF/tags/ui/exampleSubmited.vm | 61 ++
.../WEB-INF/tags/ui/images/backgroundImage.jpg | Bin 0 -> 13192 bytes
.../webapp/WEB-INF/tags/ui/images/leopard.jpg | Bin 0 -> 3850 bytes
.../tags/ui/lotsOfOptiontransferselect.jsp | 101 +++
.../ui/lotsOfOptiontransferselectSubmit.jsp | 103 +++
.../main/webapp/WEB-INF/tags/ui/moreSelects.jsp | 69 +++
.../WEB-INF/tags/ui/moreSelectsSubmit.jsp | 63 ++
.../webapp/WEB-INF/tags/ui/staticTreeSelect.jsp | 11 +
.../webapp/WEB-INF/tags/ui/timepicker/index.jsp | 31 +
.../WEB-INF/tags/ui/treeExampleAjaxDynamic.ftl | 9 +
.../WEB-INF/tags/ui/treeExampleAjaxDynamic.jsp | 25 +
.../WEB-INF/tags/ui/treeExampleDynamic.jsp | 54 ++
.../WEB-INF/tags/ui/treeExampleStatic.jsp | 61 ++
.../WEB-INF/template/xhtml/mytemplate.jsp | 9 +
.../src/main/webapp/WEB-INF/tiles/body.ftl | 16 +
.../src/main/webapp/WEB-INF/tiles/body.jsp | 24 +
.../src/main/webapp/WEB-INF/tiles/header.jsp | 3 +
.../src/main/webapp/WEB-INF/tiles/layout.ftl | 10 +
.../src/main/webapp/WEB-INF/tiles/layout.jsp | 13 +
.../main/webapp/WEB-INF/token/doublePost.jsp | 28 +
.../src/main/webapp/WEB-INF/token/example1.jsp | 50 ++
.../src/main/webapp/WEB-INF/token/example2.jsp | 38 ++
.../src/main/webapp/WEB-INF/token/example3.jsp | 37 ++
.../src/main/webapp/WEB-INF/token/example4.ftl | 40 ++
.../src/main/webapp/WEB-INF/token/index.jsp | 48 ++
.../main/webapp/WEB-INF/token/transferDone.jsp | 48 ++
.../validation/clientSideValidationExample.jsp | 64 ++
.../validation/fieldValidatorsExample.jsp | 63 ++
.../main/webapp/WEB-INF/validation/footer.jsp | 8 +
.../main/webapp/WEB-INF/validation/index.jsp | 51 ++
.../validation/nonFieldValidatorsExample.jsp | 46 ++
.../webapp/WEB-INF/validation/quiz-ajax.jsp | 104 ++++
.../webapp/WEB-INF/validation/quiz-basic.jsp | 41 ++
.../WEB-INF/validation/quiz-client-css.jsp | 37 ++
.../webapp/WEB-INF/validation/quiz-client.jsp | 37 ++
.../webapp/WEB-INF/validation/quiz-success.jsp | 27 +
.../storeErrorsAcrossRequestCancel.jsp | 30 +
.../storeErrorsAcrossRequestExample.jsp | 54 ++
.../validation/storeErrorsAcrossRequestOk.jsp | 31 +
.../successClientSideValidationExample.jsp | 64 ++
.../successFieldValidatorsExample.jsp | 61 ++
.../successNonFieldValidatorsExample.jsp | 45 ++
.../successVisitorValidatorsExample.jsp | 46 ++
.../validation/visitorValidatorsExample.jsp | 43 ++
.../src/main/webapp/WEB-INF/viewSource.jsp | 54 ++
.../src/main/webapp/WEB-INF/wait/complete.jsp | 25 +
.../src/main/webapp/WEB-INF/wait/example1.jsp | 28 +
.../src/main/webapp/WEB-INF/wait/example2.jsp | 29 +
.../src/main/webapp/WEB-INF/wait/example3.jsp | 29 +
.../src/main/webapp/WEB-INF/wait/index.jsp | 34 +
.../src/main/webapp/WEB-INF/wait/wait.jsp | 53 ++
.../src/main/webapp/WEB-INF/xslt/index.jsp | 26 +
.../actionchaining/actionChainingResult.jsp | 23 -
.../src/main/webapp/ajax/AjaxResult.jsp | 12 -
.../src/main/webapp/ajax/AjaxResult2.js | 2 -
.../src/main/webapp/ajax/AjaxResult3.jsp | 12 -
.../main/webapp/ajax/autocompleter/index.jsp | 178 ------
.../src/main/webapp/ajax/bind/index.jsp | 61 --
.../src/main/webapp/ajax/commonInclude.jsp | 5 -
apps/showcase/src/main/webapp/ajax/footer.jsp | 8 -
apps/showcase/src/main/webapp/ajax/index.jsp | 24 -
apps/showcase/src/main/webapp/ajax/options.ftl | 5 -
.../src/main/webapp/ajax/remotebutton/index.jsp | 70 ---
.../src/main/webapp/ajax/remotediv/example1.jsp | 23 -
.../main/webapp/ajax/remotediv/example10.jsp | 31 -
.../src/main/webapp/ajax/remotediv/example2.jsp | 28 -
.../src/main/webapp/ajax/remotediv/example3.jsp | 27 -
.../src/main/webapp/ajax/remotediv/example4.jsp | 28 -
.../src/main/webapp/ajax/remotediv/example5.jsp | 27 -
.../src/main/webapp/ajax/remotediv/example6.jsp | 24 -
.../src/main/webapp/ajax/remotediv/example7.jsp | 27 -
.../src/main/webapp/ajax/remotediv/example8.jsp | 57 --
.../src/main/webapp/ajax/remotediv/example9.jsp | 63 --
.../src/main/webapp/ajax/remotediv/index.jsp | 55 --
.../src/main/webapp/ajax/remoteforms/index.jsp | 119 ----
.../src/main/webapp/ajax/remotelink/index.jsp | 127 ----
.../main/webapp/ajax/tabbedpanel/example1.jsp | 95 ---
.../main/webapp/ajax/tabbedpanel/example2.jsp | 26 -
.../main/webapp/ajax/tabbedpanel/example3.jsp | 46 --
.../main/webapp/ajax/tabbedpanel/example4.jsp | 57 --
.../main/webapp/ajax/tabbedpanel/example5.jsp | 29 -
.../main/webapp/ajax/tabbedpanel/example5Ok.jsp | 9 -
.../main/webapp/ajax/tabbedpanel/example6.jsp | 40 --
.../src/main/webapp/ajax/tabbedpanel/index.jsp | 28 -
.../ajax/tabbedpanel/nodecorate/panel1.ftl | 3 -
.../ajax/tabbedpanel/nodecorate/panel2.ftl | 7 -
.../tabbedpanel/nodecorate/panel2Submit.ftl | 2 -
.../ajax/tabbedpanel/nodecorate/panel3.ftl | 9 -
.../tabbedpanel/nodecorate/panel3Submit.ftl | 2 -
apps/showcase/src/main/webapp/ajax/testjs.jsp | 14 -
.../src/main/webapp/ajax/tree/getCategory.jsp | 23 -
.../webapp/ajax/tree/partialChunkHeader.jsp | 6 -
.../src/main/webapp/ajax/tree/toggle.jsp | 12 -
.../showcase/src/main/webapp/ajax/tree/tree.jsp | 13 -
.../src/main/webapp/ajax/widgets/index.jsp | 40 --
.../showcase/src/main/webapp/chat/chatLogin.ftl | 27 -
.../src/main/webapp/chat/createRoom.ftl | 2 -
apps/showcase/src/main/webapp/chat/index.jsp | 3 -
.../webapp/chat/messagesAvailableInRoom.ftl | 33 -
.../src/main/webapp/chat/roomSelection.ftl | 172 ------
.../src/main/webapp/chat/roomsAvailable.ftl | 44 --
.../webapp/chat/sendMessageToRoomResult.ftl | 2 -
apps/showcase/src/main/webapp/chat/showRoom.ftl | 167 -----
.../src/main/webapp/chat/usersAvailable.ftl | 6 -
.../main/webapp/chat/usersAvailableInRoom.ftl | 8 -
.../src/main/webapp/conversion/Address.java.txt | 35 --
.../webapp/conversion/AddressAction.java.txt | 44 --
.../conversion/EnumTypeConverter.java.txt | 55 --
.../webapp/conversion/OperationsEnum.java.txt | 30 -
.../conversion/OperationsEnumAction.java.txt | 53 --
.../OperationsEnumActionConversion.txt | 4 -
.../src/main/webapp/conversion/Person.java.txt | 34 -
.../webapp/conversion/PersonAction.java.txt | 43 --
.../main/webapp/conversion/enterAddressInfo.jsp | 53 --
.../main/webapp/conversion/enterOperations.jsp | 38 --
.../main/webapp/conversion/enterPersonInfo.jsp | 67 --
.../src/main/webapp/conversion/index.jsp | 35 --
.../main/webapp/conversion/showAddressInfo.jsp | 21 -
.../main/webapp/conversion/showOperations.jsp | 21 -
.../main/webapp/conversion/showPersonInfo.jsp | 24 -
.../customTheme/ftlCustomTemplate.ftl | 7 -
.../customTheme/jspCustomTemplate.jsp | 8 -
apps/showcase/src/main/webapp/date.jsp | 2 -
.../src/main/webapp/empmanager/editEmployee.jsp | 56 --
.../src/main/webapp/empmanager/editSkill.jsp | 42 --
.../src/main/webapp/empmanager/index.jsp | 1 -
.../main/webapp/empmanager/listEmployees.jsp | 43 --
.../src/main/webapp/empmanager/listSkills.jsp | 41 --
.../src/main/webapp/filedownload/index.jsp | 36 --
.../fileupload/multipleUploadUsingArray.jsp | 32 -
.../fileupload/multipleUploadUsingList.jsp | 32 -
.../main/webapp/fileupload/upload-success.jsp | 31 -
.../src/main/webapp/fileupload/upload.jsp | 27 -
.../freemarker/customFreemarkerManagerUsage.ftl | 34 -
.../src/main/webapp/freemarker/index.jsp | 3 -
.../src/main/webapp/freemarker/standardTags.ftl | 24 -
apps/showcase/src/main/webapp/hangman/blank.ftl | 0
.../src/main/webapp/hangman/hangmanAjax.ftl | 247 --------
.../src/main/webapp/hangman/hangmanNonAjax.ftl | 144 -----
.../webapp/hangman/updateCharacterAvailable.ftl | 45 --
.../src/main/webapp/hangman/updateGuessLeft.ftl | 7 -
.../src/main/webapp/hangman/updateScaffold.ftl | 3 -
.../webapp/hangman/updateVocabCharacters.ftl | 20 -
apps/showcase/src/main/webapp/help.jsp | 32 -
.../src/main/webapp/integration/modelDriven.jsp | 44 --
.../webapp/integration/modelDrivenResult.jsp | 43 --
.../src/main/webapp/interactive/demo.jsp | 0
.../main/webapp/interactive/example-action.jsp | 76 ---
.../src/main/webapp/interactive/index.jsp | 241 --------
.../src/main/webapp/interactive/jsp_0.jsp | 62 --
.../src/main/webapp/interactive/jsp_1.jsp | 52 --
.../src/main/webapp/interactive/jsp_2.jsp | 54 --
.../src/main/webapp/interactive/jsp_3.jsp | 65 --
.../src/main/webapp/interactive/jsp_4.jsp | 16 -
.../src/main/webapp/interactive/ognl_0.jsp | 30 -
.../src/main/webapp/interactive/ognl_1.jsp | 28 -
.../src/main/webapp/interactive/ognl_2.jsp | 43 --
.../src/main/webapp/interactive/ognl_3.jsp | 54 --
.../src/main/webapp/interactive/ognl_4.jsp | 32 -
.../src/main/webapp/interactive/ognl_5.jsp | 25 -
.../src/main/webapp/interactive/ognl_6.jsp | 43 --
.../src/main/webapp/interactive/ognl_7.jsp | 55 --
.../src/main/webapp/interactive/ognl_8.jsp | 18 -
.../src/main/webapp/jsf/employee/edit.jsp | 113 ----
.../src/main/webapp/jsf/employee/list.jsp | 75 ---
apps/showcase/src/main/webapp/jsf/index.jsp | 35 --
.../src/main/webapp/modelDriven/modelDriven.jsp | 42 --
.../webapp/modelDriven/modelDrivenResult.jsp | 42 --
.../src/main/webapp/person/edit-person.jsp | 53 --
apps/showcase/src/main/webapp/person/index.jsp | 1 -
.../src/main/webapp/person/list-people.ftl | 44 --
.../src/main/webapp/person/new-person.ftl | 49 --
apps/showcase/src/main/webapp/showcase.jsp | 30 -
.../tags/non-ui/actionPrefix/actionPrefix.ftl | 25 -
.../non-ui/actionPrefix/actionPrefixExample.ftl | 54 --
.../tags/non-ui/actionPrefix/methodPrefix.ftl | 25 -
.../tags/non-ui/actionPrefix/normalSubmit.ftl | 24 -
.../actionPrefix/redirectActionPrefix.ftl | 28 -
.../tags/non-ui/actionTag/includedPage.jsp | 1 -
.../tags/non-ui/actionTag/includedPage2.jsp | 2 -
.../tags/non-ui/actionTag/includedPage3.jsp | 2 -
.../tags/non-ui/actionTag/showActionTagDemo.jsp | 52 --
.../src/main/webapp/tags/non-ui/date.jsp | 114 ----
.../src/main/webapp/tags/non-ui/debug.jsp | 30 -
.../main/webapp/tags/non-ui/ifTag/testIf.ftl | 618 ------------------
.../main/webapp/tags/non-ui/ifTag/testIf.jsp | 619 -------------------
.../iteratorTag/appendIteratorTagDemoResult.jsp | 34 -
.../iteratorGeneratorTagDemoResult.jsp | 29 -
.../iteratorTag/mergeIteratorTagDemoResult.jsp | 33 -
.../iteratorTag/showAppendIteratorTagDemo.jsp | 28 -
.../showIteratorGeneratorTagDemo.jsp | 29 -
.../iteratorTag/showMergeIteratorTagDemo.jsp | 29 -
.../iteratorTag/subsetIteratorTagDemo.jsp | 29 -
.../iteratorTag/subsetIteratorTagDemoResult.jsp | 30 -
.../webapp/tags/ui/actionTagExampleCalled.jsp | 2 -
.../webapp/tags/ui/actionTagExampleCalling.jsp | 24 -
.../main/webapp/tags/ui/componentTagExample.jsp | 69 ---
.../main/webapp/tags/ui/datepicker/index.jsp | 33 -
.../main/webapp/tags/ui/dynamicTreeSelect.jsp | 6 -
.../src/main/webapp/tags/ui/example.jsp | 149 -----
.../showcase/src/main/webapp/tags/ui/example.vm | 39 --
.../src/main/webapp/tags/ui/exampleSubmited.jsp | 58 --
.../src/main/webapp/tags/ui/exampleSubmited.vm | 61 --
.../webapp/tags/ui/images/backgroundImage.jpg | Bin 13192 -> 0 bytes
.../src/main/webapp/tags/ui/images/leopard.jpg | Bin 3850 -> 0 bytes
.../tags/ui/lotsOfOptiontransferselect.jsp | 101 ---
.../ui/lotsOfOptiontransferselectSubmit.jsp | 103 ---
.../src/main/webapp/tags/ui/moreSelects.jsp | 69 ---
.../main/webapp/tags/ui/moreSelectsSubmit.jsp | 63 --
.../main/webapp/tags/ui/staticTreeSelect.jsp | 11 -
.../main/webapp/tags/ui/timepicker/index.jsp | 31 -
.../webapp/tags/ui/treeExampleAjaxDynamic.ftl | 9 -
.../webapp/tags/ui/treeExampleAjaxDynamic.jsp | 25 -
.../main/webapp/tags/ui/treeExampleDynamic.jsp | 54 --
.../main/webapp/tags/ui/treeExampleStatic.jsp | 61 --
.../main/webapp/template/xhtml/mytemplate.jsp | 9 -
apps/showcase/src/main/webapp/tiles/body.ftl | 16 -
apps/showcase/src/main/webapp/tiles/body.jsp | 24 -
apps/showcase/src/main/webapp/tiles/header.jsp | 3 -
apps/showcase/src/main/webapp/tiles/layout.ftl | 10 -
apps/showcase/src/main/webapp/tiles/layout.jsp | 13 -
.../src/main/webapp/token/doublePost.jsp | 28 -
.../showcase/src/main/webapp/token/example1.jsp | 50 --
.../showcase/src/main/webapp/token/example2.jsp | 38 --
.../showcase/src/main/webapp/token/example3.jsp | 37 --
.../showcase/src/main/webapp/token/example4.ftl | 40 --
apps/showcase/src/main/webapp/token/index.jsp | 48 --
.../src/main/webapp/token/transferDone.jsp | 48 --
.../validation/clientSideValidationExample.jsp | 64 --
.../validation/fieldValidatorsExample.jsp | 63 --
.../src/main/webapp/validation/footer.jsp | 8 -
.../src/main/webapp/validation/index.jsp | 51 --
.../validation/nonFieldValidatorsExample.jsp | 46 --
.../src/main/webapp/validation/quiz-ajax.jsp | 104 ----
.../src/main/webapp/validation/quiz-basic.jsp | 41 --
.../main/webapp/validation/quiz-client-css.jsp | 37 --
.../src/main/webapp/validation/quiz-client.jsp | 37 --
.../src/main/webapp/validation/quiz-success.jsp | 27 -
.../storeErrorsAcrossRequestCancel.jsp | 30 -
.../storeErrorsAcrossRequestExample.jsp | 54 --
.../validation/storeErrorsAcrossRequestOk.jsp | 31 -
.../successClientSideValidationExample.jsp | 64 --
.../successFieldValidatorsExample.jsp | 61 --
.../successNonFieldValidatorsExample.jsp | 45 --
.../successVisitorValidatorsExample.jsp | 46 --
.../validation/visitorValidatorsExample.jsp | 43 --
apps/showcase/src/main/webapp/viewSource.jsp | 54 --
apps/showcase/src/main/webapp/wait/complete.jsp | 25 -
apps/showcase/src/main/webapp/wait/example1.jsp | 28 -
apps/showcase/src/main/webapp/wait/example2.jsp | 29 -
apps/showcase/src/main/webapp/wait/example3.jsp | 29 -
apps/showcase/src/main/webapp/wait/index.jsp | 34 -
apps/showcase/src/main/webapp/wait/wait.jsp | 53 --
apps/showcase/src/main/webapp/xslt/index.jsp | 26 -
421 files changed, 9361 insertions(+), 9361 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-actionchaining.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-actionchaining.xml b/apps/showcase/src/main/resources/struts-actionchaining.xml
index bdefeb0..94d8b28 100644
--- a/apps/showcase/src/main/resources/struts-actionchaining.xml
+++ b/apps/showcase/src/main/resources/struts-actionchaining.xml
@@ -12,7 +12,7 @@
<result type="chain">actionChain3</result>
</action>
<action name="actionChain3" class="org.apache.struts2.showcase.actionchaining.ActionChain3">
- <result>/actionchaining/actionChainingResult.jsp</result>
+ <result>/WEB-INF/actionchaining/actionChainingResult.jsp</result>
</action>
</package>
</struts>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-ajax.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-ajax.xml b/apps/showcase/src/main/resources/struts-ajax.xml
index 910112c..43d0876 100644
--- a/apps/showcase/src/main/resources/struts-ajax.xml
+++ b/apps/showcase/src/main/resources/struts-ajax.xml
@@ -6,27 +6,27 @@
<struts>
<package name="ajax" extends="struts-default">
<action name="AjaxTest" class="org.apache.struts2.showcase.ajax.AjaxTestAction">
- <result>/ajax/AjaxResult.jsp</result>
+ <result>/WEB-INF/ajax/AjaxResult.jsp</result>
</action>
<action name="AjaxRemoteLink" class="org.apache.struts2.showcase.ajax.AjaxTestAction">
- <result>/ajax/AjaxResult2.js</result>
+ <result>/WEB-INF/ajax/AjaxResult2.js</result>
</action>
<action name="AjaxRemoteForm" class="org.apache.struts2.showcase.ajax.AjaxTestAction">
- <result>/ajax/AjaxResult3.jsp</result>
+ <result>/WEB-INF/ajax/AjaxResult3.jsp</result>
</action>
<action name="Test1">
- <result>/ajax/remoteforms/test2.jsp</result>
+ <result>/WEB-INF/ajax/remoteforms/test2.jsp</result>
</action>
<action name="Test2">
- <result>/ajax/remoteforms/test3.jsp</result>
+ <result>/WEB-INF/ajax/remoteforms/test3.jsp</result>
</action>
<action name="Test3">
- <result>/ajax/testjs.jsp</result>
+ <result>/WEB-INF/ajax/testjs.jsp</result>
</action>
<action name="JSONList">
@@ -34,54 +34,54 @@
</action>
<action name="tree">
- <result>/ajax/tree/tree.jsp</result>
+ <result>/WEB-INF/ajax/tree/tree.jsp</result>
</action>
<action name="getCategory" class="org.apache.struts2.showcase.ajax.tree.GetCategory">
- <result>/ajax/tree/getCategory.jsp</result>
+ <result>/WEB-INF/ajax/tree/getCategory.jsp</result>
</action>
<action name="toggle" class="org.apache.struts2.showcase.ajax.tree.Toggle">
- <result>/ajax/tree/toggle.jsp</result>
+ <result>/WEB-INF/ajax/tree/toggle.jsp</result>
</action>
<action name="example4">
- <result type="freemarker">/ajax/tabbedpanel/example4.ftl</result>
+ <result type="freemarker">/WEB-INF/ajax/tabbedpanel/example4.ftl</result>
</action>
<action name="example5" class="org.apache.struts2.showcase.ajax.Example5Action">
- <result name="input">/ajax/tabbedpanel/example5.jsp</result>
- <result>/ajax/tabbedpanel/example5Ok.jsp</result>
+ <result name="input">/WEB-INF/ajax/tabbedpanel/example5.jsp</result>
+ <result>/WEB-INF/ajax/tabbedpanel/example5Ok.jsp</result>
</action>
</package>
<package name="ajaxNoDecorate" namespace="/nodecorate" extends="json-default">
<!-- example 4 -->
<action name="panel1" class="org.apache.struts2.showcase.ajax.Example4ShowPanelAction" method="panel1">
- <result type="freemarker">/ajax/tabbedpanel/nodecorate/panel1.ftl</result>
+ <result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel1.ftl</result>
</action>
<action name="panel2">
- <result type="freemarker">/ajax/tabbedpanel/nodecorate/panel2.ftl</result>
+ <result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel2.ftl</result>
</action>
<action name="panel3">
- <result type="freemarker">/ajax/tabbedpanel/nodecorate/panel3.ftl</result>
+ <result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel3.ftl</result>
</action>
<action name="panel2Submit" class="org.apache.struts2.showcase.ajax.Example4ShowPanelAction" method="panel2">
- <result type="freemarker">/ajax/tabbedpanel/nodecorate/panel2Submit.ftl</result>
+ <result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel2Submit.ftl</result>
</action>
<action name="panel3Submit" class="org.apache.struts2.showcase.ajax.Example4ShowPanelAction" method="panel3">
- <result type="freemarker">/ajax/tabbedpanel/nodecorate/panel3Submit.ftl</result>
+ <result type="freemarker">/WEB-INF/ajax/tabbedpanel/nodecorate/panel3Submit.ftl</result>
</action>
<action name="AutocompleterExample" class="org.apache.struts2.showcase.ajax.AutocompleterExampleAction">
- <result type="freemarker">/ajax/options.ftl</result>
+ <result type="freemarker">/WEB-INF/ajax/options.ftl</result>
</action>
<action name="quizAjax" class="org.apache.struts2.showcase.validation.QuizAction">
<interceptor-ref name="jsonValidationWorkflowStack"/>
- <result name="input">/validation/quiz-ajax.jsp</result>
- <result>/validation/quiz-success.jsp</result>
+ <result name="input">/WEB-INF/validation/quiz-ajax.jsp</result>
+ <result>/WEB-INF/validation/quiz-success.jsp</result>
</action>
<action name="getNodes" class="org.apache.struts2.showcase.ShowAjaxDynamicTreeAction">
- <result type="freemarker">/tags/ui/treeExampleAjaxDynamic.ftl</result>
+ <result type="freemarker">/WEB-INF/tags/ui/treeExampleAjaxDynamic.ftl</result>
</action>
</package>
</struts>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-chat.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-chat.xml b/apps/showcase/src/main/resources/struts-chat.xml
index 568b71a..15ea15b 100644
--- a/apps/showcase/src/main/resources/struts-chat.xml
+++ b/apps/showcase/src/main/resources/struts-chat.xml
@@ -33,18 +33,18 @@
</interceptors>
<global-results>
- <result name="login" type="freemarker">/chat/chatLogin.ftl</result>
+ <result name="login" type="freemarker">/WEB-INF/chat/chatLogin.ftl</result>
</global-results>
<action name="main">
<interceptor-ref name="chatAuthentication" />
- <result type="freemarker">/chat/roomSelection.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/roomSelection.ftl</result>
</action>
<action name="login" class="chatLoginAction">
<interceptor-ref name="defaultStack" />
<result type="redirect">/chat/showRooms.action</result>
- <result name="input" type="freemarker">/chat/chatLogin.ftl</result>
+ <result name="input" type="freemarker">/WEB-INF/chat/chatLogin.ftl</result>
</action>
<action name="logout" class="chatLogoutAction">
@@ -54,12 +54,12 @@
<action name="showRooms">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/roomSelection.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/roomSelection.ftl</result>
</action>
<action name="enterRoom" class="enterRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/showRoom.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/showRoom.ftl</result>
</action>
<action name="exitRoom" class="exitRoomAction">
@@ -100,35 +100,35 @@
<action name="usersAvailable" class="usersAvailableAction">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/usersAvailable.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/usersAvailable.ftl</result>
</action>
<action name="roomsAvailable" class="roomsAvailableAction">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/roomsAvailable.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/roomsAvailable.ftl</result>
</action>
<action name="createRoom" class="crudRoomAction" method="create">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/createRoom.ftl</result>
- <result name="input" type="freemarker">/chat/createRoom.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/createRoom.ftl</result>
+ <result name="input" type="freemarker">/WEB-INF/chat/createRoom.ftl</result>
</action>
<action name="messagesAvailableInRoom" class="messagesAvailableInRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/messagesAvailableInRoom.ftl</result>
- <result name="input" type="freemarker">/chat/messagesAvailableInRoom.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/messagesAvailableInRoom.ftl</result>
+ <result name="input" type="freemarker">/WEB-INF/chat/messagesAvailableInRoom.ftl</result>
</action>
<action name="sendMessageToRoom" class="sendMessageToRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/sendMessageToRoomResult.ftl</result>
- <result name="input" type="freemarker">/chat/sendMessageToRoomResult.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/sendMessageToRoomResult.ftl</result>
+ <result name="input" type="freemarker">/WEB-INF/chat/sendMessageToRoomResult.ftl</result>
</action>
<action name="usersAvailableInRoom" class="usersAvailableInRoomAction">
<interceptor-ref name="chatAuthenticationStack" />
- <result type="freemarker">/chat/usersAvailableInRoom.ftl</result>
+ <result type="freemarker">/WEB-INF/chat/usersAvailableInRoom.ftl</result>
</action>
</package>
</struts>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-conversion.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-conversion.xml b/apps/showcase/src/main/resources/struts-conversion.xml
index ad0b1a9..27dd687 100644
--- a/apps/showcase/src/main/resources/struts-conversion.xml
+++ b/apps/showcase/src/main/resources/struts-conversion.xml
@@ -9,65 +9,65 @@
<!-- Example populating a List inside an Action -->
<action name="enterPersonsInfo" method="input"
class="org.apache.struts2.showcase.conversion.PersonAction">
- <result>enterPersonInfo.jsp</result>
+ <result>/WEB-INF/conversion/enterPersonInfo.jsp</result>
</action>
<action name="submitPersonInfo" method="submit"
class="org.apache.struts2.showcase.conversion.PersonAction">
- <result>showPersonInfo.jsp</result>
- <result name="input">enterPersonInfo.jsp</result>
+ <result>/WEB-INF/conversion/showPersonInfo.jsp</result>
+ <result name="input">/WEB-INF/conversion/enterPersonInfo.jsp</result>
</action>
<action name="showPersonJspCode">
- <result type="plainText">/conversion/enterPersonInfo.jsp</result>
+ <result type="plainText">/WEB-INF/conversion/enterPersonInfo.jsp</result>
</action>
<action name="showPersonActionJavaCode">
- <result type="plainText">/conversion/PersonAction.java.txt</result>
+ <result type="plainText">/WEB-INF/conversion/PersonAction.java.txt</result>
</action>
<action name="showPersonJavaCode">
- <result type="plainText">/conversion/Person.java.txt</result>
+ <result type="plainText">/WEB-INF/conversion/Person.java.txt</result>
</action>
<!-- Example populating a Set inside an Action -->
<action name="enterAddressesInfo" class="org.apache.struts2.showcase.conversion.AddressAction" method="input">
- <result>enterAddressInfo.jsp</result>
+ <result>/WEB-INF/conversion/enterAddressInfo.jsp</result>
</action>
<action name="submitAddressesInfo" class="org.apache.struts2.showcase.conversion.AddressAction" method="submit">
- <result>showAddressInfo.jsp</result>
- <result name="input">enterAddressInfo.jsp</result>
+ <result>/WEB-INF/conversion/showAddressInfo.jsp</result>
+ <result name="input">/WEB-INF/conversion/enterAddressInfo.jsp</result>
</action>
<action name="showAddressJspCode">
- <result type="plainText">/conversion/enterAddressInfo.jsp</result>
+ <result type="plainText">/WEB-INF/conversion/enterAddressInfo.jsp</result>
</action>
<action name="showAddressActionJavaCode">
- <result type="plainText">/conversion/AddressAction.java.txt</result>
+ <result type="plainText">/WEB-INF/conversion/AddressAction.java.txt</result>
</action>
<action name="showAddressJavaCode">
- <result type="plainText">/conversion/Address.java.txt</result>
+ <result type="plainText">/WEB-INF/conversion/Address.java.txt</result>
</action>
<!-- Example populating a List with Tiger 5 Enum -->
<action name="enterOperationEnumInfo" class="org.apache.struts2.showcase.conversion.OperationsEnumAction" method="input">
- <result>enterOperations.jsp</result>
+ <result>/WEB-INF/conversion/enterOperations.jsp</result>
</action>
<action name="submitOperationEnumInfo" class="org.apache.struts2.showcase.conversion.OperationsEnumAction" method="submit">
- <result>showOperations.jsp</result>
- <result name="input">enterOperations.jsp</result>
+ <result>/WEB-INF/conversion/showOperations.jsp</result>
+ <result name="input">/WEB-INF/conversion/enterOperations.jsp</result>
</action>
<action name="showEnumJspCode">
- <result type="plainText">/conversion/enterOperations.jsp</result>
+ <result type="plainText">/WEB-INF/conversion/enterOperations.jsp</result>
</action>
<action name="showOperationsEnumJavaCode">
- <result type="plainText">/conversion/OperationsEnum.java.txt</result>
+ <result type="plainText">/WEB-INF/conversion/OperationsEnum.java.txt</result>
</action>
<action name="showOperationEnumActionJavaCode">
- <result type="plainText">/conversion/OperationsEnumAction.java.txt</result>
+ <result type="plainText">/WEB-INF/conversion/OperationsEnumAction.java.txt</result>
</action>
<action name="showEnumTypeConverterJavaCode">
- <result type="plainText">/conversion/EnumTypeConverter.java.txt</result>
+ <result type="plainText">/WEB-INF/conversion/EnumTypeConverter.java.txt</result>
</action>
<action name="showOperationsEnumActionConversionProperties">
- <result type="plainText">/conversion/OperationsEnumActionConversion.txt</result>
+ <result type="plainText">/WEB-INF/conversion/OperationsEnumActionConversion.txt</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-fileupload.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-fileupload.xml b/apps/showcase/src/main/resources/struts-fileupload.xml
index 7107182..5a81f61 100644
--- a/apps/showcase/src/main/resources/struts-fileupload.xml
+++ b/apps/showcase/src/main/resources/struts-fileupload.xml
@@ -7,29 +7,29 @@
<package name="fileupload" extends="struts-default" namespace="/fileupload">
<action name="upload" class="org.apache.struts2.showcase.fileupload.FileUploadAction" method="input">
- <result>upload.jsp</result>
+ <result>/WEB-INF/fileupload/upload.jsp</result>
</action>
<action name="doUpload" class="org.apache.struts2.showcase.fileupload.FileUploadAction" method="upload">
- <result name="input">upload.jsp</result>
- <result>upload-success.jsp</result>
+ <result name="input">/WEB-INF/fileupload/upload.jsp</result>
+ <result>/WEB-INF/fileupload/upload-success.jsp</result>
</action>
<action name="multipleUploadUsingList">
- <result>multipleUploadUsingList.jsp</result>
+ <result>/WEB-INF/fileupload/multipleUploadUsingList.jsp</result>
</action>
<action name="doMultipleUploadUsingList" class="org.apache.struts2.showcase.fileupload.MultipleFileUploadUsingListAction" method="upload">
- <result>multiple-success.jsp</result>
+ <result>/WEB-INF/fileupload/multiple-success.jsp</result>
</action>
<action name="multipleUploadUsingArray">
- <result>multipleUploadUsingArray.jsp</result>
+ <result>/WEB-INF/fileupload/multipleUploadUsingArray.jsp</result>
</action>
<action name="doMultipleUploadUsingArray" class="org.apache.struts2.showcase.fileupload.MultipleFileUploadUsingArrayAction" method="upload">
- <result>multiple-success.jsp</result>
+ <result>/WEB-INF/fileupload/multiple-success.jsp</result>
</action>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-freemarker.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-freemarker.xml b/apps/showcase/src/main/resources/struts-freemarker.xml
index ae9334f..8c70421 100644
--- a/apps/showcase/src/main/resources/struts-freemarker.xml
+++ b/apps/showcase/src/main/resources/struts-freemarker.xml
@@ -6,11 +6,11 @@
<struts>
<package name="freemarker" namespace="/freemarker" extends="struts-default">
<action name="customFreemarkerManagerDemo">
- <result type="freemarker">/freemarker/customFreemarkerManagerUsage.ftl</result>
+ <result type="freemarker">/WEB-INF/freemarker/customFreemarkerManagerUsage.ftl</result>
</action>
<action name="standardTags" class="org.apache.struts2.showcase.freemarker.StandardTagsAction">
- <result type="freemarker">/freemarker/standardTags.ftl</result>
+ <result type="freemarker">/WEB-INF/freemarker/standardTags.ftl</result>
</action>
</package>
</struts>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-hangman.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-hangman.xml b/apps/showcase/src/main/resources/struts-hangman.xml
index 6c61a3d..69abdbf 100644
--- a/apps/showcase/src/main/resources/struts-hangman.xml
+++ b/apps/showcase/src/main/resources/struts-hangman.xml
@@ -6,19 +6,19 @@
<struts>
<package name="hangman" extends="struts-default" namespace="/hangman">
<action name="hangmanAjax" class="startHangmanAction">
- <result type="freemarker">/hangman/hangmanAjax.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/hangmanAjax.ftl</result>
</action>
<action name="hangmanNonAjax" class="startHangmanAction">
- <result type="freemarker">/hangman/hangmanNonAjax.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/hangmanNonAjax.ftl</result>
</action>
<action name="test">
<result type="freemarker">/hangman/test.ftl</result>
</action>
<action name="guessCharacter" class="guessCharacterAction">
- <result type="freemarker">/hangman/blank.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/blank.ftl</result>
</action>
<action name="guessCharacterNonAjax" class="guessCharacterAction">
- <result type="freemarker">/hangman/hangmanNonAjax.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/hangmanNonAjax.ftl</result>
</action>
</package>
@@ -26,19 +26,19 @@
<package name="hangman-ajax" extends="struts-default" namespace="/hangman/ajax">
<action name="blank">
- <result type="freemarker">/hangman/blank.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/blank.ftl</result>
</action>
<action name="updateVocabCharacters" class="getUpdatedHangmanAction">
- <result type="freemarker">/hangman/updateVocabCharacters.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/updateVocabCharacters.ftl</result>
</action>
<action name="updateCharacterAvailable" class="getUpdatedHangmanAction">
- <result type="freemarker">/hangman/updateCharacterAvailable.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/updateCharacterAvailable.ftl</result>
</action>
<action name="updateScaffold" class="getUpdatedHangmanAction">
- <result type="freemarker">/hangman/updateScaffold.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/updateScaffold.ftl</result>
</action>
<action name="updateGuessLeft" class="getUpdatedHangmanAction">
- <result type="freemarker">/hangman/updateGuessLeft.ftl</result>
+ <result type="freemarker">/WEB-INF/hangman/updateGuessLeft.ftl</result>
</action>
</package>
</struts>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-integration.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-integration.xml b/apps/showcase/src/main/resources/struts-integration.xml
index 71d2776..d251f72 100644
--- a/apps/showcase/src/main/resources/struts-integration.xml
+++ b/apps/showcase/src/main/resources/struts-integration.xml
@@ -39,8 +39,8 @@
<action name="saveGangster" class="org.apache.struts2.s1.Struts1Action">
<param name="className">org.apache.struts2.showcase.integration.SaveGangsterAction</param>
<param name="validate">true</param>
- <result name="input">modelDriven.jsp</result>
- <result>modelDrivenResult.jsp</result>
+ <result name="input">/WEB-INF/integration/modelDriven.jsp</result>
+ <result>/WEB-INF/integration/modelDrivenResult.jsp</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-interactive.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-interactive.xml b/apps/showcase/src/main/resources/struts-interactive.xml
index 4c1d801..424aabb 100644
--- a/apps/showcase/src/main/resources/struts-interactive.xml
+++ b/apps/showcase/src/main/resources/struts-interactive.xml
@@ -9,7 +9,7 @@
<interceptor-ref name="params"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="annotationWorkflow" />
- <result>/interactive/demo.jsp</result>
+ <result>/WEB-INF/interactive/demo.jsp</result>
</action>
<action name="example" class="org.apache.struts2.showcase.action.ExampleAction" />
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-model-driven.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-model-driven.xml b/apps/showcase/src/main/resources/struts-model-driven.xml
index cc085d1..dc9b839 100644
--- a/apps/showcase/src/main/resources/struts-model-driven.xml
+++ b/apps/showcase/src/main/resources/struts-model-driven.xml
@@ -7,12 +7,12 @@
<package name="modelDriven" extends="struts-default" namespace="/modelDriven">
<!-- Diplay entry page that uses Model-Driven technique -->
<action name="modelDriven" class="org.apache.struts2.showcase.modelDriven.ModelDrivenAction" method="input">
- <result>modelDriven.jsp</result>
+ <result>/WEB-INF/modelDriven/modelDriven.jsp</result>
</action>
<!-- Display the result page whose content is populated using the Model-Driven technique -->
<action name="modelDrivenResult" class="org.apache.struts2.showcase.modelDriven.ModelDrivenAction">
- <result>modelDrivenResult.jsp</result>
+ <result>/WEB-INF/modelDriven/modelDrivenResult.jsp</result>
</action>
</package>
</struts>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-tags-non-ui.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-tags-non-ui.xml b/apps/showcase/src/main/resources/struts-tags-non-ui.xml
index 20c5a8d..c296fd2 100644
--- a/apps/showcase/src/main/resources/struts-tags-non-ui.xml
+++ b/apps/showcase/src/main/resources/struts-tags-non-ui.xml
@@ -11,19 +11,19 @@
<package name="actionTag" extends="struts-default" namespace="/tags/non-ui/actionTag">
<action name="showActionTagDemo" class="org.apache.struts2.showcase.tag.nonui.actiontag.ActionTagDemo" method="show">
- <result>/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
</action>
<action name="includePage" class="org.apache.struts2.showcase.tag.nonui.actiontag.ActionTagDemo" method="doInclude">
- <result>/tags/non-ui/actionTag/includedPage.jsp</result>
+ <result>/WEB-INF/tags/non-ui/actionTag/includedPage.jsp</result>
</action>
<action name="includePage2">
- <result>/tags/non-ui/actionTag/includedPage2.jsp</result>
+ <result>/WEB-INF/tags/non-ui/actionTag/includedPage2.jsp</result>
</action>
<action name="includePage3">
- <result>/tags/non-ui/actionTag/includedPage3.jsp</result>
+ <result>/WEB-INF/tags/non-ui/actionTag/includedPage3.jsp</result>
</action>
<action name="lookAtSource">
- <result type="plainText">/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
+ <result type="plainText">/WEB-INF/tags/non-ui/actionTag/showActionTagDemo.jsp</result>
</action>
</package>
@@ -33,11 +33,11 @@
<package name="iteratorGeneratorTag" extends="struts-default" namespace="/tags/non-ui/iteratorGeneratorTag">
<action name="showGeneratorTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.IteratorGeneratorTagDemo" method="input">
- <result>/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
</action>
<action name="submitGeneratorTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.IteratorGeneratorTagDemo" method="submit">
- <result name="input">/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
- <result>/tags/non-ui/iteratorTag/iteratorGeneratorTagDemoResult.jsp</result>
+ <result name="input">/WEB-INF/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/iteratorGeneratorTagDemoResult.jsp</result>
</action>
</package>
@@ -47,11 +47,11 @@
<!-- ========================================== -->
<package name="appendIteratorTag" extends="struts-default" namespace="/tags/non-ui/appendIteratorTag">
<action name="showAppendTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.AppendIteratorTagDemo" method="input">
- <result>/tags/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
</action>
<action name="submitAppendTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.AppendIteratorTagDemo" method="submit">
- <result name="input">/tag/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
- <result>/tags/non-ui/iteratorTag/appendIteratorTagDemoResult.jsp</result>
+ <result name="input">/WEB-INF/tags/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/appendIteratorTagDemoResult.jsp</result>
</action>
</package>
@@ -61,11 +61,11 @@
<!-- ========================================= -->
<package name="mergeIteratorTag" extends="struts-default" namespace="/tags/non-ui/mergeIteratorTag">
<action name="showMergeTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.MergeIteratorTagDemo" method="input">
- <result>/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
</action>
<action name="submitMergeTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.MergeIteratorTagDemo" method="submit">
- <result name="input">/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
- <result>/tags/non-ui/iteratorTag/mergeIteratorTagDemoResult.jsp</result>
+ <result name="input">/WEB-INF/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/mergeIteratorTagDemoResult.jsp</result>
</action>
</package>
@@ -74,11 +74,11 @@
<!-- =========================================== -->
<package name="subsetIteratorTag" extends="struts-default" namespace="/tags/non-ui/subsetIteratorTag">
<action name="showSubsetTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.SubsetIteratorTagDemo" method="input">
- <result>/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
</action>
<action name="submitSubsetTagDemo" class="org.apache.struts2.showcase.tag.nonui.iteratortag.SubsetIteratorTagDemo" method="submit">
- <result name="input">/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
- <result>/tags/non-ui/iteratorTag/subsetIteratorTagDemoResult.jsp</result>
+ <result name="input">/WEB-INF/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp</result>
+ <result>/WEB-INF/tags/non-ui/iteratorTag/subsetIteratorTagDemoResult.jsp</result>
</action>
</package>
@@ -87,28 +87,28 @@
<!-- ========================================= -->
<package name="actionPrefix" extends="struts-default" namespace="/tags/non-ui/actionPrefix">
<action name="actionPrefixExampleUsingFreemarker">
- <result type="freemarker">/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
+ <result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
</action>
<action name="submit" class="org.apache.struts2.showcase.tag.nonui.actionPrefix.SubmitAction">
- <result type="freemarker">/tags/non-ui/actionPrefix/normalSubmit.ftl</result>
+ <result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/normalSubmit.ftl</result>
</action>
<action name="submit" class="org.apache.struts2.showcase.tag.nonui.actionPrefix.SubmitAction" method="alternateMethod">
- <result name="methodPrefixResult" type="freemarker">/tags/non-ui/actionPrefix/methodPrefix.ftl</result>
+ <result name="methodPrefixResult" type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/methodPrefix.ftl</result>
</action>
<action name="actionPrefix" class="org.apache.struts2.showcase.tag.nonui.actionPrefix.SubmitAction">
- <result type="freemarker">/tags/non-ui/actionPrefix/actionPrefix.ftl</result>
+ <result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/actionPrefix.ftl</result>
</action>
<action name="redirectPrefix">
- <result type="freemarker">/tags/non-ui/actionPrefix/redirectPrefix.ftl</result>
+ <result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/redirectPrefix.ftl</result>
</action>
<action name="redirectActionPrefix">
- <result type="freemarker">/tags/non-ui/actionPrefix/redirectActionPrefix.ftl</result>
+ <result type="freemarker">/WEB-INF/tags/non-ui/actionPrefix/redirectActionPrefix.ftl</result>
</action>
<action name="redirectActionPrefixAction">
<result type="redirect">redirectActionPrefix</result>
</action>
<action name="viewSource">
- <result type="plainText">/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
+ <result type="plainText">/WEB-INF/tags/non-ui/actionPrefix/actionPrefixExample.ftl</result>
</action>
</package>
@@ -117,10 +117,10 @@
<!-- ========================================== -->
<package name="ifTagPackage" extends="struts-default" namespace="/tags/non-ui/ifTag">
<action name="testIfTagJsp">
- <result>/tags/non-ui/ifTag/testIf.jsp</result>
+ <result>/WEB-INF/tags/non-ui/ifTag/testIf.jsp</result>
</action>
<action name="testIfTagFreemarker">
- <result type="freemarker">/tags/non-ui/ifTag/testIf.ftl</result>
+ <result type="freemarker">/WEB-INF/tags/non-ui/ifTag/testIf.ftl</result>
</action>
</package>
@@ -129,7 +129,7 @@
<!-- ========================================== -->
<package name="debugTagPackage" extends="struts-default" namespace="/tags/non-ui">
<action name="debugTagDemo">
- <result>/tags/non-ui/debug.jsp</result>
+ <result>/WEB-INF/tags/non-ui/debug.jsp</result>
</action>
</package>
</struts>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-tags-ui.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-tags-ui.xml b/apps/showcase/src/main/resources/struts-tags-ui.xml
index 449958f..563fbc1 100644
--- a/apps/showcase/src/main/resources/struts-tags-ui.xml
+++ b/apps/showcase/src/main/resources/struts-tags-ui.xml
@@ -6,57 +6,57 @@
<struts>
<package name="ui-tags" extends="struts-default" namespace="/tags/ui">
<action name="example" class="org.apache.struts2.showcase.UITagExample">
- <result>example.jsp</result>
- <result name="input">example.jsp</result>
+ <result>/WEB-INF/tags/ui/example.jsp</result>
+ <result name="input">/WEB-INF/tags/ui/example.jsp</result>
</action>
<action name="exampleSubmit" class="org.apache.struts2.showcase.UITagExample" method="doSubmit">
- <result>exampleSubmited.jsp</result>
- <result name="input">example.jsp</result>
+ <result>/WEB-INF/tags/ui/exampleSubmited.jsp</result>
+ <result name="input">/WEB-INF/tags/ui/example.jsp</result>
</action>
<action name="exampleVelocity" class="org.apache.struts2.showcase.UITagExample">
- <result type="velocity">example.vm</result>
- <result name="input" type="velocity">example.vm</result>
+ <result type="velocity">/WEB-INF/tags/ui/example.vm</result>
+ <result name="input" type="velocity">/WEB-INF/tags/ui/example.vm</result>
</action>
<action name="exampleSubmitVelocity" class="org.apache.struts2.showcase.UITagExample" method="doSubmit">
- <result type="velocity">exampleSubmited.vm</result>
- <result name="input" type="velocity">example.vm</result>
+ <result type="velocity">/WEB-INF/tags/ui/exampleSubmited.vm</result>
+ <result name="input" type="velocity">/WEB-INF/tags/ui/example.vm</result>
</action>
<action name="lotsOfOptiontransferselect" class="org.apache.struts2.showcase.LotsOfOptiontransferselectAction" method="input">
- <result>lotsOfOptiontransferselect.jsp</result>
+ <result>/WEB-INF/tags/ui/lotsOfOptiontransferselect.jsp</result>
</action>
<action name="lotsOfOptiontransferselectSubmit" class="org.apache.struts2.showcase.LotsOfOptiontransferselectAction" method="submit">
- <result name="input">lotsOfOptiontransferselect.jsp</result>
- <result>lotsOfOptiontransferselectSubmit.jsp</result>
+ <result name="input">/WEB-INF/tags/ui/lotsOfOptiontransferselect.jsp</result>
+ <result>/WEB-INF/tags/ui/lotsOfOptiontransferselectSubmit.jsp</result>
</action>
<action name="moreSelects" class="org.apache.struts2.showcase.MoreSelectsAction" method="input">
- <result>moreSelects.jsp</result>
+ <result>/WEB-INF/tags/ui/moreSelects.jsp</result>
</action>
<action name="moreSelectsSubmit" class="org.apache.struts2.showcase.MoreSelectsAction" method="submit">
- <result name="input">moreSelects.jsp</result>
- <result>moreSelectsSubmit.jsp</result>
+ <result name="input">/WEB-INF/tags/ui/moreSelects.jsp</result>
+ <result>/WEB-INF/tags/ui/moreSelectsSubmit.jsp</result>
</action>
<!-- START SNIPPET: treeExampleDynamicXWorkXml -->
<action name="showDynamicTreeAction" class="org.apache.struts2.showcase.ShowDynamicTreeAction">
- <result>/tags/ui/treeExampleDynamic.jsp</result>
+ <result>/WEB-INF/tags/ui/treeExampleDynamic.jsp</result>
</action>
<!-- END SNIPPET: treeExampleDynamicXWorkXml -->
<action name="showDynamicAjaxTreeAction">
- <result>/tags/ui/treeExampleAjaxDynamic.jsp</result>
+ <result>/WEB-INF/tags/ui/treeExampleAjaxDynamic.jsp</result>
</action>
<action name="showComponentTagExampleCode">
- <result type="plainText">/tags/ui/componentTagExample.jsp</result>
+ <result type="plainText">/WEB-INF/tags/ui/componentTagExample.jsp</result>
</action>
<action name="actionTagExample">
- <result>/tags/ui/actionTagExampleCalled.jsp</result>
- <result name="input">/tags/ui/actionTagExampleCalling.jsp</result>
+ <result>/WEB-INF/tags/ui/actionTagExampleCalled.jsp</result>
+ <result name="input">/WEB-INF/tags/ui/actionTagExampleCalling.jsp</result>
</action>
</package>
@@ -65,10 +65,10 @@
<package name="ui-tags-ajax" namespace="/tags/ui/ajax" extends="struts-default">
<!-- Actions dealing with Tree Example -->
<action name="staticTreeSelectAction">
- <result>/tags/ui/staticTreeSelect.jsp</result>
+ <result>/WEB-INF/tags/ui/staticTreeSelect.jsp</result>
</action>
<action name="dynamicTreeSelectAction" class="org.apache.struts2.showcase.DynamicTreeSelectAction">
- <result>/tags/ui/dynamicTreeSelect.jsp</result>
+ <result>/WEB-INF/tags/ui/dynamicTreeSelect.jsp</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-tiles.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-tiles.xml b/apps/showcase/src/main/resources/struts-tiles.xml
index d749d77..9fbe025 100644
--- a/apps/showcase/src/main/resources/struts-tiles.xml
+++ b/apps/showcase/src/main/resources/struts-tiles.xml
@@ -21,7 +21,7 @@
</action>
<action name="sanity">
- <result type="redirect">/tiles/layout.jsp</result>
+ <result type="redirect">/WEB-INF/tiles/layout.jsp</result>
<result type="redirect" name="success">/tiles/layout.jsp</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-token.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-token.xml b/apps/showcase/src/main/resources/struts-token.xml
index 06f3477..d43435b 100644
--- a/apps/showcase/src/main/resources/struts-token.xml
+++ b/apps/showcase/src/main/resources/struts-token.xml
@@ -7,56 +7,56 @@
<action name="tokenPrepare!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
- <result name="input">example1.jsp</result>
+ <result name="input">/WEB-INF/token/example1.jsp</result>
</action>
<action name="transfer" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
- <result name="invalid.token">doublePost.jsp</result>
- <result name="success">transferDone.jsp</result>
+ <result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
+ <result name="success">/WEB-INF/token/transferDone.jsp</result>
</action>
<action name="tokenPrepare2!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
- <result name="input">example2.jsp</result>
+ <result name="input">/WEB-INF/token/example2.jsp</result>
</action>
<action name="transfer2" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
- <result name="invalid.token">doublePost.jsp</result>
- <result name="success" type="redirect">transferDone.jsp</result>
+ <result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
+ <result name="success" type="redirect">/WEB-INF/token/transferDone.jsp</result>
</action>
<action name="tokenPrepare3!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
- <result name="input">example3.jsp</result>
+ <result name="input">/WEB-INF/token/example3.jsp</result>
</action>
<action name="transfer3" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="tokenSession"/>
- <result name="invalid.token">doublePost.jsp</result>
- <result name="success" type="redirect">transferDone.jsp</result>
+ <result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
+ <result name="success" type="redirect">/WEB-INF/token/transferDone.jsp</result>
</action>
<action name="tokenPrepare4!*" class="org.apache.struts2.showcase.token.TokenAction" method="{1}">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="createSession"/> <!-- we must have a session when using freemarker and the @s.token tag -->
- <result name="input" type="freemarker">example4.ftl</result>
+ <result name="input" type="freemarker">/WEB-INF/token/example4.ftl</result>
</action>
<action name="transfer4" class="org.apache.struts2.showcase.token.TokenAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
- <result name="invalid.token">doublePost.jsp</result>
- <result name="success">transferDone.jsp</result>
+ <result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
+ <result name="success">/WEB-INF/token/transferDone.jsp</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-validation.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-validation.xml b/apps/showcase/src/main/resources/struts-validation.xml
index 5351b1e..778a210 100755
--- a/apps/showcase/src/main/resources/struts-validation.xml
+++ b/apps/showcase/src/main/resources/struts-validation.xml
@@ -40,12 +40,12 @@
<!-- ======================== -->
<action name="showFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="input">
- <result name="input" type="dispatcher">/validation/fieldValidatorsExample.jsp</result>
+ <result name="input" type="dispatcher">/WEB-INF/validation/fieldValidatorsExample.jsp</result>
</action>
<action name="submitFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="submit">
- <result name="input" type="dispatcher">/validation/fieldValidatorsExample.jsp</result>
- <result type="dispatcher">/validation/successFieldValidatorsExample.jsp</result>
+ <result name="input" type="dispatcher">/WEB-INF/validation/fieldValidatorsExample.jsp</result>
+ <result type="dispatcher">/WEB-INF/validation/successFieldValidatorsExample.jsp</result>
</action>
@@ -55,12 +55,12 @@
<!-- ============================ -->
<action name="showNonFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.NonFieldValidatorsExampleAction" method="input">
- <result name="input">/validation/nonFieldValidatorsExample.jsp</result>
+ <result name="input">/WEB-INF/validation/nonFieldValidatorsExample.jsp</result>
</action>
<action name="submitNonFieldValidatorsExamples" class="org.apache.struts2.showcase.validation.NonFieldValidatorsExampleAction" method="submit">
- <result name="input">/validation/nonFieldValidatorsExample.jsp</result>
- <result>/validation/successNonFieldValidatorsExample.jsp</result>
+ <result name="input">/WEB-INF/validation/nonFieldValidatorsExample.jsp</result>
+ <result>/WEB-INF/validation/successNonFieldValidatorsExample.jsp</result>
</action>
@@ -70,12 +70,12 @@
<!-- ========================== -->
<action name="showVisitorValidatorsExamples" class="org.apache.struts2.showcase.validation.VisitorValidatorsExampleAction" method="input">
- <result name="input">/validation/visitorValidatorsExample.jsp</result>
+ <result name="input">/WEB-INF/validation/visitorValidatorsExample.jsp</result>
</action>
<action name="submitVisitorValidatorsExamples" class="org.apache.struts2.showcase.validation.VisitorValidatorsExampleAction" method="submit">
- <result name="input">/validation/visitorValidatorsExample.jsp</result>
- <result>/validation/successVisitorValidatorsExample.jsp</result>
+ <result name="input">/WEB-INF/validation/visitorValidatorsExample.jsp</result>
+ <result>/WEB-INF/validation/successVisitorValidatorsExample.jsp</result>
</action>
@@ -85,12 +85,12 @@
<!-- ========================== -->
<action name="clientSideValidationExample" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="input">
- <result name="input">/validation/clientSideValidationExample.jsp</result>
+ <result name="input">/WEB-INF/validation/clientSideValidationExample.jsp</result>
</action>
<action name="submitClientSideValidationExample" class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction" method="submit">
- <result name="input">/validation/clientSideValidationExample.jsp</result>
- <result>/validation/successClientSideValidationExample.jsp</result>
+ <result name="input">/WEB-INF/validation/clientSideValidationExample.jsp</result>
+ <result>/WEB-INF/validation/successClientSideValidationExample.jsp</result>
</action>
<!-- =========================================== -->
@@ -109,16 +109,16 @@
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
- <result>/validation/storeErrorsAcrossRequestExample.jsp</result>
+ <result>/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp</result>
</action>
<action name="applicationOk" class="org.apache.struts2.showcase.validation.SubmitApplication" method="applicationOk">
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
- <result>/validation/storeErrorsAcrossRequestOk.jsp</result>
+ <result>/WEB-INF/validation/storeErrorsAcrossRequestOk.jsp</result>
</action>
<action name="cancelApplication" class="org.apache.struts2.showcase.validation.SubmitApplication" method="cancelApplication">
- <result>/validation/storeErrorsAcrossRequestCancel.jsp</result>
+ <result>/WEB-INF/validation/storeErrorsAcrossRequestCancel.jsp</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts-wait.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts-wait.xml b/apps/showcase/src/main/resources/struts-wait.xml
index 521c2c7..8ea2911 100644
--- a/apps/showcase/src/main/resources/struts-wait.xml
+++ b/apps/showcase/src/main/resources/struts-wait.xml
@@ -9,8 +9,8 @@
<action name="longProcess1" class="org.apache.struts2.showcase.wait.LongProcessAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="execAndWait"/>
- <result name="wait">wait.jsp</result>
- <result name="success">complete.jsp</result>
+ <result name="wait">/WEB-INF/wait/wait.jsp</result>
+ <result name="success">/WEB-INF/wait/complete.jsp</result>
</action>
<action name="longProcess2" class="org.apache.struts2.showcase.wait.LongProcessAction">
@@ -18,8 +18,8 @@
<interceptor-ref name="execAndWait">
<param name="delay">2000</param>
</interceptor-ref>
- <result name="wait">wait.jsp</result>
- <result name="success">complete.jsp</result>
+ <result name="wait">/WEB-INF/wait/wait.jsp</result>
+ <result name="success">/WEB-INF/wait/complete.jsp</result>
</action>
<action name="longProcess3" class="org.apache.struts2.showcase.wait.LongProcessAction">
@@ -28,8 +28,8 @@
<param name="delay">3000</param>
<param name="delaySleepInterval">1000</param>
</interceptor-ref>
- <result name="wait">wait.jsp</result>
- <result name="success">complete.jsp</result>
+ <result name="wait">/WEB-INF/wait/wait.jsp</result>
+ <result name="success">/WEB-INF/wait/complete.jsp</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/resources/struts.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/resources/struts.xml b/apps/showcase/src/main/resources/struts.xml
index 3c1ebf3..74c59c6 100644
--- a/apps/showcase/src/main/resources/struts.xml
+++ b/apps/showcase/src/main/resources/struts.xml
@@ -75,15 +75,15 @@
<default-action-ref name="showcase" />
<action name="showcase">
- <result>showcase.jsp</result>
+ <result>../webapp/WEB-INF/showcase.jsp</result>
</action>
<action name="viewSource" class="org.apache.struts2.showcase.source.ViewSourceAction">
- <result>viewSource.jsp</result>
+ <result>../webapp/WEB-INF/viewSource.jsp</result>
</action>
<action name="date" class="org.apache.struts2.showcase.DateAction" method="browse">
- <result name="success">/date.jsp</result>
+ <result name="success">/WEB-INF/date.jsp</result>
</action>
</package>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/actionchaining/actionChainingResult.jsp
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/actionchaining/actionChainingResult.jsp b/apps/showcase/src/main/webapp/WEB-INF/actionchaining/actionChainingResult.jsp
new file mode 100644
index 0000000..87566e8
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/actionchaining/actionChainingResult.jsp
@@ -0,0 +1,23 @@
+<%@taglib prefix="s" uri="/struts-tags" %>
+
+<html>
+<head>
+ <title>Struts2 Showcase - Action Chaining Result</title>
+</head>
+<body>
+ <div class="page-header">
+ <h1>Action Chaining Result:</h1>
+ </div>
+
+ <div class="container-fluid">
+ <div class="row-fluid">
+ <div class="span12">
+ <s:label label="Action Chain 1 Property 1" name="actionChain1Property1" /><br/>
+ <s:label label="Action Chain 2 Property 1" name="actionChain2Property1" /><br/>
+ <s:label label="Action Chain 3 Property 1" name="actionChain3Property1" /><br/>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
+
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult.jsp
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult.jsp b/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult.jsp
new file mode 100644
index 0000000..3dc8521
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult.jsp
@@ -0,0 +1,12 @@
+<%@ taglib prefix="s" uri="/struts-tags" %>
+
+<%
+ request.setAttribute("decorator", "none");
+ response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
+ response.setHeader("Pragma","no-cache"); //HTTP 1.0
+ response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
+%>
+
+Result: <s:property value="count"/> @ <s:property value="serverTime"/>
+<br/>
+<s:property value="data"/>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult2.js
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult2.js b/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult2.js
new file mode 100644
index 0000000..537c390
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult2.js
@@ -0,0 +1,2 @@
+alert('This JavaScript currently being evaluated is the result...');
+alert('... of an action executed on the server!');
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult3.jsp
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult3.jsp b/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult3.jsp
new file mode 100644
index 0000000..45cb2b0
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/ajax/AjaxResult3.jsp
@@ -0,0 +1,12 @@
+<%@ taglib prefix="s" uri="/struts-tags" %>
+
+<%
+ request.setAttribute("decorator", "none");
+ response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
+ response.setHeader("Pragma","no-cache"); //HTTP 1.0
+ response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
+%>
+
+Result: <s:property value="count"/> @ <s:property value="serverTime"/>
+
+The value you entered was: <s:property value="data"/><br/>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/ajax/autocompleter/index.jsp
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/ajax/autocompleter/index.jsp b/apps/showcase/src/main/webapp/WEB-INF/ajax/autocompleter/index.jsp
new file mode 100644
index 0000000..c67257f
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/ajax/autocompleter/index.jsp
@@ -0,0 +1,178 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
+<html>
+<head>
+ <title>Ajax Examples</title>
+
+ <!--// START SNIPPET: common-include-->
+ <jsp:include page="/WEB-INF/ajax/commonInclude.jsplude.jsp"/>
+ <!--// END SNIPPET: common-include-->
+</head>
+
+<script type="text/javascript">
+ dojo.event.topic.subscribe("/before", function(event, widget){
+ alert('inside a topic event. before request');
+ //event: set event.cancel = true, to cancel request
+ //widget: widget that published the topic
+ });
+
+ dojo.event.topic.subscribe("/after", function(data, request, widget){
+ alert('inside a topic event. after request');
+ //data : json object from request
+ //request: XMLHttpRequest object
+ //widget: widget that published the topic
+ });
+
+ dojo.event.topic.subscribe("/value", function(error, request, widget){
+ alert('inside a topic event. on error');
+ //error : error object (error.message has the error message)
+ //request: XMLHttpRequest object
+ //widget: widget that published the topic
+ });
+
+ function showKey() {
+ var autoCompleter = dojo.widget.byId('jsauto');
+ alert(autoCompleter.getSelectedKey());
+ }
+
+ function showValue() {
+ var autoCompleter = dojo.widget.byId('jsauto');
+ alert(autoCompleter.getSelectedValue());
+ }
+</script>
+
+<body>
+
+
+<s:url var="jsonList" value="/JSONList.action"/>
+
+Using a JSON list returned from an action (href="/JSONList.action"), without autoComplete (autoComplete="false"), use indicator, search substring (searchType="substring")
+<br/>
+<sx:autocompleter
+ indicator="indicator1"
+ href="%{jsonList}"
+ cssStyle="width: 200px;"
+ autoComplete="false"
+ searchType="substring"
+ name="state"/>
+<img id="indicator1" src="${pageContext.request.contextPath}/images/indicator.gif" alt="Loading..." style="display:none"/>
+
+<br/><br/>
+
+Reload on type (loadOnTextChange="true"), after 3 characters (loadMinimumCount="3", it is "3" by default), without the down arrow button (showDownArrow="false")
+<br/>
+<sx:autocompleter
+ id="auto2"
+ indicator="indicator"
+ href="%{jsonList}"
+ cssStyle="width: 200px;"
+ autoComplete="false"
+ loadOnTextChange="true"
+ loadMinimumCount="3"
+ showDownArrow="false"/>
+<img id="indicator" src="${pageContext.request.contextPath}/images/indicator.gif" alt="Loading..." style="display:none"/>
+
+<br/><br/>
+
+Using a JSON list returned from an action (href="/JSONList.action"), with autoComplete (autoComplete="true")
+<br/>
+<sx:autocompleter
+ name="auto3"
+ href="%{#jsonList}"
+ cssStyle="width: 200px;"
+ autoComplete="true" />
+
+<br/><br/>
+
+Using a local list (list="%{'apple','banana','grape','pear'}")
+<br/>
+<sx:autocompleter list="{'apple','banana','grape','pear'}" cssStyle="width: 150px;"/>
+
+<br/><br/>
+
+Force valid options (forceValidOption="true")
+<br/>
+<sx:autocompleter
+ name="auto4"
+ href="%{#jsonList}"
+ cssStyle="width: 200px;"
+ forceValidOption="true"/>
+
+<br/>
+<br/>
+
+Make dropdown's height to 180px (dropdownHeight="180")
+<br/>
+<sx:autocompleter
+ name="auto5"
+ href="%{#jsonList}"
+ cssStyle="width: 200px;"
+ dropdownHeight="180"/>
+
+<br/>
+<br/>
+
+Disabled combobox (disabled="true")
+<br/>
+<sx:autocompleter
+ name="auto6"
+ href="%{#jsonList}"
+ cssStyle="width: 200px;"
+ disabled="true"/>
+
+<br/>
+<br/>
+
+
+<s:url var="autoex" action="AutocompleterExample" namespace="/nodecorate"/>
+
+Link two autocompleter elements. When the selected value in 'Autocompleter 1' changes, the available values in 'Autocompleter 2' will change also.
+<br/>
+<form id="selectForm">
+ <p>
+ Autocompleter 1
+ <sx:autocompleter
+ name="select"
+ list="{'fruits','colors'}"
+ value="colors"
+ valueNotifyTopics="/Changed"
+ forceValidOption="true"/>
+ </p>
+</form>
+Autocompleter 2
+<sx:autocompleter
+ name="auto8"
+ href="%{#autoex}"
+ autoComplete="false"
+ formId="selectForm"
+ listenTopics="/Changed"
+ forceValidOption="true" />
+
+<br/><br/>
+
+Publish before/after/value notify topics
+<br/>
+<sx:autocompleter
+ name="auto9"
+ href="%{#jsonList}"
+ listenTopics="/reload"
+ beforeNotifyTopics="/before"
+ afterNotifyTopics="/after"
+ valueNotifyTopics="/value"
+ cssStyle="width: 200px;" />
+<s:submit theme="simple" value="Reload Values" onclick="dojo.event.topic.publish('/reload')"/>
+
+<br/><br/>
+
+Get values using JavaScript
+<br/>
+<sx:autocompleter href="%{#jsonList}" id="jsauto" name="state"/>
+<s:submit theme="simple" value="Show Key" onclick="showKey()"/>
+<s:submit theme="simple" value="Show Value" onclick="showValue()"/>
+
+<br/><br/>
+
+<s:include value="../footer.jsp"/>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/ajax/bind/index.jsp
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/ajax/bind/index.jsp b/apps/showcase/src/main/webapp/WEB-INF/ajax/bind/index.jsp
new file mode 100644
index 0000000..046006c
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/ajax/bind/index.jsp
@@ -0,0 +1,61 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
+
+<html>
+<head>
+ <title>Bind Examples</title>
+ <jsp:include page="/WEB-INF/ajax/commonInclude.jsp"/>
+</head>
+
+<script type="text/javascript">
+ dojo.event.topic.subscribe("/before", function(event, widget){
+ alert('inside a topic event. before request');
+ //event: set event.cancel = true, to cancel request
+ //widget: widget that published the topic
+ });
+
+ dojo.event.topic.subscribe("/after", function(data, request, widget){
+ alert('inside a topic event. after request');
+ //data : text returned from request
+ //request: XMLHttpRequest object
+ //widget: widget that published the topic
+ });
+</script>
+
+<body>
+
+<div id="div1">Div 1</div>
+<s:url var="ajaxTest" value="/AjaxTest.action" />
+
+
+<br/><br/>
+<p>
+ 1. Attach to "onclick" event on button. Update content of Div 1. Use with indicator.
+ <img id="indicator" src="${pageContext.request.contextPath}/images/indicator.gif" alt="Loading..." style="display:none"/>
+ <sx:bind href="%{#ajaxTest}" sources="button" targets="div1" events="onclick" indicator="indicator" />
+ <br/>
+ <s:submit theme="simple" type="submit" value="submit" id="button"/>
+</p>
+<br/><br/>
+<p>
+ 2. Attach to "onmouseover", and "onclick" event on Area below and update content of Div1, highlight targets with green color
+ <sx:bind id="ex2" href="%{#ajaxTest}" sources="div2" targets="div1" events="onmouseover,onclick" highlightColor="green"/>
+ <div id="div2" style="width: 300px; height: 50px; border: 1px solid black">
+ Mouse Over or Click Here!
+ </div>
+</p>
+<br/><br/>
+<p>
+ 3. Attach to "onkeydown" event on Textbox below update content of Div1. Publish topics.
+ <sx:bind id="ex4" href="%{#ajaxTest}" sources="txt1" targets="div1" events="onkeydown" beforeNotifyTopics="/before" afterNotifyTopics="/after" />
+ <br/>
+ <s:textfield id="txt1"/>
+</p>
+
+
+<br/><br/>
+<s:include value="../footer.jsp"/>
+
+</body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/ajax/commonInclude.jsp
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/ajax/commonInclude.jsp b/apps/showcase/src/main/webapp/WEB-INF/ajax/commonInclude.jsp
new file mode 100644
index 0000000..8be4022
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/ajax/commonInclude.jsp
@@ -0,0 +1,5 @@
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
+<!--// START SNIPPET: common-include-->
+<sx:head cache="true"/>
+<!--// END SNIPPET: common-include-->
http://git-wip-us.apache.org/repos/asf/struts/blob/65eb9751/apps/showcase/src/main/webapp/WEB-INF/ajax/footer.jsp
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/webapp/WEB-INF/ajax/footer.jsp b/apps/showcase/src/main/webapp/WEB-INF/ajax/footer.jsp
new file mode 100644
index 0000000..5521cb4
--- /dev/null
+++ b/apps/showcase/src/main/webapp/WEB-INF/ajax/footer.jsp
@@ -0,0 +1,8 @@
+<%@taglib prefix="s" uri="/struts-tags" %>
+
+<hr/>
+
+<s:url var="backToAjaxExamples" value="../../index.jsp" />
+
+<s:a href="%{backToAjaxExamples}">Back To AJAX Examples</s:a>
+