Author: husted Date: Sat Mar 4 19:37:03 2006 New Revision: 383274 URL: http://svn.apache.org/viewcvs?rev=383274&view=rev Log: Action2 * Add a whiteboard area for working on new material related to the adoption of WebWork2 as Action2.
Added: struts/sandbox/trunk/action2/ struts/sandbox/trunk/action2/LICENSE.txt (with props) struts/sandbox/trunk/action2/NOTICE.txt (with props) struts/sandbox/trunk/action2/README.txt (with props) struts/sandbox/trunk/action2/apps/ struts/sandbox/trunk/action2/apps/blank/ struts/sandbox/trunk/action2/apps/blank/META-INF/ struts/sandbox/trunk/action2/apps/blank/META-INF/context.xml (with props) struts/sandbox/trunk/action2/apps/blank/src/ struts/sandbox/trunk/action2/apps/blank/src/java/ struts/sandbox/trunk/action2/apps/blank/src/java/blank2/ struts/sandbox/trunk/action2/apps/blank/src/java/blank2/HomeAction.java (with props) struts/sandbox/trunk/action2/apps/blank/src/webapp/ struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/ struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/applicationContext.xml (with props) struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/ struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/webwork.properties (with props) struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/xwork.xml (with props) struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/web.xml (with props) struts/sandbox/trunk/action2/apps/blank/src/webapp/index.jsp (with props) struts/sandbox/trunk/action2/apps/blank/src/webapp/pages/ struts/sandbox/trunk/action2/apps/blank/src/webapp/pages/home.jsp (with props) struts/sandbox/trunk/action2/apps/cookbook/ struts/sandbox/trunk/action2/apps/cookbook/META-INF/ struts/sandbox/trunk/action2/apps/cookbook/META-INF/context.xml (with props) struts/sandbox/trunk/action2/apps/cookbook/src/ struts/sandbox/trunk/action2/apps/cookbook/src/java/ struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/ struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Input.java (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/Home.jsp (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/View.jsp (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/applicationContext.xml (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork-Input.xml (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/web.xml (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/css/ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/css/cookbook.css (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/Thumbs.db (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/code.gif (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/execute.gif (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/jsp.gif (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/return.gif (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/valid-xhtml10.png (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/Input.jsp (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/InputResult.jsp (with props) struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/index.jsp (with props) Added: struts/sandbox/trunk/action2/LICENSE.txt URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/LICENSE.txt?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/LICENSE.txt (added) +++ struts/sandbox/trunk/action2/LICENSE.txt Sat Mar 4 19:37:03 2006 @@ -0,0 +1,174 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. Propchange: struts/sandbox/trunk/action2/LICENSE.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/NOTICE.txt URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/NOTICE.txt?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/NOTICE.txt (added) +++ struts/sandbox/trunk/action2/NOTICE.txt Sat Mar 4 19:37:03 2006 @@ -0,0 +1,9 @@ +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + +This product includes the ANTLR parsing library, +developed by JGuru.com (http://www.antlr.org and +http://www.jguru.com). + +This product includes software developed by +The OpenSymphony Group (http://www.opensymphony.com/). Propchange: struts/sandbox/trunk/action2/NOTICE.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/README.txt URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/README.txt?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/README.txt (added) +++ struts/sandbox/trunk/action2/README.txt Sat Mar 4 19:37:03 2006 @@ -0,0 +1,24 @@ +This directory is a whiteboard area for working on new material +related to the adoption of WebWork2 as Action2. + +Until a stable release of Action2 is available, this material +is being based on OS WebWork 2.2. + +Note this area is intended for *NEW* material only. Existing +WebWork material will enter Apache Struts through the incubation +process. + +At this time, the material is being built directly with IDEA, +and a standard build file is not yet available. + +For the time being, the dependencies required to build this +material may be downloaded here: + +* http://people.apache.org/~husted/sandbox-action2-lib.zip + +For more about the materials under construction, visit + +* http://www.StrutsUniversity.org/Application+Use+Cases + +### + Propchange: struts/sandbox/trunk/action2/README.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/META-INF/context.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/META-INF/context.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/META-INF/context.xml (added) +++ struts/sandbox/trunk/action2/apps/blank/META-INF/context.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Context path="/"> +</Context> Propchange: struts/sandbox/trunk/action2/apps/blank/META-INF/context.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/src/java/blank2/HomeAction.java URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/src/java/blank2/HomeAction.java?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/src/java/blank2/HomeAction.java (added) +++ struts/sandbox/trunk/action2/apps/blank/src/java/blank2/HomeAction.java Sat Mar 4 19:37:03 2006 @@ -0,0 +1,18 @@ +package blank2; + +import com.opensymphony.xwork.ActionSupport; + +/** + * <code>HomeAction</code> + */ +public class HomeAction extends ActionSupport { + + /** + * A default implementation that does nothing an returns "success". + * + * @return [EMAIL PROTECTED] #SUCCESS} + */ + public String execute() throws Exception { + return SUCCESS; + } +} Propchange: struts/sandbox/trunk/action2/apps/blank/src/java/blank2/HomeAction.java ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/applicationContext.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/applicationContext.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/applicationContext.xml (added) +++ struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/applicationContext.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> + +<beans default-autowire="autodetect"> + <!-- add your spring beans here --> +</beans> \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/applicationContext.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/webwork.properties URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/webwork.properties?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/webwork.properties (added) +++ struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/webwork.properties Sat Mar 4 19:37:03 2006 @@ -0,0 +1,2 @@ +webwork.objectFactory = spring +webwork.devMode = true \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/webwork.properties ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/xwork.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/xwork.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/xwork.xml (added) +++ struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/xwork.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,16 @@ +<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd"> + +<xwork> + <include file="webwork-default.xml"/> + + <package name="default" extends="webwork-default"> + + <default-action-ref name="home"/> + + <action name="home" class="blank2.HomeAction"> + <result>/pages/home.jsp</result> + </action> + + <!-- Add your actions here --> + </package> +</xwork> Propchange: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/classes/xwork.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/web.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/web.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/web.xml (added) +++ struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/web.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app> + + <display-name>Acme Corp</display-name> + + <filter> + <filter-name>webwork</filter-name> + <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class> + </filter> + + <filter-mapping> + <filter-name>webwork</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> + + <welcome-file-list> + <welcome-file>index.jsp</welcome-file> + <welcome-file>default.jsp</welcome-file> + <welcome-file>index.html</welcome-file> + </welcome-file-list> + + <!-- + This typically isn't required, as the taglib is included in webwork.jar. + If you really need a taglib configuration within web.xml, copy webwork/src/java/META-INF/taglib.tld + to the WEB-INF directory as webwork.tld. + --> + <!--taglib> + <taglib-uri>webwork</taglib-uri> + <taglib-location>/WEB-INF/webwork.tld</taglib-location> + </taglib--> +</web-app> Propchange: struts/sandbox/trunk/action2/apps/blank/src/webapp/WEB-INF/web.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/src/webapp/index.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/src/webapp/index.jsp?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/src/webapp/index.jsp (added) +++ struts/sandbox/trunk/action2/apps/blank/src/webapp/index.jsp Sat Mar 4 19:37:03 2006 @@ -0,0 +1 @@ +<% response.sendRedirect(request.getContextPath() + "/home.action"); %> Propchange: struts/sandbox/trunk/action2/apps/blank/src/webapp/index.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/blank/src/webapp/pages/home.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/blank/src/webapp/pages/home.jsp?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/blank/src/webapp/pages/home.jsp (added) +++ struts/sandbox/trunk/action2/apps/blank/src/webapp/pages/home.jsp Sat Mar 4 19:37:03 2006 @@ -0,0 +1,9 @@ +<html> +<head> + <title>Welcome</title> +</head> + +<body> +<h1>Don't panic! Struts is mostly harmless ...</h1> +</body> +</html> \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/blank/src/webapp/pages/home.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/META-INF/context.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/META-INF/context.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/META-INF/context.xml (added) +++ struts/sandbox/trunk/action2/apps/cookbook/META-INF/context.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Context path="/"> +</Context> Propchange: struts/sandbox/trunk/action2/apps/cookbook/META-INF/context.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Input.java URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Input.java?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Input.java (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Input.java Sat Mar 4 19:37:03 2006 @@ -0,0 +1,289 @@ +package cookbook2; + +import com.opensymphony.webwork.ServletActionContext; +import com.opensymphony.xwork.ActionSupport; +import com.opensymphony.xwork.Validateable; +import com.opensymphony.xwork.util.OgnlValueStack; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.io.File; + +public class Input extends ActionSupport implements Validateable { + + String name; + Date birthday; + String bio; + String favoriteColor; + List friends; + boolean legalAge; + String state; + String region; + File picture; + String pictureContentType; + String pictureFileName; + String favouriteLanguage; + String favouriteVehicalType = "MotorcycleKey"; + String favouriteVehicalSpecific = "YamahaKey"; + + List leftSideCartoonCharacters; + List rightSideCartoonCharacters; + + List favouriteLanguages = new ArrayList(); + List vehicalTypeList = new ArrayList(); + Map vehicalSpecificMap = new HashMap(); + + String thoughts; + + public Input() { + favouriteLanguages.add(new Language("EnglishKey", "English Language")); + favouriteLanguages.add(new Language("FrenchKey", "French Language")); + favouriteLanguages.add(new Language("SpanishKey", "Spanish Language")); + + VehicalType car = new VehicalType("CarKey", "Car"); + VehicalType motorcycle = new VehicalType("MotorcycleKey", "Motorcycle"); + vehicalTypeList.add(car); + vehicalTypeList.add(motorcycle); + + List cars = new ArrayList(); + cars.add(new VehicalSpecific("MercedesKey", "Mercedes")); + cars.add(new VehicalSpecific("HondaKey", "Honda")); + cars.add(new VehicalSpecific("FordKey", "Ford")); + + List motorcycles = new ArrayList(); + motorcycles.add(new VehicalSpecific("SuzukiKey", "Suzuki")); + motorcycles.add(new VehicalSpecific("YamahaKey", "Yamaha")); + + vehicalSpecificMap.put(car, cars); + vehicalSpecificMap.put(motorcycle, motorcycles); + } + + + + public List getLeftSideCartoonCharacters() { + return leftSideCartoonCharacters; + } + public void setLeftSideCartoonCharacters(List leftSideCartoonCharacters) { + this.leftSideCartoonCharacters = leftSideCartoonCharacters; + } + + + public List getRightSideCartoonCharacters() { + return rightSideCartoonCharacters; + } + public void setRightSideCartoonCharacters(List rightSideCartoonCharacters) { + this.rightSideCartoonCharacters = rightSideCartoonCharacters; + } + + + public String getFavouriteVehicalType() { + return favouriteVehicalType; + } + + public void setFavouriteVehicalType(String favouriteVehicalType) { + this.favouriteVehicalType = favouriteVehicalType; + } + + public String getFavouriteVehicalSpecific() { + return favouriteVehicalSpecific; + } + + public void setFavouriteVehicalSpecific(String favouriteVehicalSpecific) { + this.favouriteVehicalSpecific = favouriteVehicalSpecific; + } + + + public List getVehicalTypeList() { + return vehicalTypeList; + } + + public List getVehicalSpecificList() { + OgnlValueStack stack = ServletActionContext.getValueStack(ServletActionContext.getRequest()); + VehicalType vehicalType = (VehicalType) stack.findValue("top"); + System.out.println("vehicalType.getKey()"+vehicalType.getKey()); + return (List) vehicalSpecificMap.get(vehicalType); + } + + public List getFavouriteLanguages() { + return favouriteLanguages; + } + + public String execute() throws Exception { + return SUCCESS; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Date getBirthday() { + return birthday; + } + + public void setBirthday(Date birthday) { + this.birthday = birthday; + } + + public String getBio() { + return bio; + } + + public void setBio(String bio) { + this.bio = bio; + } + + public String getFavoriteColor() { + return favoriteColor; + } + + public void setFavoriteColor(String favoriteColor) { + this.favoriteColor = favoriteColor; + } + + public List getFriends() { + return friends; + } + + public void setFriends(List friends) { + this.friends = friends; + } + + public boolean isLegalAge() { + return legalAge; + } + + public void setLegalAge(boolean legalAge) { + this.legalAge = legalAge; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getRegion() { + return region; + } + + public void setRegion(String region) { + this.region = region; + } + + public void setPicture(File picture) { + this.picture = picture; + } + + public void setPictureContentType(String pictureContentType) { + this.pictureContentType = pictureContentType; + } + + public void setPictureFileName(String pictureFileName) { + this.pictureFileName = pictureFileName; + } + + public void setFavouriteLanguage(String favouriteLanguage) { + this.favouriteLanguage = favouriteLanguage; + } + + public String getFavouriteLanguage() { + return favouriteLanguage; + } + + + public void setThoughts(String thoughts) { + this.thoughts = thoughts; + } + + public String getThoughts() { + return this.thoughts; + } + + + + public String doSubmit() { + return SUCCESS; + } + + + + // === inner class + public static class Language { + String description; + String key; + + public Language(String key, String description) { + this.key = key; + this.description = description; + } + + public String getKey() { + return key; + } + public String getDescription() { + return description; + } + + } + + + public static class VehicalType { + String key; + String description; + public VehicalType(String key, String description) { + this.key = key; + this.description = description; + } + + public String getKey() { return this.key; } + public String getDescription() { return this.description; } + + public boolean equals(Object obj) { + if (! (obj instanceof VehicalType)) { + return false; + } + else { + return key.equals(((VehicalType)obj).getKey()); + } + } + + public int hashCode() { + return key.hashCode(); + } + } + + + public static class VehicalSpecific { + String key; + String description; + public VehicalSpecific(String key, String description) { + this.key = key; + this.description = description; + } + + public String getKey() { return this.key; } + public String getDescription() { return this.description; } + + public boolean equals(Object obj) { + if (! (obj instanceof VehicalSpecific)) { + return false; + } + else { + return key.equals(((VehicalSpecific)obj).getKey()); + } + } + + public int hashCode() { + return key.hashCode(); + } + } +} Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Input.java ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/Home.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/Home.jsp?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/Home.jsp (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/Home.jsp Sat Mar 4 19:37:03 2006 @@ -0,0 +1,72 @@ +<[EMAIL PROTECTED] uri="/webwork" prefix="ww" %> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>Struts Action 2 Cookbook</title> + +<link href="<ww:url value="/css/cookbook.css"/>" rel="stylesheet" type="text/css" /> +</head> +<body> +<h2>Struts Cookbook -- Examples with Code</h2> +<p>This is a collection of examples which demonstrate some of the more frequently + used Struts Use Cases. Familiarity with the Java(tm) Programming Language and HTML + is assumed. </p> +<p>To navigate your way through the examples, the following icons will help: </p> +<table border="0" cellspacing="5" width="85%" > + <tr valign="top"> + <td width="30"><img alt="." src="<ww:url value="/images/execute.gif"/>"></td> + <td>Execute the example</td> + </tr> + <tr valign="top"> + <td width="30"><img alt="." src="<ww:url value="/images/return.gif"/>" height="24" width="24" /></td> + <td>Return to this screen</td> + </tr> + <tr valign="top"> + <td><img alt="" src="<ww:url value="images/code.gif"/>" height="24" width="24" /></td> + <td>View the source code for the example</td> + </tr> +</table> +<br /> +<table width="85%" border="0" cellpadding="2" cellspacing="5"> + <tr valign="top"> + <td>Simple Input Form using Action Properties</td> + <td> + + <ww:url id="input_exe" action="Input" /> + <ww:a href="%{input_exe}"> + <img src="<ww:url value="/images/execute.gif"/>" alt="" hspace="4" border="0" align="top" class="inline" /> + </ww:a> + + <ww:a href="%{input_exe}">Execute</ww:a> + + </td> + <td> + + <ww:url id="input_src" value="/pages/input/index.jsp" /> + + <ww:a href="%{input_src}"> + <img src="<ww:url value="/images/code.gif"/>" alt="" hspace="4" border="0" align="top" class="inline" /> + </ww:a> + + <ww:a href="%{input_src}"> + View Source + </ww:a> + + </td> + </tr> + <tr valign="top"> + <td>Simple Form using a POJO</td> + <td> + [TODO] + </td> + <td> + [TODO] + </td> + </tr> + +</table> +<p><img src="<ww:url value="/images/valid-xhtml10.png"/>" alt="Valid XHTML 1.0!" height="31" width="88" /></p> +</body> + +</html> \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/Home.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/View.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/View.jsp?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/View.jsp (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/View.jsp Sat Mar 4 19:37:03 2006 @@ -0,0 +1,17 @@ +<[EMAIL PROTECTED] uri="/webwork" prefix="ww" %> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>View Source</title> +<link rel="stylesheet" type="text/css" href="<ww:url value="css/example.css"/>"> +</head> +<body> +<p><strong>Viewing: </strong> + <ww:property value="#parameters['src']"/> +<hr noshade="noshade" /> +<pre> +<ww:include value="#parameters['src']"/> +</pre> +</body> +</html> Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/View.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/applicationContext.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/applicationContext.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/applicationContext.xml (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/applicationContext.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> + +<beans default-autowire="autodetect"> + <!-- add your spring beans here --> +</beans> \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/applicationContext.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties Sat Mar 4 19:37:03 2006 @@ -0,0 +1,4 @@ +webwork.objectFactory = spring +webwork.devMode = true +webwork.tag.altSyntax = true +webwork.action.extension = do Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork-Input.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork-Input.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork-Input.xml (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork-Input.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,18 @@ +<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd"> + +<xwork> + + <package name="input" extends="webwork-default" > + + <action name="Input" class="cookbook2.Input"> + <result>/pages/input/Input.jsp</result> + <result name="input">/pages/input/Input.jsp</result> + </action> + + <action name="InputResult" method="submit" class="cookbook2.Input" > + <result>/pages/input/InputResult.jsp</result> + <result name="input">/pages/input/Input.jsp</result> + </action> + + </package> +</xwork> Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork-Input.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,9 @@ +<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd"> + +<xwork> + + <include file="webwork-default.xml"/> + + <include file="xwork-Input.xml"/> + +</xwork> Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/web.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/web.xml?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/web.xml (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/web.xml Sat Mar 4 19:37:03 2006 @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app> + + <display-name>Acme Corp</display-name> + + <filter> + <filter-name>webwork</filter-name> + <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class> + </filter> + + <filter-mapping> + <filter-name>webwork</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> + + <welcome-file-list> + <welcome-file>Home.jsp</welcome-file> + <welcome-file>index.jsp</welcome-file> + </welcome-file-list> + + <!-- + This typically isn't required, as the taglib is included in webwork.jar. + If you really need a taglib configuration within web.xml, copy webwork/src/java/META-INF/taglib.tld + to the WEB-INF directory as webwork.tld. + --> + <!--taglib> + <taglib-uri>webwork</taglib-uri> + <taglib-location>/WEB-INF/webwork.tld</taglib-location> + </taglib--> +</web-app> Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/web.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/css/cookbook.css URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/css/cookbook.css?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/css/cookbook.css (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/css/cookbook.css Sat Mar 4 19:37:03 2006 @@ -0,0 +1,22 @@ +body { + margin: 2% 10%; + font: 12px/1.4 Verdana, Geneva, Arial, Helvetica, sans-serif; +} + +h1 { font-size: 20px; } +h2 { font-size: 16px; margin: 3em 0 0.5em; } +h3 { font-size: 14px; margin: 2em 0 0.5em; } +h4 { font-size: 12px; } +h5 { font-size: 11px; } +h6 { font-size: 10px; } + +hr { color: #999999; height: 1px; } + +img { border: none; } +th { text-align: left; } + +.error { color: #FF0000; } +.icon { float: right; margin: 5px; } +.intro { font-size: 14px; line-height: 1.6; font-weight: bold;} +.label { font-weight: bold; width: 260px; } +.result { width: 100%; background: #eef; } Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/css/cookbook.css ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/Thumbs.db URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/Thumbs.db?rev=383274&view=auto ============================================================================== Binary file - no diff available. Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/Thumbs.db ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/code.gif URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/code.gif?rev=383274&view=auto ============================================================================== Binary file - no diff available. Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/code.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/execute.gif URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/execute.gif?rev=383274&view=auto ============================================================================== Binary file - no diff available. Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/execute.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/jsp.gif URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/jsp.gif?rev=383274&view=auto ============================================================================== Binary file - no diff available. Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/jsp.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/return.gif URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/return.gif?rev=383274&view=auto ============================================================================== Binary file - no diff available. Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/return.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/valid-xhtml10.png URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/valid-xhtml10.png?rev=383274&view=auto ============================================================================== Binary file - no diff available. Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/images/valid-xhtml10.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/Input.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/Input.jsp?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/Input.jsp (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/Input.jsp Sat Mar 4 19:37:03 2006 @@ -0,0 +1,120 @@ +<%@ taglib prefix="ww" uri="/webwork" %> +<html> +<head> + <title>UI Tags Example</title> + <ww:head/> +</head> + +<body> + +<ww:form action="exampleSubmit" method="post"> + <ww:textfield + label="Name" + name="name" + tooltip="Enter your Name here" /> + + <ww:datepicker + tooltip="Select Your Birthday" + label="Birthday" + name="birthday"/> + + <ww:textarea + tooltip="Enter your Biography" + label="Biograph" + name="bio" + cols="20" + rows="3"/> + + <ww:select + tooltip="Choose Your Favourite Color" + label="Favorite Color" + list="{'Red', 'Blue', 'Green'}" + name="favoriteColor" + emptyOption="true" + headerKey="None" + headerValue="None"/> + + <ww:select + tooltip="Choose Your Favourite Language" + label="Favourite Language" + list="favouriteLanguages" + name="favouriteLanguage" + listKey="key" + listValue="description" + emptyOption="true" + headerKey="None" + headerValue="None"/> + + <ww:checkboxlist + tooltip="Choose your Friends" + label="Friends" + list="{'Patrick', 'Jason', 'Jay', 'Toby', 'Rene'}" + name="friends"/> + + <ww:checkbox + tooltip="Confirmed that your are Over 18" + label="Age 18+" + name="legalAge"/> + + <ww:doubleselect + tooltip="Choose Your State" + label="State" + name="region" list="{'North', 'South'}" + value="'South'" + doubleValue="'Florida'" + doubleList="top == 'North' ? {'Oregon', 'Washington'} : {'Texas', 'Florida'}" + doubleName="state" + headerKey="-1" + headerValue="---------- Please Select ----------" + emptyOption="true" /> + + <ww:doubleselect + tooltip="Choose your Vehical" + label="Favourite Vehical" + name="favouriteVehicalType" + list="vehicalTypeList" + listKey="key" + listValue="description" + value="'MotorcycleKey'" + doubleValue="'YamahaKey'" + doubleList="vehicalSpecificList" + doubleListKey="key" + doubleListValue="description" + doubleName="favouriteVehicalSpecific" headerKey="-1" + headerValue="---------- Please Select ----------" + emptyOption="true" /> + + <ww:file + tooltip="Upload Your Picture" + label="Picture" + name="picture" /> + + <ww:optiontransferselect + tooltip="Select Your Favourite Cartoon Characters" + label="Favourite Cartoons Characters" + name="leftSideCartoonCharacters" + leftTitle="Left Title" + rightTitle="Right Title" + list="{'Popeye', 'He-Man', 'Spiderman'}" + multiple="true" + headerKey="headerKey" + headerValue="--- Please Select ---" + emptyOption="true" + doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}" + doubleName="rightSideCartoonCharacters" + doubleHeaderKey="doubleHeaderKey" + doubleHeaderValue="--- Please Select ---" + doubleEmptyOption="true" + doubleMultiple="true" /> + + <ww:richtexteditor + width="700" + label="Your Thougths" + name="thoughts" + tooltip="Enter your thoughts here" /> + + <ww:submit onclick="alert('aaaa');" /> +</ww:form> + +</body> +</html> \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/Input.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/InputResult.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/InputResult.jsp?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/InputResult.jsp (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/InputResult.jsp Sat Mar 4 19:37:03 2006 @@ -0,0 +1,43 @@ +<[EMAIL PROTECTED] prefix="ww" uri="/webwork" %> + +<html> +<head> +<title>Showcase - Non-UI Tag - Example Submited </title> +</head> +<body> + +<h1>Example Submitted</h1> +<table> + <ww:label label="Name" name="name" /> + <ww:label label="Birthday" name="birthday" /> + <ww:label label="Biography" name="bio" /> + <ww:label label="Favourite Color" name="favouriteColor" /> + <ww:label label="Friends" name="friends" /> + <ww:label label="Legal Age" name="legalAge" /> + <ww:label label="Region" name="region" /> + <ww:label label="State" name="state" /> + <ww:label label="Picture" name="picture" /> + <ww:label label="Favourite Language" name="favouriteLanguage" /> + <ww:label label="Favourite Vehical Type" name="favouriteVehicalType" /> + <ww:label label="Favourite Vehical Specific" name="favouriteVehicalSpecific" /> + <tr> + <td>Favourite Cartoon Characters (Left):</td> + <td> + <ww:iterator value="leftSideCartoonCharacters" status="stat"> + <ww:property value="%{#stat.count}" />.<ww:property value="top" /> + </ww:iterator> + </td> + </tr> + <tr> + <td>Favourite Cartoon Characters (Right):</td> + <td> + <ww:iterator value="rightSideCartoonCharacters" status="stat"> + <ww:property value="%{#stat.count}" />.<ww:property value="top" /> + </ww:iterator> + </td> + </tr> + <ww:label label="Thoughts" name="thoughts" /> + +</table> +</body> +</html> Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/InputResult.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/index.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/index.jsp?rev=383274&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/index.jsp (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/index.jsp Sat Mar 4 19:37:03 2006 @@ -0,0 +1,38 @@ +<[EMAIL PROTECTED] uri="/webwork" prefix="ww" %> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>Source Code for Input Form Example</title> +<link rel="stylesheet" type="text/css" href="<ww:url value="/css/example.css" />" > +</head> +<body> + +<ww:url id="input_exe" action="Input!setup" /> + +<ww:a href="%{input_exe}"> + <img src="<ww:url value="/images/execute.gif"/>" alt="" hspace="4" border="0" align="top" class="inline" /> +</ww:a> + +<a href="<ww:url value="/Home.jsp" />" > + <img src="<ww:url value="/images/return.gif"/>" alt="" hspace="4" border="0" align="top" class="inline" /> +</a> + +<h1>Source Code for Input Form Example</h1> +<hr noshade="noshade"/> + +<h2>Server Pages</h2> +<p><a href="<ww:url value="/View.jsp?src=/pages/input/Input.jsp"/>">Input.jsp</a></p> +<p><a href="<ww:url value="/View.jsp?src=/page/input/InputResults.jsp"/>">InputResult.jsp</a></p> + +<h2>Actions</h2> +<p><a href="<ww:url value="/View.jsp?src=/WEB-INF/src/java/cookbook/Input.java"/>">Input.java</a></p> + +<h2>Configuration files</h2> +<p><a href="<ww:url value="/View.jsp?src=/WEB-INF/classes/xwork-Input.xml"/>">xwork-Input.xml</a></p> + +<h2>Other source files</h2> +<p>None</p> + +</body> +</html> \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/input/index.jsp ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]