[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new eb30b73 Updates production by Jenkins eb30b73 is described below commit eb30b73e12bac033d01be5091fd862fa85cd038d Author: jenkins AuthorDate: Sat Apr 11 09:37:04 2020 + Updates production by Jenkins --- content/kickstart.html | 2 +- ...tending-an-application-with-custom-plugins.html | 2 + content/primer.html| 2 +- .../access-to-valuestack-from-jsps.html| 2 - content/tag-developers/ajax-a-template.html| 2 - .../ajax-and-javascript-recipes.html | 2 +- content/tag-developers/ajax-div-template.html | 2 - content/tag-developers/ajax-event-system.html | 2 - content/tag-developers/ajax-head-template.html | 2 - content/tag-developers/ajax-tags.html | 4 +- content/tag-developers/alt-syntax.html | 4 +- .../cewolf-charts-using-velocity-templates.html| 2 - content/tag-developers/dojo-a-tag.html | 2 - content/tag-developers/dojo-autocompleter-tag.html | 2 - content/tag-developers/dojo-bind-tag.html | 2 - .../tag-developers/dojo-datetimepicker-tag.html| 2 - content/tag-developers/dojo-div-tag.html | 2 - content/tag-developers/dojo-head-tag.html | 2 - content/tag-developers/dojo-submit-tag.html| 2 - content/tag-developers/dojo-tabbedpanel-tag.html | 2 - content/tag-developers/dojo-textarea-tag.html | 2 - content/tag-developers/dojo-tree-tag.html | 2 - content/tag-developers/dojo-treenode-tag.html | 2 - content/tag-developers/extending-themes.html | 2 - content/tag-developers/form-tags.html | 2 - content/tag-developers/freemarker-tags.html| 4 +- content/tag-developers/freemarker.html | 4 +- content/tag-developers/generic-tags.html | 4 +- content/tag-developers/index.html | 36 +-- content/tag-developers/jsp-tags.html | 4 +- content/tag-developers/jsp.html| 4 +- content/tag-developers/ognl-basics.html| 4 +- .../ognl-expression-compilation.html | 4 +- content/tag-developers/ognl.html | 4 +- .../selecting-template-directory.html | 2 - content/tag-developers/selecting-themes.html | 2 - content/tag-developers/struts-tags.html| 4 +- content/tag-developers/tag-reference.html | 4 +- content/tag-developers/tag-syntax.html | 4 +- content/tag-developers/template-loading.html | 2 - content/tag-developers/themes-and-templates.html | 4 +- content/tag-developers/ui-tags.html| 4 +- content/tag-developers/velocity-tags.html | 6 +- content/tag-developers/velocity.html | 71 +++--- 44 files changed, 78 insertions(+), 147 deletions(-) diff --git a/content/kickstart.html b/content/kickstart.html index d55d533..e87a656 100644 --- a/content/kickstart.html +++ b/content/kickstart.html @@ -314,7 +314,7 @@ or [s2] in the subject line of your post. mailto:user-unsubscr...@struts.apache.org;>user-unsubscr...@struts.apache.org. If you are receiving the digest, you must send a blank email to -mailto:user-digest-unsubscr...@struts.apache.org;>user-unsubscr...@struts.apache.org instead. +mailto:user-digest-unsubscr...@struts.apache.org;>user-digest-unsubscr...@struts.apache.org instead. diff --git a/content/plugins/extending-an-application-with-custom-plugins.html b/content/plugins/extending-an-application-with-custom-plugins.html index 7dab2b4..bb572bc 100644 --- a/content/plugins/extending-an-application-with-custom-plugins.html +++ b/content/plugins/extending-an-application-with-custom-plugins.html @@ -127,6 +127,8 @@ https://github.com/apache/struts-site/edit/master/source/plugins/extending-an-application-with-custom-plugins.md; title="Edit this page on GitHub">Edit on GitHub +<< back to Plugins + Extending an Application with Custom Plugins diff --git a/content/primer.html b/content/primer.html index c3aa389..d448fec 100644 --- a/content/primer.html +++ b/content/primer.html @@ -395,7 +395,7 @@ It can also be used to restrict authentication based on information in a databas For more about security, you should read the http://docs.oracle.com/javaee/6/tutorial/doc/gijrp.html;>Java EE tutorial. Other projects, like http://shiro.apache.org/;>Apache Shiro or -http://www.springframework.org/spring-security/;>Spring Security might also help +https://spring.io/projects/spring-security/;>Spring Security might also help you to secure your web application. JavaServer Pages,
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new ca517d7 Updates production by Jenkins ca517d7 is described below commit ca517d7870fab27e7d9e1dde1a70883dedd94596 Author: jenkins AuthorDate: Mon Mar 23 20:11:58 2020 + Updates production by Jenkins --- ...tending-an-application-with-custom-plugins.html | 289 + content/plugins/index.html | 6 +- 2 files changed, 292 insertions(+), 3 deletions(-) diff --git a/content/plugins/extending-an-application-with-custom-plugins.html b/content/plugins/extending-an-application-with-custom-plugins.html new file mode 100644 index 000..7dab2b4 --- /dev/null +++ b/content/plugins/extending-an-application-with-custom-plugins.html @@ -0,0 +1,289 @@ + + + + + + + + + + Plugins + + + + + + + + + + + + + +http://github.com/apache/struts; class="github-ribbon"> + https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa.png; alt="Fork me on GitHub"> + + + + + + + + +Menu +Toggle navigation + + + + + + + + + + +Home + + +Welcome +Download +Releases +Announcements +http://www.apache.org/licenses/;>License +https://www.apache.org/foundation/thanks.html;>Thanks! +https://www.apache.org/foundation/sponsorship.html;>Sponsorship + + + + +Support + + +User Mailing List +https://issues.apache.org/jira/browse/WW;>Issue Tracker +Reporting Security Issues + +https://cwiki.apache.org/confluence/display/WW/Migration+Guide;>Version Notes +https://cwiki.apache.org/confluence/display/WW/Security+Bulletins;>Security Bulletins + +Maven Project Info +Struts Core Dependencies +Plugin Dependencies + + + + +Documentation + + +Birds Eye +Key Technologies +Kickstart FAQ +https://cwiki.apache.org/confluence/display/WW/Home;>Wiki + +Getting Started +Security Guide +Core Developers Guide +Tag Developers Guide +Maven Archetypes +Plugins +Struts Core API +Tag reference +https://cwiki.apache.org/confluence/display/WW/FAQs;>FAQs +http://cwiki.apache.org/S2PLUGINS/home.html;>Plugin registry + + + + +Contributing + + +You at Struts +How to Help FAQ +Development Lists + +Submitting patches +Source Code and Builds +Coding standards +https://cwiki.apache.org/confluence/display/WW/Contributors+Guide;>Contributors Guide + +Release Guidelines +PMC Charter +Volunteers +https://gitbox.apache.org/repos/asf?p=struts.git;>Source Repository + + +http://www.apache.org/;> + + + + + + + + + + +https://github.com/apache/struts-site/edit/master/source/plugins/extending-an-application-with-custom-plugins.md; title="Edit this page on GitHub">Edit on GitHub + +Extending an Application with Custom Plugins + + + The Interface + The Plugin + The Action + The JSP + + +In this tutorial, we will show how easily our application can be made extensible using the Struts 2 plugin mechanism. +To keep the demonstration simple, our plugin will expose a JavaBean that writes a message. Plugins may include any +combination of JavaBeans, Actions, Interceptors, Results or other resources we’d like available to an application. + +The Interface + +At runtime, plugins are retrieved and referenced via an Interface. So, first, we should define an interface that our +plugin will implement. This interface must be available to both our web application and the plugin. To reduce coupling +between the web application and the plugins, keep the interface in a separate JAR. + +IMyPlugin.java + +package example; + +public interface IMyPlugIn { + String
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 43140ee Updates production by Jenkins 43140ee is described below commit 43140eefcc9c177ecc87da979c609c96cdc43727 Author: jenkins AuthorDate: Thu Mar 5 20:56:49 2020 + Updates production by Jenkins --- content/core-developers/interceptors.html | 34 content/core-developers/struts-default-xml.html | 34 content/download.html | 52 - 3 files changed, 94 insertions(+), 26 deletions(-) diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index 81763ab..c2efdbc 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -273,9 +273,21 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t sun.misc.Unsafe, com.opensymphony.xwork2.ActionContext" / +constant name="struts.devMode.excludedClasses" + value=" +java.lang.Object, +java.lang.Runtime, +java.lang.System, +java.lang.Class, +java.lang.ClassLoader, +java.lang.Shutdown, +java.lang.ProcessBuilder, +sun.misc.Unsafe" / + !-- this must be valid regex, each '.' in package name must be escaped! -- !-- it's more flexible but slower than simple string comparison -- !-- constant name="struts.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / -- +!-- constant name="struts.devMode.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / -- !-- this is simpler version of the above used with string comparison -- constant name="struts.excludedPackageNames" @@ -300,6 +312,28 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t com.opensymphony.xwork2.security., com.opensymphony.xwork2.util." / +constant name="struts.devMode.excludedPackageNames" + value=" +ognl., +java.io., +java.net., +java.nio., +javax., +freemarker.core., +freemarker.template., +freemarker.ext.jsp., +freemarker.ext.rhino., +sun.misc., +sun.reflect., +javassist., +org.apache.velocity., +org.objectweb.asm., +org.springframework.context., +com.opensymphony.xwork2.inject., +com.opensymphony.xwork2.ognl., +com.opensymphony.xwork2.security., +com.opensymphony.xwork2.util." / + bean class="com.opensymphony.xwork2.ObjectFactory" name="struts"/ bean type="com.opensymphony.xwork2.factory.ResultFactory" name="struts" class="org.apache.struts2.factory.StrutsResultFactory" / bean type="com.opensymphony.xwork2.factory.ActionFactory" name="struts" class="com.opensymphony.xwork2.factory.DefaultActionFactory" / diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index d679948..b9027b2 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -190,9 +190,21 @@ setting in struts.properties. sun.misc.Unsafe, com.opensymphony.xwork2.ActionContext" / +constant name="struts.devMode.excludedClasses" + value=" +java.lang.Object, +java.lang.Runtime, +java.lang.System, +java.lang.Class, +java.lang.ClassLoader, +java.lang.Shutdown, +java.lang.ProcessBuilder, +sun.misc.Unsafe" / + !-- this must be valid regex, each '.' in package name must be escaped! -- !-- it's more flexible but slower than simple string comparison -- !-- constant name="struts.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / -- +!-- constant name="struts.devMode.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / -- !-- this is simpler version of the above used with string comparison -- constant name="struts.excludedPackageNames" @@ -217,6 +229,28 @@ setting in struts.properties. com.opensymphony.xwork2.security., com.opensymphony.xwork2.util." / +constant name="struts.devMode.excludedPackageNames" +
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a2f2c0a Updates production by Jenkins a2f2c0a is described below commit a2f2c0a8ff89d1456d560a7ede2cf1b831462a55 Author: jenkins AuthorDate: Tue Feb 11 18:56:19 2020 + Updates production by Jenkins --- content/core-developers/action-configuration.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/core-developers/action-configuration.html b/content/core-developers/action-configuration.html index ce881da..35b5878 100644 --- a/content/core-developers/action-configuration.html +++ b/content/core-developers/action-configuration.html @@ -212,7 +212,7 @@ to setting this property to true. Although action naming is pretty flexible, one should pay attention when using dots (eg. create.user) and/or dashes (eg. my-action). While the dot notation has no known side effects at this time, the dash notation will cause problems with the generated JavaScript for certain tags and themes. Use with caution, and always try to use camelcase action -names (eg. createUser) or underscores (eg. my-action). +names (eg. createUser) or underscores (eg. my_action). Allowed action names
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 2fa4a2d Updates production by Jenkins 2fa4a2d is described below commit 2fa4a2db3ef8ab4dce240629062d3f2c69a511a2 Author: jenkins AuthorDate: Wed Jan 8 07:45:40 2020 + Updates production by Jenkins --- content/core-developers/default-properties.html | 11 +++ content/core-developers/interceptors.html | 17 +++-- content/core-developers/struts-default-xml.html | 17 +++-- content/tag-developers/checkboxlist-tag.html| 2 +- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/content/core-developers/default-properties.html b/content/core-developers/default-properties.html index fd6b3ac..447bfa1 100644 --- a/content/core-developers/default-properties.html +++ b/content/core-developers/default-properties.html @@ -366,6 +366,17 @@ struts.ognl.enableExpressionCache=true ### Indicates if Dispatcher should handle unexpected exceptions by calling sendError() ### or simply rethrow it as a ServletException to allow future processing by other frameworks like Spring Security struts.handle.exception=true + +### Applies maximum length allowed on OGNL expressions for security enhancement (optional) +### +### **WARNING**: If developers enable this option (by configuration) they should make sure that they understand the implications of setting +### struts.ognl.expressionMaxLength. They must choose a value large enough to permit ALL valid OGNL expressions used within the application. +### Values larger than the 200-400 range have diminishing security value (at which point it is really only a "style guard" for long OGNL +### expressions in an application. Setting a value of null or "" will also disable the feature. +### +### NOTE: The sample line below is *INTENTIONALLY* commented out, as this feature is disabled by default. +# struts.ognl.expressionMaxLength=256 + ### END SNIPPET: complete_file diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index 29e063a..81763ab 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -248,8 +248,8 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t !-- When declaring beans in this file you must either use name="struts" or don't name the bean at all. -The name="struts" must be used when alias was defined in {@link org.apache.struts2.config.DefaultBeanSelectionProvider} - -it is then the default bean's name and {@link org.apache.struts2.config.DefaultBeanSelectionProvider} links name "struts" +The name="struts" must be used when alias was defined in {@link org.apache.struts2.config.StrutsBeanSelectionProvider} - +it is then the default bean's name and {@link org.apache.struts2.config.StrutsBeanSelectionProvider} links name "struts" with "default" (aliasing it) If name won't be defined then the "default" value will be used {@link com.opensymphony.xwork2.inject.Container#DEFAULT_NAME} @@ -270,6 +270,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t java.lang.ClassLoader, java.lang.Shutdown, java.lang.ProcessBuilder, +sun.misc.Unsafe, com.opensymphony.xwork2.ActionContext" / !-- this must be valid regex, each '.' in package name must be escaped! -- @@ -280,13 +281,21 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t constant name="struts.excludedPackageNames" value=" ognl., +java.io., +java.net., +java.nio., javax., freemarker.core., freemarker.template., +freemarker.ext.jsp., freemarker.ext.rhino., +sun.misc., sun.reflect., javassist., +org.apache.velocity., org.objectweb.asm., +org.springframework.context., +com.opensymphony.xwork2.inject., com.opensymphony.xwork2.ognl., com.opensymphony.xwork2.security., com.opensymphony.xwork2.util." / @@ -322,16 +331,13 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="jakarta" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="prototype"/ bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="jakarta-stream"
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new dff382b Updates production by Jenkins dff382b is described below commit dff382bfdefe1ad596b52032cf7213bbf0de0aaa Author: jenkins AuthorDate: Fri Nov 29 09:45:37 2019 + Updates production by Jenkins --- content/announce.html | 62 +++ content/download.html | 44 ++-- content/index.html| 10 - content/releases.html | 24 +++- 4 files changed, 112 insertions(+), 28 deletions(-) diff --git a/content/announce.html b/content/announce.html index ef4009e..1b81493 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,7 @@ Announcements 2019 + 29 November 2019 - Struts 2.5.22 General Availability 12 September 2019 - Struts 2.3.x reached End-Of-Life 15 August 2019 - Security Advice: Announcing corrected affected version ranges in historic Apache Struts security bulletins and CVE entries 14 January 2019 - Struts 2.5.20 General Availability @@ -140,6 +141,67 @@ Skip to: Announcements - 2018 +29 November 2019 - Struts 2.5.22 General Availability + +The Apache Struts group is pleased to announce that Struts 2.5.22 is available as a “General Availability” +release. The GA designation is our highest quality grade. + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + + + Please be aware of new security enhancements added to the version of Struts, they are disabled by default +but please consider enabling them to increase safety of you application. You will find more details in our +Security Guide. + + +Below is a full list of all changes: + + + File upload fails from certain clients + Not existing property in listValueKey throws exception + Can’t get OgnlValueStack log even if enable logMissingProperties + No more calling of a static variable in Struts 2.8.20 available + NullPointerException in ProxyUtil class when accessing static member + EmptyStackException in JSON plugin due to concurrency + Tiles bug when parsing file:// URLs including # as part of the URL + Accessing static variable via OGNL returns nothing + HttpParameters.Builder can wrap objects in two layers of Parameters + Binding Integer Array upon form submission + Double-submit of TokenSessionStoreInterceptor broken since 2.5.16 + xerces tries to load resources from the internet + Dispatcher prints stacktraces directly to the console + The content allowed-methods tag of the XML configuration is sometimes truncated + OGNL: An illegal reflective access operation has occurred + java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector + Struts2 convention plugin lacks Java 11 support + Upgrade SLF4J to latest 1.7.x version + Minor enhancement/fix to AbstractLocalizedTextProvider + Provide mechanism to clear OgnlUtil caches + Struts 2 unit testing using StrutTestCase class + Upgrade Jackson library to the latest version + Upgrade to OGNL version 3.1.22 + Update a few Struts 2.5.x libraries to more recent versions + Upgrade commons-beanutils to version 1.9.4 + Upgrade jackson-databind to version 2.9.9.3 + Upgrade to OGNL 3.1.26 and adapt to its new features + + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +All developers are strongly advised to perform this action. + +The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 2.4, JSP API 2.0, and Java 7. + +Should any issues arise with your use of any version of the Struts framework, please post your comments +to the user list, and, if appropriate, file a tracking ticket. + +You can download this version from our download page. + 12 September 2019 - Struts 2.3.x reached End-Of-Life As announced over 6 months ago, Apache Struts 2.3.x web framework series reached its end of life and won’t be longer diff --git a/content/download.html b/content/download.html index cdd911f..8ba3fbd 100644 --- a/content/download.html +++ b/content/download.html @@ -189,26 +189,26 @@ Full Releases -Struts 2.5.20 +Struts 2.5.22 - https://struts.apache.org/;>Apache Struts 2.5.20 is an elegant, extensible + https://struts.apache.org/;>Apache Struts 2.5.22 is an elegant, extensible framework for creating enterprise-ready Java
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a950902 Updates production by Jenkins a950902 is described below commit a950902653fdc2a9d93fd5001ec4cc9e2279c831 Author: jenkins AuthorDate: Tue Nov 12 13:15:37 2019 + Updates production by Jenkins --- content/security/index.html | 32 1 file changed, 32 insertions(+) diff --git a/content/security/index.html b/content/security/index.html index 25ebc36..9935f79 100644 --- a/content/security/index.html +++ b/content/security/index.html @@ -142,6 +142,11 @@ Do not use incoming values as an input for localisation logic Use Struts tags instead of raw EL expressions Define custom error pages + Proactively protect from OGNL Expression Injections attacks if easily applicable + Run OGNL expressions inside sandbox + Apply a maximum allowed length on OGNL expressions + + Internal security mechanism @@ -306,6 +311,33 @@ generated error pages. /global-exception-mappings +Proactively protect from OGNL Expression Injections attacks if easily applicable + +The framework has a history of critical security bugs, many tied to its use of OGNL technology; Due to its ability to +create or change executable code, OGNL is capable of introducing critical security flaws to any framework that uses it. +Multiple Struts 2 versions have been vulnerable to OGNL security flaws. Consequently, we’ve equipped OGNL and the +framework with following proactive optional possibilities since OGNL 3.1.24 and Struts 2.5.22. They’re disabled by +default but via enabling them, you can proactively protect from potential still unknown OGNL Expression Injections flaws: + + + NOTE: These might break your current app functionality. Before using in production environment, you’re recommended to +comprehensively test your app UI and functionalities with these enabled. + + +Run OGNL expressions inside sandbox + +You can do this simply via adding -Dognl.security.manager to JVM arguments. OGNL thereupon utilizes Java Security +Manager to run OGNL expressions (which includes your actions either!) inside a sandbox with no permission. It is worth +noting that it affects only OGNL expression execution and thereafter OGNL reverts Java Security Manager to its previous +state. + +Apply a maximum allowed length on OGNL expressions + +You can enable this via Struts configuration key struts.ognl.expressionMaxLength. OGNL thereupon doesn’t evaluate any +expression longer than specified value. You would choose a value large enough to permit ALL valid OGNL expressions used +within the application. Values larger than the 200-400 range have diminishing security value (at which point it is +really only a “style guard” for long OGNL expressions in an application). + Internal security mechanism The Apache Struts 2 contains internal security manager which blocks access to particular classes and Java packages -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 6b91b24 Updates production by Jenkins 6b91b24 is described below commit 6b91b2436ba422b23a75aa3864057afab4499f8a Author: jenkins AuthorDate: Mon Nov 11 12:45:36 2019 + Updates production by Jenkins --- content/security/index.html | 23 +++ 1 file changed, 23 insertions(+) diff --git a/content/security/index.html b/content/security/index.html index a3b97fa..25ebc36 100644 --- a/content/security/index.html +++ b/content/security/index.html @@ -141,6 +141,7 @@ Do not define setters when not needed Do not use incoming values as an input for localisation logic Use Struts tags instead of raw EL expressions + Define custom error pages Internal security mechanism @@ -283,6 +284,28 @@ Never use a raw ${} EL expression on inco The safest option is to use Struts Tags instead. +Define custom error pages + +As mentioned in https://cwiki.apache.org/confluence/display/WW/S2-006;>S2-006 it’s a good practicse to define your own +error pages. This avoids exposing users to XSS attacks as Struts does not escape action’s names in automatically +generated error pages. + +You can eaither disable DMI + +constant name="struts.enable.DynamicMethodInvocation" value="false" / + + +or define an error page + +global-results + result name="error"/error_page.jsp/result +/global-results + +global-exception-mappings + exception-mapping exception="java.lang.Exception" result="error"/ +/global-exception-mappings + + Internal security mechanism The Apache Struts 2 contains internal security manager which blocks access to particular classes and Java packages -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a52c8e9 Updates production by Jenkins a52c8e9 is described below commit a52c8e960c4f9e4713cc8a90c98f847c0e1f544d Author: jenkins AuthorDate: Fri Oct 18 13:45:30 2019 + Updates production by Jenkins --- content/tag-developers/freemarker-tags.html | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/tag-developers/freemarker-tags.html b/content/tag-developers/freemarker-tags.html index c1dbd52..fa4a35b 100644 --- a/content/tag-developers/freemarker-tags.html +++ b/content/tag-developers/freemarker-tags.html @@ -138,13 +138,13 @@ JSP Tag Support -FreeMarker tags are extensions of the generic Struts Tags provided by the framework. You can jump +FreeMarker tags are extensions of the generic Struts Tags provided by the framework. You can jump right in just by knowing the generic structure in which the tags can be accessed: @s.tag .../@s.tag -, where tag is any of the tags supported by the framework. +, where tag is any of the tags supported by the framework. For example, in JSP you might create a form using Struts tags. @@ -173,7 +173,7 @@ pages even easier to code. You can even invoke third-party JSP taglibs as if the Attributes and Parameters -Unlike older versions of JSP (in which the JSP Tags are based), FreeMarker allows for dynamic attributes, +Unlike older versions of JSP (in which the JSP Tags are based), FreeMarker allows for dynamic attributes, much like JSP 2.0. You can supply attributes to the tags that the tag doesn’t explicitedly support. Those attributes that cannot be applied directly to the tag object will be set to the tag’s general-purpose parameters Map. @@ -218,16 +218,16 @@ that as the value attribute. Attribute Types -Remember that all tag attributes must first be set as Strings - they are then later evaluated (using OGNL) +Remember that all tag attributes must first be set as Strings - they are then later evaluated (using OGNL) to a different type, such as List, int, or boolean. This generally works just fine, but it can be limiting when using FreeMarker which provides more advanced ways to apply attributes. Suppose the following example: -@s.select label="Foo label - %{foo}" name="%{name}" list="%1"/ +@s.select label="Foo label - %{foo}" name="%{name}" list="%{1, 2, 3}"/ What will happen here is that each attribute will be evaluated to a String as best it can. This may involve calling the toString method on the internal FreeMarker objects. In this case, all objects will end up being exactly what you would -expect. Then, when the tag runs, the list attribute will be converted from a String to a List using OGNL’s +expect. Then, when the tag runs, the list attribute will be converted from a String to a List using OGNL’s advanced collection support. But suppose you wish to use FreeMarker’s list or hash support instead? You can do this:
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new e87ffce Updates production by Jenkins e87ffce is described below commit e87ffcefbf61ef2995877effa3ae656cbf6ddc2d Author: jenkins AuthorDate: Mon Sep 16 07:30:36 2019 + Updates production by Jenkins --- content/security.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/security.html b/content/security.html index 037b82a..7b306f3 100644 --- a/content/security.html +++ b/content/security.html @@ -148,9 +148,9 @@ to consume resources in a non-linear relationship to the size of inputs. The mailing address is: -http://httpd.apache.org/docs/trunk/misc/security_tips.html;>General network server security tips +https://httpd.apache.org/docs/trunk/misc/security_tips.html;>General network server security tips -http://www.apache.org/security/;>The Apache Security Team +https://www.apache.org/security/;>The Apache Security Team
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 273d9bc Updates production by Jenkins 273d9bc is described below commit 273d9bcc5fa958143daf64657ddc758b0a66208f Author: jenkins AuthorDate: Mon Sep 16 06:06:40 2019 + Updates production by Jenkins --- content/announce.html | 8 content/index.html| 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/content/announce.html b/content/announce.html index 62b9877..ef4009e 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,7 @@ Announcements 2019 + 12 September 2019 - Struts 2.3.x reached End-Of-Life 15 August 2019 - Security Advice: Announcing corrected affected version ranges in historic Apache Struts security bulletins and CVE entries 14 January 2019 - Struts 2.5.20 General Availability 30 December 2018 - Struts 2.3.37 General Availability @@ -139,6 +140,13 @@ Skip to: Announcements - 2018 +12 September 2019 - Struts 2.3.x reached End-Of-Life + +As announced over 6 months ago, Apache Struts 2.3.x web framework series reached its end of life and won’t be longer +officially supported. Please check the following reading to find more details: + +Apache Struts 2.3.x EOL Announcement + 15 August 2019 - Security Advice: Announcing corrected affected version ranges in historic Apache Struts security bulletins and CVE entries The Apache Struts Security team would like to announce that a number of historic https://cwiki.apache.org/confluence/display/WW/Security+Bulletin;>Struts Security Bulletins and related CVE database entries contained incorrect affected release version ranges. diff --git a/content/index.html b/content/index.html index 7650bac..1664dec 100644 --- a/content/index.html +++ b/content/index.html @@ -180,9 +180,9 @@ Apache Struts 2.3.x EOL - The Apache Struts Team informs about discontinuing support for Struts 2.3.x branch in 6 months, you can expect only support - in case of security issues and we recommend migration to the latest version of Struts, read more in - Announcement + The Apache Struts Team informs about discontinuing support for Struts 2.3.x branch, we recommend migration + to the latest version of Struts, read more in + Announcement
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 56d5e52 Updates production by Jenkins 56d5e52 is described below commit 56d5e5225758da621c7904ceddd0a1dbb69680c7 Author: jenkins AuthorDate: Thu Aug 15 07:57:54 2019 + Updates production by Jenkins --- content/announce.html | 19 +++ content/getting-started/message-resource-files.html | 4 ++-- content/index.html | 8 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/content/announce.html b/content/announce.html index 8514feb..62b9877 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,7 @@ Announcements 2019 + 15 August 2019 - Security Advice: Announcing corrected affected version ranges in historic Apache Struts security bulletins and CVE entries 14 January 2019 - Struts 2.5.20 General Availability 30 December 2018 - Struts 2.3.37 General Availability @@ -138,6 +139,24 @@ Skip to: Announcements - 2018 +15 August 2019 - Security Advice: Announcing corrected affected version ranges in historic Apache Struts security bulletins and CVE entries + +The Apache Struts Security team would like to announce that a number of historic https://cwiki.apache.org/confluence/display/WW/Security+Bulletin;>Struts Security Bulletins and related CVE database entries contained incorrect affected release version ranges. + +The issue was reported by Christopher Fearon and the Black Duck Research Team within the Synopsys Cybersecurity Research Center. The reporting entity conducted thorough investigations on this matter, leading to a report to the Apache Struts Security Team. The Apache Struts Security Team worked with the reporters to cross-check said issues and map them to affected Apache Struts General Availability (GA) releases. + +This effort led to the issue of Struts Security Bulletin S2-058, referencing 15 historic Struts Security Bulletins and https://github.com/CVEProject/cvelist/pull/2423/files;>respective CVE entries that have been updated to reflect corrections in affected GA version ranges as well as minimum GA versions to contain appropriate fixes for the issues at hand. + +The full Security Bulletin can be found here: + +https://cwiki.apache.org/confluence/display/WW/S2-058;>Apache Struts Security Buletin S2-058 + +The Struts Security Team stresses that while the reporters reference more affected issues and resulting affected version ranges, the Struts Security Bulletins only cover GA versions designated for production use. This led to less corrected Security Bulletins and CVE entries compared to the number of covered issues in the original report. + +It is very important to understand that while the individual listed bulletins contain updated minimum fix versions, it is strongly recommended to update to the version recommended by the latest Security Bulletin, which is https://cwiki.apache.org/confluence/display/WW/S2-057;>S2-057 by the time of this announcement. Following this advice, the recommended minimum Struts versions to operate in production are Struts 2.3.35 or Struts 2.5.17. + +The Apache Struts Security Team would like to thank the reporters for their efforts and their practice of responsible disclosure, as well as their help while investigating the report and coordinating public disclosure. + 14 January 2019 - Struts 2.5.20 General Availability The Apache Struts group is pleased to announce that Struts 2.5.20 is available as a “General Availability” diff --git a/content/getting-started/message-resource-files.html b/content/getting-started/message-resource-files.html index 900d472..b5e57b3 100644 --- a/content/getting-started/message-resource-files.html +++ b/content/getting-started/message-resource-files.html @@ -226,7 +226,7 @@ this markup. link to Register Action class s:url action="registerInput" var="registerInputLink" / -pa href="${registerInputLink}"Please register/a for our prize drawing./p +ps:a href="%{registerInputLink}"Please register/s:a for our prize drawing./p @@ -401,7 +401,7 @@ instead of the default locale value of our location (which is en). Add the follo s:url action="registerInput" var="registerInputLinkES" s:param name="request_locale"es/s:param /s:url -pa href="${registerInputLinkES}"Por favor, regístrese/a para nuestro sorteo/p +ps:a href="%{registerInputLinkES}"Por favor, regístrese/s:a para nuestro sorteo/p diff --git a/content/index.html b/content/index.html index 8e09543..7650bac 100644 --- a/content/index.html +++ b/content/index.html @@ -186,6 +186,14 @@ +Security Advice S2-058 released + +A number of historic Struts Security
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 77c5bf9 Updates production by Jenkins 77c5bf9 is described below commit 77c5bf9fb1ff3bc29df5a42c1633cd0c97d55314 Author: jenkins AuthorDate: Wed Jun 19 06:02:21 2019 + Updates production by Jenkins --- content/birdseye.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/birdseye.html b/content/birdseye.html index 57637bb..a32dbe0 100644 --- a/content/birdseye.html +++ b/content/birdseye.html @@ -194,7 +194,8 @@ for years and give the huge user base it is unlikely it will go away anytime soo in the future. Not only that we have dedicated users and developers on the project. Apache Struts is licensed to the Apache License 2.0 and this will not change. We maintain a clean IP and you are “safe” to use the project. Sometimes you are not “safe” to use -a project when a company controls the SCM. Access to Source Code doesn’t mean it is free. +a project when a company controls the SCM (Source Control Management). +Access to Source Code doesn’t mean it is free. With Apache Struts, you are not only free to “do what you want with it”, you can even contribute (which is not always the case). And best of it: you can become a part of the core team too.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 5024dac Updates production by Jenkins 5024dac is described below commit 5024daceac52e595bbe049db6eea2ce4814e8e07 Author: jenkins AuthorDate: Mon May 27 07:46:06 2019 + Updates production by Jenkins --- content/primer.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/primer.html b/content/primer.html index 8b05064..c3aa389 100644 --- a/content/primer.html +++ b/content/primer.html @@ -150,7 +150,7 @@ JavaScript, AJAX, and SOAP Servlets, Filters, and Web Containers - Sessions #{session} + Sessions Web Applications Security JavaServer Pages, JSP Tag Libraries, and JavaServer Faces @@ -186,6 +186,7 @@ Before getting started, you should understand the basics of several key technolo JavaScript, AJAX, and SOAP Properties Files and ResourceBundles Servlets, Filters and Web Containers + Sessions JavaServer Pages and JSP Tag Libraries Extensible Markup Language (XML) JAAS @@ -334,7 +335,7 @@ response. Filters are aggregated into a chain in which each filter has a chance to process the request and response before and after it is processed by subsequent filters (and the servlet that is ultimately called). -Sessions #{session} +Sessions One of the key characteristics of HTTP is that it is stateless. In other words, there is nothing built in to
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 352754a Updates production by Jenkins 352754a is described below commit 352754a6ad938fa5920e01e3261a38fd947cf36d Author: jenkins AuthorDate: Thu May 16 07:01:15 2019 + Updates production by Jenkins --- content/plugins/bean-validation/index.html | 4 +- content/plugins/cdi/index.html | 4 +- content/plugins/codebehind/index.html | 4 +- content/plugins/config-browser/index.html | 4 +- content/plugins/convention/index.html | 4 +- content/plugins/dwr/index.html | 4 +- content/plugins/embedded-jsp/index.html| 4 +- content/plugins/jasperreports/index.html | 4 +- content/plugins/java-8-support/index.html | 4 +- content/plugins/javatemplates/index.html | 4 +- content/plugins/jfreechart/index.html | 4 +- content/plugins/jsf/index.html | 4 +- content/plugins/json/index.html| 6 +- content/plugins/json/json-ajax-validation.html | 703 + content/plugins/junit/index.html | 4 +- content/plugins/osgi/index.html| 4 +- content/plugins/oval/index.html| 4 +- content/plugins/plexus/index.html | 4 +- content/plugins/portlet-tiles/index.html | 4 +- content/plugins/portlet/index.html | 4 +- .../plugins/portlet/struts-2-portlet-tutorial.html | 4 +- content/plugins/rest/index.html| 4 +- content/plugins/sitegraph/index.html | 4 +- content/plugins/sitemesh/index.html| 4 +- content/plugins/spring/index.html | 4 +- .../spring-session-components-workarounds.html | 4 +- content/plugins/struts-1/index.html| 4 +- content/plugins/testng/index.html | 4 +- content/plugins/tiles-3/index.html | 4 +- content/plugins/tiles/index.html | 4 +- content/plugins/tiles/tiles-use.html | 4 +- 31 files changed, 794 insertions(+), 31 deletions(-) diff --git a/content/plugins/bean-validation/index.html b/content/plugins/bean-validation/index.html index cda0113..e7fe857 100644 --- a/content/plugins/bean-validation/index.html +++ b/content/plugins/bean-validation/index.html @@ -125,8 +125,10 @@ -<< back to Plugins https://github.com/apache/struts-site/edit/master/source/plugins/bean-validation/index.md; title="Edit this page on GitHub">Edit on GitHub + +<< back to Plugins + Bean Validation Plugin Bean Validation diff --git a/content/plugins/cdi/index.html b/content/plugins/cdi/index.html index a551acb..6b07ac5 100644 --- a/content/plugins/cdi/index.html +++ b/content/plugins/cdi/index.html @@ -125,8 +125,10 @@ -<< back to Plugins https://github.com/apache/struts-site/edit/master/source/plugins/cdi/index.md; title="Edit this page on GitHub">Edit on GitHub + +<< back to Plugins + CDI Plugin diff --git a/content/plugins/codebehind/index.html b/content/plugins/codebehind/index.html index ac94082..4109838 100644 --- a/content/plugins/codebehind/index.html +++ b/content/plugins/codebehind/index.html @@ -125,8 +125,10 @@ -<< back to Plugins https://github.com/apache/struts-site/edit/master/source/plugins/codebehind/index.md; title="Edit this page on GitHub">Edit on GitHub + +<< back to Plugins + Codebehind Plugin diff --git a/content/plugins/config-browser/index.html b/content/plugins/config-browser/index.html index 06e8521..ae01a69 100644 --- a/content/plugins/config-browser/index.html +++ b/content/plugins/config-browser/index.html @@ -125,8 +125,10 @@ -<< back to Plugins https://github.com/apache/struts-site/edit/master/source/plugins/config-browser/index.md; title="Edit this page on GitHub">Edit on GitHub + +<< back to Plugins + Config Browser Plugin The Config Browser Plugin is a simple tool to help view an application’s configuration at runtime. diff --git a/content/plugins/convention/index.html b/content/plugins/convention/index.html index 9c25df6..131ed95 100644 --- a/content/plugins/convention/index.html +++ b/content/plugins/convention/index.html @@ -125,8 +125,10 @@ -<< back to Plugins https://github.com/apache/struts-site/edit/master/source/plugins/convention/index.md; title="Edit this page on GitHub">Edit on GitHub + +<< back to Plugins + Convention Plugin diff --git a/content/plugins/dwr/index.html b/content/plugins/dwr/index.html index
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 09967c6 Updates production by Jenkins 09967c6 is described below commit 09967c611882532c1a293c79a2f23835e5d21c12 Author: jenkins AuthorDate: Wed May 15 13:31:10 2019 + Updates production by Jenkins --- content/plugins/json/index.html | 2 +- content/plugins/json/json-validation.html | 701 content/plugins/json/struts2-ajax-vali-flow.png | Bin 0 -> 54364 bytes 3 files changed, 702 insertions(+), 1 deletion(-) diff --git a/content/plugins/json/index.html b/content/plugins/json/index.html index 8f0241f..e26ba9a 100644 --- a/content/plugins/json/index.html +++ b/content/plugins/json/index.html @@ -203,7 +203,7 @@ The setArray method can take as parameter root attribute must be set on the JSONInterceptor when dealing with JSON array. -This plugin also provides AJAX Validation. +This plugin also provides JSON Validation. Installation diff --git a/content/plugins/json/json-validation.html b/content/plugins/json/json-validation.html new file mode 100644 index 000..ad77fd0 --- /dev/null +++ b/content/plugins/json/json-validation.html @@ -0,0 +1,701 @@ + + + + + + + + + + JSON Ajax validation + + + + + + + + + + + + + +http://github.com/apache/struts; class="github-ribbon"> + https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa.png; alt="Fork me on GitHub"> + + + + + + + + +Menu +Toggle navigation + + + + + + + + + + +Home + + +Welcome +Download +Releases +Announcements +http://www.apache.org/licenses/;>License +https://www.apache.org/foundation/thanks.html;>Thanks! +https://www.apache.org/foundation/sponsorship.html;>Sponsorship + + + + +Support + + +User Mailing List +https://issues.apache.org/jira/browse/WW;>Issue Tracker +Reporting Security Issues + +https://cwiki.apache.org/confluence/display/WW/Migration+Guide;>Version Notes +https://cwiki.apache.org/confluence/display/WW/Security+Bulletins;>Security Bulletins + +Maven Project Info +Struts Core Dependencies +Plugin Dependencies + + + + +Documentation + + +Birds Eye +Key Technologies +Kickstart FAQ +https://cwiki.apache.org/confluence/display/WW/Home;>Wiki + +Getting Started +Security Guide +Core Developers Guide +Tag Developers Guide +Maven Archetypes +Plugins +Struts Core API +Tag reference +https://cwiki.apache.org/confluence/display/WW/FAQs;>FAQs +http://cwiki.apache.org/S2PLUGINS/home.html;>Plugin registry + + + + +Contributing + + +You at Struts +How to Help FAQ +Development Lists + +Submitting patches +Source Code and Builds +Coding standards +https://cwiki.apache.org/confluence/display/WW/Contributors+Guide;>Contributors Guide + +Release Guidelines +PMC Charter +Volunteers +https://gitbox.apache.org/repos/asf?p=struts.git;>Source Repository + + +http://www.apache.org/;> + + + + + + + + + + +<< back to Plugins +https://github.com/apache/struts-site/edit/master/source/plugins/json/json-validation.md; title="Edit this page on GitHub">Edit on GitHub +JSON Ajax Validation + + + Description + Example + Create the action class + Map the Action + Create the JSP + Custom Theme + theme.properties + actionerror.ftl + controlfooter.ftl + controlheader-core.ftl + + + CSS + JavaScript + How it works + JSONValidationInterceptor parameters + + + Flow chart of AJAX validation + +
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 6c9a2ff Updates production by Jenkins 6c9a2ff is described below commit 6c9a2ffd95b0d93da59aa741c9261c28ffb1dc78 Author: jenkins AuthorDate: Wed May 8 05:01:05 2019 + Updates production by Jenkins --- content/core-developers/token-interceptor.html | 6 +++--- content/core-developers/token-session-interceptor.html | 10 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/core-developers/token-interceptor.html b/content/core-developers/token-interceptor.html index e89c521..a6488e0 100644 --- a/content/core-developers/token-interceptor.html +++ b/content/core-developers/token-interceptor.html @@ -174,12 +174,12 @@ such as done with the token session interceptor. result name="success"good_result.ftl/result /action - -- In this case, myMethod of the action class will not -get checked for invalidity of token -- + !-- In this case, myMethod of the action class will not +get checked for invalidity of token -- action name="someAction" class="com.examples.SomeAction" interceptor-ref name="token" param name="excludeMethods"myMethod/param - /interceptor-ref name="token"/ + /interceptor-ref interceptor-ref name="basicStack"/ result name="success"good_result.ftl/result /action diff --git a/content/core-developers/token-session-interceptor.html b/content/core-developers/token-session-interceptor.html index 839aa0f..7e016bb 100644 --- a/content/core-developers/token-session-interceptor.html +++ b/content/core-developers/token-session-interceptor.html @@ -154,17 +154,17 @@ to selective methods in the action class. See Me Examples action name="someAction" class="com.examples.SomeAction" - interceptor-ref name="tokenSession/ + interceptor-ref name="tokenSession"/ interceptor-ref name="basicStack"/ result name="success"good_result.ftl/result /action - -- In this case, myMethod of the action class will not -get checked for invalidity of token -- + !-- In this case, myMethod of the action class will not +get checked for invalidity of token -- action name="someAction" class="com.examples.SomeAction" - interceptor-ref name="tokenSession + interceptor-ref name="tokenSession" param name="excludeMethods"myMethod/param - /interceptor-ref name="tokenSession + /interceptor-ref interceptor-ref name="basicStack"/ result name="success"good_result.ftl/result /action
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 84c9bd9 Updates production by Jenkins 84c9bd9 is described below commit 84c9bd99984629b6b27bdd8b768c9750412faee7 Author: jenkins AuthorDate: Mon Apr 8 19:31:08 2019 + Updates production by Jenkins --- content/mail.html| 4 ++-- content/primer.html | 2 +- content/youatstruts.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/mail.html b/content/mail.html index 2fd7f05..45d43a3 100644 --- a/content/mail.html +++ b/content/mail.html @@ -130,13 +130,13 @@ Mailing Lists A mailing list is an electronic discussion forum that anyone can subscribe to. When someone sends an email message to the mailing list, a copy of that message is broadcast to everyone who is subscribed to that mailing list. Mailing -lists are the primary means ofcommunication for people working within the Apache Struts Project. +lists are the primary means of communication for people working within the Apache Struts Project. HEADS UP! A message sent to a public mailing list cannot be unpublished. Although we might be able to modify our own mail archives, the message is mirrored to a lot of other archiving systems which we do not have under control. Therefore almost 100% -of all delete requests are denied. Please make sure you do not send any potential sensitive information to the mailing list, +of all delete requests are denied. Please make sure you do not send any potential sensitive information to the mailing list, including passwords, server names, ips and so on. Subscribing diff --git a/content/primer.html b/content/primer.html index 250b0c8..8b05064 100644 --- a/content/primer.html +++ b/content/primer.html @@ -481,7 +481,7 @@ between the View and Model, which can make applications significantly easier to create and maintain. While MVC is a convenient paradigm, many workers find that -applcations may utilize more than three layers. +applications may utilize more than three layers. For example, within the Model, there is often distinct business logic and data access layers. diff --git a/content/youatstruts.html b/content/youatstruts.html index 1a6d0bb..63ea58b 100644 --- a/content/youatstruts.html +++ b/content/youatstruts.html @@ -172,7 +172,7 @@ And a good community does not reduce itself to people who write code. http://jakarta.apache.org/site/contributing.html;>Contributing. Here is another comment that was sent to the Jakarta Turbine Mailing -List about the open source process and the contrastbetween how an +List about the open source process and the contrast between how an open source product and a proprietary product improve through the user community: http://jakarta.apache.org/site/understandingopensource.html;>Understanding Opensource.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 60de443 Updates production by Jenkins 60de443 is described below commit 60de443ef7b58de1f3e8a080ad01d8bf399014f7 Author: jenkins AuthorDate: Tue Mar 26 13:01:02 2019 + Updates production by Jenkins --- content/core-developers/default-properties.html | 3 +++ content/getting-started/unit-testing.html | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/content/core-developers/default-properties.html b/content/core-developers/default-properties.html index 3932525..fd6b3ac 100644 --- a/content/core-developers/default-properties.html +++ b/content/core-developers/default-properties.html @@ -346,6 +346,9 @@ struts.xslt.nocache=false ### Whether to always select the namespace to be everything before the last slash or not struts.mapper.alwaysSelectFullNamespace=false +### Whether to allow static field access in OGNL expressions or not +struts.ognl.allowStaticFieldAccess=true + ### Whether to allow static method access in OGNL expressions or not struts.ognl.allowStaticMethodAccess=false diff --git a/content/getting-started/unit-testing.html b/content/getting-started/unit-testing.html index 979623f..26891b7 100644 --- a/content/getting-started/unit-testing.html +++ b/content/getting-started/unit-testing.html @@ -205,7 +205,7 @@ to set these values in the request scope. testExecuteValidationPasses method from RegisterTest class @Test -public void testExecuteValidationPasses() throws Exception() { +public void testExecuteValidationPasses() throws Exception { request.setParameter("personBean.firstName", "Bruce"); request.setParameter("personBean.lastName", "Phillips"); request.setParameter("personBean.email", "bphill...@ku.edu"); @@ -254,7 +254,7 @@ for that field. testExecuteValidationFailsMissingFirstName method from RegisterTest class @Test -public void testExecuteValidationFailsMissingFirstName() throws Exception() { +public void testExecuteValidationFailsMissingFirstName() throws Exception { //request.setParameter("personBean.firstName", "Bruce"); request.setParameter("personBean.lastName", "Phillips"); request.setParameter("personBean.email", "bphill...@ku.edu");
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new f470f94 Updates production by Jenkins f470f94 is described below commit f470f94e4f47d44662dc47a3087e8d181ac6e54c Author: jenkins AuthorDate: Sun Feb 17 18:31:00 2019 + Updates production by Jenkins --- content/tag-developers/include-tag.html | 88 ++--- 1 file changed, 27 insertions(+), 61 deletions(-) diff --git a/content/tag-developers/include-tag.html b/content/tag-developers/include-tag.html index 87b8216..8f143c7 100644 --- a/content/tag-developers/include-tag.html +++ b/content/tag-developers/include-tag.html @@ -131,41 +131,23 @@ Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works. - - - - - - - Description - Include a servlet's output (result of servlet or a JSP page). - Note: Any additional params supplied to the included page are not - accessible within the rendered page through the tag +Include a servlet’s output (result of servlet or a JSP page). + +Note: Any additional params supplied to the included page are not + accessible within the rendered page through the s:property… tag since no valuestack will be created. You can, however, access them in a servlet via the HttpServletRequest object or from a JSP page via - a scriptlet. - - - -**(!) How To access parameters** - + a scriptlet. - +How To access parameters - +Parameters are passed as request parameters, so use the ${param.ParamName} notation to access them. Do not use the property tag to access parameters in included files. - Parameters are passed as request parameters, so use the \${param.ParamName} notation to access them. Do not use the **property** tag to access parameters in included files. +Parameters - - -__Parameters__ - - - - - + @@ -211,49 +193,33 @@ __Parameters__ - - - - - -__Example__ - - - - - -```java - -- One: -- - - - -- Two: -- - - - - - - -- Three: -- - -value1 -value2 - - -``` - + +Example + !-- One: -- + s:include value="myJsp.jsp" / + !-- Two: -- + s:include value="myJsp.jsp" +s:param name="param1" value="value2" / +s:param name="param2" value="value2" / + /s:include + !-- Three: -- + s:include value="myJsp.jsp" +s:param name="param1"value1/s:param +s:param name="param2"value2/s:param + /s:include + + -```none - Example one - do an include myJsp.jsp page + Example one - do an include myJsp.jsp page Example two - do an include to myJsp.jsp page with parameters param1=value1 and param2=value2 Example three - do an include to myJsp.jsp page with parameters param1=value1 and param2=value2 -``` - + -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new cd284cf Updates production by Jenkins cd284cf is described below commit cd284cf486be2b72df3421dc34c3aaa887af7d61 Author: jenkins AuthorDate: Thu Feb 7 06:17:35 2019 + Updates production by Jenkins --- content/core-developers/validation-annotation.html | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/content/core-developers/validation-annotation.html b/content/core-developers/validation-annotation.html index 0cba7ca..63b493e 100644 --- a/content/core-developers/validation-annotation.html +++ b/content/core-developers/validation-annotation.html @@ -149,12 +149,10 @@ is no longer necessary. An Annotated Interface - Mark the interface with @Validation() Apply standard or custom annotations at method level - @Validation() - public interface AnnotationDataAware { + public interface AnnotationDataAware { void setBarObj(Bar b); @@ -172,8 +170,7 @@ is no longer necessary. An Annotated Class - @Validation() - public class SimpleAnnotationAction extends ActionSupport { + public class SimpleAnnotationAction extends ActionSupport { @RequiredFieldValidator(type = ValidatorType.FIELD, message = "You must enter a value for bar.") @IntRangeFieldValidator(type = ValidatorType.FIELD, min = "6", max = "10", message
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a4c228f Updates production by Jenkins a4c228f is described below commit a4c228fc5679c3421b6964118f449c671923e836 Author: jenkins AuthorDate: Mon Feb 4 10:16:04 2019 + Updates production by Jenkins --- content/builds.html | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/builds.html b/content/builds.html index aa30c27..c844e4c 100644 --- a/content/builds.html +++ b/content/builds.html @@ -195,7 +195,7 @@ your own applications!) NightlyBuilds As part of our continuous integration practice, we also make available each morning the -https://builds.apache.org/view/S-Z/view/Struts/job/Struts2-JDK6/lastStableBuild/org.apache.struts$struts2-assembly/;>latest stable development build. +https://repository.apache.org/content/repositories/snapshots/org/apache/struts/struts2-assembly/;>latest stable development build. Again: Use at your own risk! @@ -224,13 +224,13 @@ of the distribution may be upgraded to “Beta” or “General Availability”, and then made available through ibiblio and other public Maven repositories. To obtain an early distribution via Maven, specify the ASF Snapshot repository in the project’s POM. -repositories -repository -idapache.snapshots/id -nameASF Maven 2 Snapshot/name - urlhttps://repository.apache.org/content/groups/snapshots//url; -/repository -/repositories +repositories +repository +idapache.snapshots/id +nameASF Maven 2 Snapshot/name +urlhttps://repository.apache.org/content/groups/snapshots//url +/repository +/repositories
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new aacb77a Updates production by Jenkins aacb77a is described below commit aacb77a2fc9764c20a3b16801be4588cbeb8cffd Author: jenkins AuthorDate: Sat Feb 2 16:31:04 2019 + Updates production by Jenkins --- content/tag-developers/checkboxlist-tag.html | 29 ++-- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/content/tag-developers/checkboxlist-tag.html b/content/tag-developers/checkboxlist-tag.html index feb48bc..79fde07 100644 --- a/content/tag-developers/checkboxlist-tag.html +++ b/content/tag-developers/checkboxlist-tag.html @@ -131,30 +131,17 @@ Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works. - - - - - - - - - Note that the listkey and listvalue attribute will default to "key" and "value" - respectively only when the list attribute is evaluated to a Map or its descendant. - Everything else will result in listkey and listvalue to be null and not used. - - +Note that the listkey and listvalue attribute will default to "key" and "value" +respectively only when the list attribute is evaluated to a Map or its descendant. +Everything else will result in listkey and listvalue to be null and not used. Description - - Creates a series of checkboxes from a list. Setup is like `` or ``, but creates checkbox tags. - - +Creates a series of checkboxes from a list. Setup is like s:select / or s:radio /, but creates checkbox tags. Parameters - + @@ -1000,18 +987,14 @@ - - - + Examples s:checkboxlist name="foo" list="bar"/ - -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 656cc2e Updates production by Jenkins 656cc2e is described below commit 656cc2e7be515a66c6ea0ae864b31c6094029adf Author: jenkins AuthorDate: Sat Feb 2 14:31:40 2019 + Updates production by Jenkins --- content/tag-developers/checkboxlist-tag.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tag-developers/checkboxlist-tag.html b/content/tag-developers/checkboxlist-tag.html index d45f162..feb48bc 100644 --- a/content/tag-developers/checkboxlist-tag.html +++ b/content/tag-developers/checkboxlist-tag.html @@ -148,7 +148,7 @@ Description - Creates a series of checkboxes from a list. Setup is like or , but creates checkbox tags. + Creates a series of checkboxes from a list. Setup is like `` or ``, but creates checkbox tags.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b74d6fe Updates production by Jenkins b74d6fe is described below commit b74d6feceb5c58cb99321f6cf184255643b7400c Author: jenkins AuthorDate: Wed Jan 23 09:46:02 2019 + Updates production by Jenkins --- content/core-developers/interceptors.html | 2 +- content/core-developers/struts-default-xml.html | 2 +- content/index.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index c74b793..1d227bf 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -338,7 +338,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t bean type="com.opensymphony.xwork2.conversion.impl.XWorkConverter" name="struts" class="com.opensymphony.xwork2.conversion.impl.XWorkConverter" / -bean type="com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor" name="struts" class="com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor" / +bean type="com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor" name="struts" class="org.apache.struts2.conversion.StrutsConversionPropertiesProcessor" / bean type="com.opensymphony.xwork2.conversion.ConversionFileProcessor" name="struts" class="com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor" / bean type="com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor" name="struts" class="com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor" / bean type="com.opensymphony.xwork2.conversion.TypeConverterCreator" name="struts" class="org.apache.struts2.conversion.StrutsTypeConverterCreator" / diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index 41a296c..60be1a0 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -253,7 +253,7 @@ setting in struts.properties. bean type="com.opensymphony.xwork2.conversion.impl.XWorkConverter" name="struts" class="com.opensymphony.xwork2.conversion.impl.XWorkConverter" / -bean type="com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor" name="struts" class="com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor" / +bean type="com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor" name="struts" class="org.apache.struts2.conversion.StrutsConversionPropertiesProcessor" / bean type="com.opensymphony.xwork2.conversion.ConversionFileProcessor" name="struts" class="com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor" / bean type="com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor" name="struts" class="com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor" / bean type="com.opensymphony.xwork2.conversion.TypeConverterCreator" name="struts" class="org.apache.struts2.conversion.StrutsTypeConverterCreator" / diff --git a/content/index.html b/content/index.html index b33e8e1..8e09543 100644 --- a/content/index.html +++ b/content/index.html @@ -174,7 +174,7 @@ The Apache Struts Team recommends to immediately upgrade your Struts 2 based projects to use the latest released version of Commons FileUpload library, which is currently 1.3.3. - Announcement + Announcement @@ -182,7 +182,7 @@ The Apache Struts Team informs about discontinuing support for Struts 2.3.x branch in 6 months, you can expect only support in case of security issues and we recommend migration to the latest version of Struts, read more in - Announcement + Announcement
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 21ad1cc Updates production by Jenkins 21ad1cc is described below commit 21ad1cc4189417f55ac587fe9b04bb20e2759997 Author: jenkins AuthorDate: Wed Jan 16 08:01:07 2019 + Updates production by Jenkins --- content/{announce.html => announce-2018.html} | 2 +- content/announce.html | 234 +++- content/core-developers/interceptors.html | 7 +- content/core-developers/struts-default-xml.html | 7 +- content/download.html | 84 - content/index.html | 22 +-- content/releases.html | 2 +- content/tag-developers/css-xhtml-theme.html | 18 +- content/tag-developers/xhtml-theme.html | 24 +-- 9 files changed, 106 insertions(+), 294 deletions(-) diff --git a/content/announce.html b/content/announce-2018.html similarity index 99% copy from content/announce.html copy to content/announce-2018.html index 46f662f..a768e3b 100644 --- a/content/announce.html +++ b/content/announce-2018.html @@ -125,7 +125,7 @@ -https://github.com/apache/struts-site/edit/master/source/announce.md; title="Edit this page on GitHub">Edit on GitHub +https://github.com/apache/struts-site/edit/master/source/announce-2018.md; title="Edit this page on GitHub">Edit on GitHub Announcements 2018 diff --git a/content/announce.html b/content/announce.html index 46f662f..8514feb 100644 --- a/content/announce.html +++ b/content/announce.html @@ -7,7 +7,7 @@ - Announcements 2018 + Announcements 2019 @@ -127,63 +127,20 @@ https://github.com/apache/struts-site/edit/master/source/announce.md; title="Edit this page on GitHub">Edit on GitHub -Announcements 2018 +Announcements 2019 - 14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement - 15 October 2018 - Struts 2.3.36 General Availability - 15 October 2018 - Struts 2.5.18 General Availability - 22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 - 22 August 2018 - Struts 2.5.17 General Availability - 22 August 2018 - Struts 2.3.35 General Availability - 27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin - 23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3 - 16 March 2018 - Struts 2.5.16 General Availability + 14 January 2019 - Struts 2.5.20 General Availability + 30 December 2018 - Struts 2.3.37 General Availability - Skip to: Announcements - 2017 + Skip to: Announcements - 2018 -14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement +14 January 2019 - Struts 2.5.20 General Availability -The Apache Struts Project Team would like to inform you that the Struts 2.3.x web framework will reach -its end of life in 6 months and won’t be longer officially supported. - -Please check the following reading to find more details. - - - Apache Struts 2.3.x EOL Announcement, including a detailed Q/A section - - -15 October 2018 - Struts 2.3.36 General Availability - -The Apache Struts group is pleased to announce that Struts 2.3.36 is available as a “General Availability” -release. The GA designation is our highest quality grade. - -This release addresses one backward compatibility issue: - - - https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36;>xml-validation fails since struts 2.5.17 - - -Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. -The framework is designed to streamline the full development cycle, from building, to deploying, -to maintaining applications over time. - -All developers are strongly advised to perform this action. - -The 2.3.x series of the Apache Struts framework has a minimum requirement of the following specification versions: -Servlet API 2.4, JSP API 2.0, and Java 6. - -Should any issues arise with your use of any version of the Struts framework, please post your comments -to the user list, and, if appropriate, file a tracking ticket. - -You can download this version from our download page. - -15 October 2018 - Struts 2.5.18 General Availability - -The Apache Struts group is pleased to announce that Struts 2.5.18 is available as a “General Availability” +The Apache Struts group is pleased to announce that Struts 2.5.20 is available as a “General Availability” release. The GA designation is our highest quality grade. Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. @@ -193,60 +150,17 @@ to maintaining applications over time. Below is a full list of all changes: -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b1b414e Updates production by Jenkins b1b414e is described below commit b1b414ea4f424a1a57890852805700fd9a27f531 Author: jenkins AuthorDate: Wed Dec 19 08:01:44 2018 + Updates production by Jenkins --- content/plugins/junit/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/plugins/junit/index.html b/content/plugins/junit/index.html index d78b0d0..fefa670 100644 --- a/content/plugins/junit/index.html +++ b/content/plugins/junit/index.html @@ -7,7 +7,7 @@ - Convention plugin + JUnit plugin
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 7d5404e Updates production by Jenkins 7d5404e is described below commit 7d5404e042d2757fe399bb33df72b666eb6d457f Author: jenkins AuthorDate: Mon Dec 10 07:31:15 2018 + Updates production by Jenkins --- content/core-developers/static-content.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/core-developers/static-content.html b/content/core-developers/static-content.html index 6bcc52b..715313c 100644 --- a/content/core-developers/static-content.html +++ b/content/core-developers/static-content.html @@ -170,7 +170,7 @@ your static content to the web application directory, and let the container hand If there is a request that Struts is handling as an action, and you wish to make Struts ignore it, you can do so by specifying a comma separated list of regular expressions like: -constant name="struts.action.excludePattern" value="/some/conent/.*?" / +constant name="struts.action.excludePattern" value="/some/content/.*?" /
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new bf9ba57 Updates production by Jenkins bf9ba57 is described below commit bf9ba575c177fa1cda6febeaf5867f2fa5f9c53e Author: jenkins AuthorDate: Sun Dec 9 08:00:54 2018 + Updates production by Jenkins --- content/core-developers/default-properties.html | 3 ++- content/core-developers/interceptors.html | 3 +-- content/core-developers/struts-default-xml.html | 3 +-- content/getting-started/using-tags.html | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/content/core-developers/default-properties.html b/content/core-developers/default-properties.html index ff2ede3..3932525 100644 --- a/content/core-developers/default-properties.html +++ b/content/core-developers/default-properties.html @@ -216,7 +216,8 @@ struts.multipart.maxSize=2097152 # struts.custom.properties=application,org/apache/struts2/extension/custom ### How request URLs are mapped to and from actions -#struts.mapper.class=org.apache.struts2.dispatcher.mapper.DefaultActionMapper +### Vy default 'struts' name is used which maps to DefaultActionMapper +#struts.mapper.class=restful ### Used by the DefaultActionMapper ### You may provide a comma separated list, e.g. struts.action.extension=action,jnlp,do diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index fdfc05a..e965204 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -316,6 +316,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="struts" class="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" / bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="composite" class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" / +bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="prefix" class="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper" / bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful" class="org.apache.struts2.dispatcher.mapper.RestfulActionMapper" / bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful2" class="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper" / @@ -398,8 +399,6 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t bean type="org.apache.struts2.dispatcher.DispatcherErrorHandler" name="struts" class="org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler" / -constant name="struts.dispatcher.errorHandler" value="struts" / - !-- Silly workarounds for OGNL since there is currently no way to flush its internal caches -- bean type="ognl.PropertyAccessor" name="java.util.ArrayList" class="com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor" / bean type="ognl.PropertyAccessor" name="java.util.HashSet" class="com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor" / diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index 4c0cda6..791689b 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -231,6 +231,7 @@ setting in struts.properties. bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="struts" class="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" / bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="composite" class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" / +bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="prefix" class="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper" / bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful" class="org.apache.struts2.dispatcher.mapper.RestfulActionMapper" / bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful2" class="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper" / @@ -313,8 +314,6 @@ setting in struts.properties. bean type="org.apache.struts2.dispatcher.DispatcherErrorHandler" name="struts" class="org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler" / -constant name="struts.dispatcher.errorHandler" value="struts" / - !-- Silly workarounds for OGNL since there is currently no way to flush its internal caches -- bean type="ognl.PropertyAccessor" name="java.util.ArrayList" class="com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor" / bean type="ognl.PropertyAccessor" name="java.util.HashSet"
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new c06c039 Updates production by Jenkins c06c039 is described below commit c06c039f85fa8c28ab7fc4ea3f06865d78a54329 Author: jenkins AuthorDate: Thu Dec 6 08:00:52 2018 + Updates production by Jenkins --- content/core-developers/action-mapper.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/core-developers/action-mapper.html b/content/core-developers/action-mapper.html index 4c65a54..436d396 100644 --- a/content/core-developers/action-mapper.html +++ b/content/core-developers/action-mapper.html @@ -279,7 +279,7 @@ and “restful” which is org.apache.struts2.di A prefix based action mapper that is capable of delegating to other ActionMappers based on the request’s prefix. It is configured through struts.xml. For example, with the following entries in struts.xml: -constant name="struts.mapper.class" value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/ +constant name="struts.mapper.class" value="prefix"/ constant name="struts.mapper.prefixMapping" value=" /communities:pseudoRestful,
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 0f1fb16 Updates production by Jenkins 0f1fb16 is described below commit 0f1fb168a9176afe00d1dd2a7262c61f222fe08d Author: jenkins AuthorDate: Sun Dec 2 10:30:53 2018 + Updates production by Jenkins --- content/getting-started/how-to-create-a-struts2-web-application.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/how-to-create-a-struts2-web-application.html b/content/getting-started/how-to-create-a-struts2-web-application.html index f54c10d..a980d70 100644 --- a/content/getting-started/how-to-create-a-struts2-web-application.html +++ b/content/getting-started/how-to-create-a-struts2-web-application.html @@ -230,7 +230,7 @@ project folder structure. In your pom.xml Step 2 - Add index.jsp Our next step is to add a simple index.jsp to this web application. Create an index.jsp under src/main/webapp -with a title of Basic Struts 2 Application - Welcome and in the body add an h1 heading of Welcome to Struts 2! +with a title of Basic Struts 2 Application - Welcome and in the body add an h1 heading of Welcome To Struts 2! index.jsp
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 4eb6469 Updates production by Jenkins 4eb6469 is described below commit 4eb64693e028e5cdd318280c2589828a2e2947d4 Author: jenkins AuthorDate: Thu Nov 15 09:00:51 2018 + Updates production by Jenkins --- content/struts23-eol-announcement.html | 5 + 1 file changed, 5 insertions(+) diff --git a/content/struts23-eol-announcement.html b/content/struts23-eol-announcement.html index ee10646..0fc7f02 100644 --- a/content/struts23-eol-announcement.html +++ b/content/struts23-eol-announcement.html @@ -169,6 +169,11 @@ the latest version of Struts 2. You are free to put effort in Struts 2.3.x. There are basically one possibility: fork the existing source and support it on your own. + +I’m using Apache Struts 2.5.x, what will happen with this version? + +Struts 2.5.x is still actively supported, we are working on new versions as well as we are preparing a new Struts 2.6 version. Migration from Struts 2.5.x to Struts 2.6 will a way smoother than switching from Struts 2.3.x to Struts 2.5.x. +
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 3e6593f Updates production by Jenkins 3e6593f is described below commit 3e6593fa109c4cbb0a3bb3d414b12477fb1a11e8 Author: jenkins AuthorDate: Wed Nov 14 19:45:36 2018 + Updates production by Jenkins --- content/announce.html | 12 content/index.html| 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/content/announce.html b/content/announce.html index ea06c3f..46f662f 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,7 @@ Announcements 2018 + 14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement 15 October 2018 - Struts 2.3.36 General Availability 15 October 2018 - Struts 2.5.18 General Availability 22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 @@ -144,6 +145,17 @@ Skip to: Announcements - 2017 +14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement + +The Apache Struts Project Team would like to inform you that the Struts 2.3.x web framework will reach +its end of life in 6 months and won’t be longer officially supported. + +Please check the following reading to find more details. + + + Apache Struts 2.3.x EOL Announcement, including a detailed Q/A section + + 15 October 2018 - Struts 2.3.36 General Availability The Apache Struts group is pleased to announce that Struts 2.3.36 is available as a “General Availability” diff --git a/content/index.html b/content/index.html index 916f0ac..012b331 100644 --- a/content/index.html +++ b/content/index.html @@ -182,7 +182,7 @@ The Apache Struts Team informs about discontinuing support for Struts 2.3.x branch in 6 months, you can expect only support in case of security issues and we recommend migration to the latest version of Struts, read more in - Announcement + Announcement
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 8e3e373 Updates production by Jenkins 8e3e373 is described below commit 8e3e3731e8608898e3abf600c1e431dc31f57aff Author: jenkins AuthorDate: Wed Nov 14 19:31:06 2018 + Updates production by Jenkins --- content/index.html | 9 +- .../{index.html => struts23-eol-announcement.html} | 146 +++-- 2 files changed, 54 insertions(+), 101 deletions(-) diff --git a/content/index.html b/content/index.html index f88e773..916f0ac 100644 --- a/content/index.html +++ b/content/index.html @@ -178,12 +178,11 @@ -Apache Struts Extras GA +Apache Struts 2.3.x EOL - The Struts Extras secure Multipart plugins General Availability - versions 1.1, use them to secure your - application against critical security vulnerability reported in S2-045, - S2-046, read more in Announcement - or in https://github.com/apache/struts-extras;>README + The Apache Struts Team informs about discontinuing support for Struts 2.3.x branch in 6 months, you can expect only support + in case of security issues and we recommend migration to the latest version of Struts, read more in + Announcement diff --git a/content/index.html b/content/struts23-eol-announcement.html similarity index 62% copy from content/index.html copy to content/struts23-eol-announcement.html index f88e773..ee10646 100644 --- a/content/index.html +++ b/content/struts23-eol-announcement.html @@ -7,11 +7,13 @@ - Welcome to the Apache Struts project + Apache Struts 2.3.x EOL Announcement + + @@ -121,101 +123,53 @@ - - - - -Apache Struts -Apache Struts is a free, open-source, MVC framework for creating elegant, - modern Java web applications. It favors convention over configuration, is - extensible using a plugin architecture, and ships with plugins to support - REST, AJAX and JSON. - - - Download - - - Technology Primer - - - - - - - -Google's Patch Reward program -During http://www.meetup.com/sfhtml5/;>SFHTML5 Google announced that - they extend their program to cover the Apache Struts project as well. Now you can earn - money preparing patches for us! - read more - - - -Apache Struts 2.5.18 GA - - Apache Struts 2.5.18 GA has been releasedon 15 October 2018. - -Read more in Announcement or in -https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.18;>Version notes - - -Apache Struts 2.3.36 GA - - It's the latest release of Struts 2.3.x which contains the latest security fixes, - released on 15 October 2018. Read more in Announcement or in - https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36;>Version notes - - - - - -Immediately upgrade commons-fileupload to version 1.3.3 - - The Apache Struts Team recommends to immediately upgrade your Struts 2 - based projects to use the latest released version of Commons - FileUpload library, which is currently 1.3.3. - Announcement - - - -Apache Struts Extras GA - - The Struts Extras secure Multipart plugins General Availability - versions 1.1, use them to secure your - application against critical security vulnerability reported in S2-045, - S2-046, read more in Announcement - or in https://github.com/apache/struts-extras;>README - - - -Immediately upgrade to version 2.5.18 or 2.3.36 - - The Apache Security Struts Team recommends to immediately upgrade your Struts 2 based projects to use - the latest released version of the Apache Struts to prevent possible RCE attack when using results with no namespace, - reported in https://cwiki.apache.org/confluence/display/WW/S2-057;>S2-057. Read more in Announcement. - - - - - - - Keep in touch: - - - IRC: #struts - -https://www.facebook.com/apachestruts; data-width="250" data-layout="button_count" - data-action="like" data-show-faces="false" data-share="true" class="fb-like"> - - -http://struts.apache.org/; - class="g-plusone"> - - https://twitter.com/TheApacheStruts; data-show-count="false" data-lang="en" - data-width="240px" data-align="left"
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 8d23209 Updates production by Jenkins 8d23209 is described below commit 8d232094f6624d7166a457e9a78ecbcfa3db Author: jenkins AuthorDate: Wed Nov 14 07:01:06 2018 + Updates production by Jenkins --- content/core-developers/file-upload.html | 209 ++- 1 file changed, 125 insertions(+), 84 deletions(-) diff --git a/content/core-developers/file-upload.html b/content/core-developers/file-upload.html index 1258914..5c0e789 100644 --- a/content/core-developers/file-upload.html +++ b/content/core-developers/file-upload.html @@ -127,13 +127,48 @@ << back to Core Developers Guide https://github.com/apache/struts-site/edit/master/source/core-developers/file-upload.md; title="Edit this page on GitHub">Edit on GitHub -File Upload - -The Struts 2 framework provides built-in support for processing file uploads that conform to http://www\.ietf\.org/rfc/rfc1867\.txt;>RFC 1867^[http://www.ietf.org/rfc/rfc1867.txt], “Form-based File Upload in HTML”. When correctly configured the framework will pass uploaded file(s) into your Action class. Support for individual and multiple file uploads are provided. When a file is uploaded it will typically be stored in a temporary directory. Uploaded files should be proc [...] +File Upload + + + Dependencies + Struts 2.0.x File Upload Dependencies + Struts 2.1.x File Upload Dependencies + + + Basic Usage + Example action mapping: + Example JSP form tags: + Example Action class: + + + Uploading Multiple Files + Uploading Multiple Files using Arrays + Uploading Multiple Files using Lists + + + Advanced Configuration + File Size Limits + File Types + Error Messages + Temporary Directories + Alternate Libraries + Request validation + Disabling file upload support + + + + +The Struts 2 framework provides built-in support for processing file uploads that conform to http://www.ietf.org/rfc/rfc1867.txt;>RFC 1867, +“Form-based File Upload in HTML”. When correctly configured the framework will pass uploaded file(s) into your Action class. +Support for individual and multiple file uploads are provided. When a file is uploaded it will typically be stored in a temporary directory. +Uploaded files should be processed or moved by your Action class to ensure the data is not lost. Be aware that servers may have a security +policy in place that prohibits you from writing to directories other than the temporary directory and the directories that belong to your +web application. Dependencies -The Struts 2 framework leverages add-on libraries to handle the parsing of uploaded files. These libraries are not included in the Struts distribution, you must add them into your project. The libraries needed are: +The Struts 2 framework leverages add-on libraries to handle the parsing of uploaded files. These libraries are not included in the Struts +distribution, you must add them into your project. The libraries needed are: @@ -148,14 +183,14 @@ Commons-FileUpload - http://commons\.apache\.org/fileupload/;>http://commons.apache.org/fileupload/ + http://commons.apache.org/fileupload/;>http://commons.apache.org/fileupload/ 1.1.1 1.2.1 1.3.2 Commons-IO - http://commons\.apache\.org/io/;>http://commons.apache.org/io/ + http://commons.apache.org/io/;>http://commons.apache.org/io/ 1.0 1.3.2 2.4 @@ -165,7 +200,7 @@ If you are using Maven then you can add these libraries as dependencies in your project’s pom.xml. -Struts 2.0.x File Upload Dependencies +Struts 2.0.x File Upload Dependencies dependency groupIdcommons-fileupload/groupId @@ -177,11 +212,10 @@ artifactIdcommons-io/artifactId version1.0/version /dependency - -Struts 2.1.x File Upload Dependencies +Struts 2.1.x File Upload Dependencies dependency groupIdcommons-fileupload/groupId @@ -193,15 +227,16 @@ artifactIdcommons-io/artifactId version1.3.2/version /dependency - Basic Usage -The org.apache.struts2.interceptor.FileUploadInterceptor class is included as part of the defaultStack. As long as the required libraries are added to your project you will be able to take advantage of of the Struts 2 fileUpload capability. Configure an Action mapping for your Action class as you typically would. +The org.apache.struts2.interceptor.FileUploadInterceptor class is included as part of the defaultStack. As long as the required libraries +are added to your project you will be able to take advantage of of the Struts 2
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 85d3a2c Updates production by Jenkins 85d3a2c is described below commit 85d3a2c9903bff2f04cc935a749ac180861a059e Author: jenkins AuthorDate: Mon Oct 15 07:00:49 2018 + Updates production by Jenkins --- content/announce.html | 26 + content/download.html | 54 +-- content/index.html| 8 content/releases.html | 11 +++ 4 files changed, 68 insertions(+), 31 deletions(-) diff --git a/content/announce.html b/content/announce.html index f912bad..ea06c3f 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,7 @@ Announcements 2018 + 15 October 2018 - Struts 2.3.36 General Availability 15 October 2018 - Struts 2.5.18 General Availability 22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 22 August 2018 - Struts 2.5.17 General Availability @@ -143,6 +144,31 @@ Skip to: Announcements - 2017 +15 October 2018 - Struts 2.3.36 General Availability + +The Apache Struts group is pleased to announce that Struts 2.3.36 is available as a “General Availability” +release. The GA designation is our highest quality grade. + +This release addresses one backward compatibility issue: + + + https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36;>xml-validation fails since struts 2.5.17 + + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +All developers are strongly advised to perform this action. + +The 2.3.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 2.4, JSP API 2.0, and Java 6. + +Should any issues arise with your use of any version of the Struts framework, please post your comments +to the user list, and, if appropriate, file a tracking ticket. + +You can download this version from our download page. + 15 October 2018 - Struts 2.5.18 General Availability The Apache Struts group is pleased to announce that Struts 2.5.18 is available as a “General Availability” diff --git a/content/download.html b/content/download.html index 2e92ec7..f010df2 100644 --- a/content/download.html +++ b/content/download.html @@ -208,7 +208,7 @@ struts-2.5.18-all.zip (65MB) [https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.md5;>MD5] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.sha256;>SHA256] @@ -218,7 +218,7 @@ struts-2.5.18-apps.zip (35MB) [https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.md5;>MD5] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.sha256;>SHA256] @@ -228,7 +228,7 @@ struts-2.5.18-min-lib.zip (4MB) [https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-min-lib.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-min-lib.zip.md5;>MD5] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-min-lib.zip.sha256;>SHA256] @@ -238,7 +238,7 @@ struts-2.5.18-lib.zip (19MB) [https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-lib.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-lib.zip.md5;>MD5] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-lib.zip.sha256;>SHA256] @@ -248,7 +248,7 @@ struts-2.5.18-docs.zip (13MB) [https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-docs.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-docs.zip.md5;>MD5] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-docs.zip.sha256;>SHA256] @@ -258,26 +258,26 @@ struts-2.5.18-src.zip (7MB) [https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-src.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-src.zip.md5;>MD5] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-src.zip.sha256;>SHA256] -Struts 2.3.35 +Struts 2.3.36 -https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.35;>Version Notes +https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36;>Version Notes Full Distribution:
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new c72aedb Updates production by Jenkins c72aedb is described below commit c72aedb711c1d3bc1fdbe80a27002756358b85ca Author: jenkins AuthorDate: Mon Oct 15 05:45:49 2018 + Updates production by Jenkins --- content/announce.html | 40 content/download.html | 44 ++-- content/index.html| 19 +++ content/releases.html | 13 - 4 files changed, 81 insertions(+), 35 deletions(-) diff --git a/content/announce.html b/content/announce.html index 5faaddd..f912bad 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,7 @@ Announcements 2018 + 15 October 2018 - Struts 2.5.18 General Availability 22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 22 August 2018 - Struts 2.5.17 General Availability 22 August 2018 - Struts 2.3.35 General Availability @@ -142,6 +143,45 @@ Skip to: Announcements - 2017 +15 October 2018 - Struts 2.5.18 General Availability + +The Apache Struts group is pleased to announce that Struts 2.5.18 is available as a “General Availability” +release. The GA designation is our highest quality grade. + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +Below is a full list of all changes: + + + jar_cache Some jar_cache**.tmp files are generated into a temporary directory(/tmp) during web service start + Struts 2.5.16 is creating jar_cache files in temp folder + MD5 and SHA1 should no longer be provided on download pages + xml-validation fails since struts 2.5.17 + + +Internal Changes: + + + XWorkList was moved into a com.opensymphony.xwork2.conversion.impl package as com.opensymphony.xwork2.util package is excluded +by the Internal Security Mechanism. + + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +All developers are strongly advised to perform this action. + +The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 2.4, JSP API 2.0, and Java 7. + +Should any issues arise with your use of any version of the Struts framework, please post your comments +to the user list, and, if appropriate, file a tracking ticket. + +You can download this version from our download page. + 22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 CVEID:CVE-2018-11776 diff --git a/content/download.html b/content/download.html index 715ed20..2e92ec7 100644 --- a/content/download.html +++ b/content/download.html @@ -189,26 +189,26 @@ Full Releases -Struts 2.5.17 +Struts 2.5.18 - https://struts.apache.org/;>Apache Struts 2.5.17 is an elegant, extensible + https://struts.apache.org/;>Apache Struts 2.5.18 is an elegant, extensible framework for creating enterprise-ready Java web applications. It is available in a full distribution, or as separate library, source, example and documentation distributions. - Struts 2.5.17 is the "best available" version of Struts in the 2.5 series. + Struts 2.5.18 is the "best available" version of Struts in the 2.5 series. -https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.17;>Version Notes +https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.18;>Version Notes Full Distribution: -struts-2.5.17-all.zip (65MB) -[https://www.apache.org/dist/struts/2.5.17/struts-2.5.17-all.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.17/struts-2.5.17-all.zip.md5;>MD5] +struts-2.5.18-all.zip (65MB) +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.asc;>PGP] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.md5;>MD5] @@ -216,9 +216,9 @@ Example Applications: -struts-2.5.17-apps.zip (35MB) -[https://www.apache.org/dist/struts/2.5.17/struts-2.5.17-apps.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.17/struts-2.5.17-apps.zip.md5;>MD5] +struts-2.5.18-apps.zip (35MB) +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.asc;>PGP] +[https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.md5;>MD5] @@ -226,9 +226,9 @@ Essential Dependencies
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new ecc9b53 Updates production by Jenkins ecc9b53 is described below commit ecc9b53dacb86c6125659e0f239d2a97f89274d8 Author: jenkins AuthorDate: Thu Oct 4 06:45:54 2018 + Updates production by Jenkins --- content/core-developers/freemarker-support.html | 89 ++--- 1 file changed, 35 insertions(+), 54 deletions(-) diff --git a/content/core-developers/freemarker-support.html b/content/core-developers/freemarker-support.html index b01a0ee..50c6cc7 100644 --- a/content/core-developers/freemarker-support.html +++ b/content/core-developers/freemarker-support.html @@ -129,11 +129,11 @@ https://github.com/apache/struts-site/edit/master/source/core-developers/freemarker-support.md; title="Edit this page on GitHub">Edit on GitHub Freemarker Support -Freemarker views can be rendered using the webwork result type freemarker. +Freemarker views can be rendered using a result type freemarker. -Configure your action to use the freemarker result type +Configure your action to use the freemarker result type -The freemarker result type is defined in struts-default.xml, so normally you just include it, and define your resuts to use type="freemarker". +The freemarker result type is defined in struts-default.xml, so normally you just include it, and define your results to use type="freemarker". include file="struts-default.xml"/ ... @@ -145,81 +145,61 @@ -Property Resoloution +Property Resolution Your action properties are automatically resolved - just like in a velocity view. -for example -${name} will result in stack.findValue("name"), which generaly results in action.getName() being executed. +for example -A search process is used to resolve the variable, searching the following scopes in order, until a value is found : +${name} will result in stack.findValue("name"), which generally results in action.getName() being executed. + +A search process is used to resolve the variable, searching the following scopes in order, until a value is found: - -freemarker variables - - -value stack - - -request attributes - - -session attributes - - -servlet context attributes - + freemarker variables + value stack + request attributes + session attributes + servlet context attributes -Objects in the Context +Objects in the Context -The following variables exist in the FreeMarker views +The following variables exist in the FreeMarker views: - -req - the current HttpServletRequest - - -res - the current HttpServletResponse - - -stack - the current OgnlValueStack - - -ognl - the OgnlTool instance - + req - the current HttpServletRequest + res - the current HttpServletResponse + stack - the current OgnlValueStack + ognl - the OgnlTool instance - This class contains useful methods to execute OGNL expressions against arbitary objects, and a method to generate a select list using the s:select pattern. (i.e. taking the name of the list property, a listKey and listValue) + This class contains useful methods to execute OGNL expressions against arbitary objects, and a method to generate a select list using +the s:select/ pattern. (i.e. taking the name of the list property, a listKey and listValue) - -struts - an instance of StrutsBeanWrapper - - -action - the current Struts action - - -exception - optional the Exception instance, if the view is a JSP exception or Servlet exception view - + struts - an instance of StrutsBeanWrapper + action - the current Struts action + exception - optional the Exception instance, if the view is a JSP exception or Servlet exception view -FreeMarker configuration with recent releases +FreeMarker configuration with recent releases -To configure the freemarker engine that Struts uses, just add a file freemarker.properties to the classpath. The supported properties are those that the Freemarker Configuration object expects - see the http://freemarker\.org/docs/api/freemarker/template/Configuration\.html\#setSetting(java\.lang\.String,%20java\.lang\.String)">Freemarker documentation^[http://freemarker.org/docs/api/freemarker/template/Configuration.html#setSetting( [...] +To configure the freemarker engine that Struts uses, just add a file freemarker.properties to the classpath. The supported properties +are those that the Freemarker Configuration object expects - see the https://freemarker.apache.org/docs/api/freemarker/template/Configuration.html#setSetting-java.lang.String-java.lang.String-;>Freemarker documentation +for these. default_encoding=ISO-8859-1 template_update_delay=5 locale=no_NO -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new fc79d76 Updates production by Jenkins fc79d76 is described below commit fc79d76980b001e284286956906b1300eaa27992 Author: jenkins AuthorDate: Wed Sep 12 14:42:22 2018 + Updates production by Jenkins --- content/.htaccess | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/.htaccess b/content/.htaccess index 1be2f2e..098a831 100644 --- a/content/.htaccess +++ b/content/.htaccess @@ -2,8 +2,9 @@ DirectoryIndex index.html RewriteEngine On -RewriteCond %{HTTPS} !=on -RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] +RewriteCond %{HTTPS} off +RewriteCond %{REQUEST_URI} !^/dtds/? [NC] +RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] RedirectMatch \/docs\/version\-notes\-25([0-9]{1,2})+\.html https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.$1 RedirectMatch \/docs\/version\-notes\-23([0-9]{1,2})+\.html https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.$1
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 39de2c5 Updates production by Jenkins 39de2c5 is described below commit 39de2c566d28e55334c22754c899dbf504520d52 Author: jenkins AuthorDate: Wed Sep 12 08:20:28 2018 + Updates production by Jenkins --- content/.htaccess | 4 1 file changed, 4 insertions(+) diff --git a/content/.htaccess b/content/.htaccess index 9e224da..1be2f2e 100644 --- a/content/.htaccess +++ b/content/.htaccess @@ -1,6 +1,10 @@ # This file is maintained at https://gitbox.apache.org/repos/asf?p=struts-site.git DirectoryIndex index.html +RewriteEngine On +RewriteCond %{HTTPS} !=on +RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] + RedirectMatch \/docs\/version\-notes\-25([0-9]{1,2})+\.html https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.$1 RedirectMatch \/docs\/version\-notes\-23([0-9]{1,2})+\.html https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.$1 RedirectMatch \/docs\/version\-notes\-22([0-9]{1,2})+\.html https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.2.$1
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b234695 Updates production by Jenkins b234695 is described below commit b234695637a19c4ddda4b7e81f0ae8dfebbbdc6e Author: jenkins AuthorDate: Fri Sep 7 20:00:54 2018 + Updates production by Jenkins --- content/core-developers/interceptors.html | 16 +--- content/core-developers/struts-default-xml.html | 16 +--- content/submitting-patches.html | 2 +- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index 5409037..fdfc05a 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -272,11 +272,6 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t java.lang.ClassLoader, java.lang.Shutdown, java.lang.ProcessBuilder, -ognl.OgnlContext, -ognl.ClassResolver, -ognl.TypeConverter, -ognl.MemberAccess, -com.opensymphony.xwork2.ognl.SecurityMemberAccess, com.opensymphony.xwork2.ActionContext" / !-- this must be valid regex, each '.' in package name must be escaped! -- @@ -286,17 +281,16 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t !-- this is simpler version of the above used with string comparison -- constant name="struts.excludedPackageNames" value=" -com.opensymphony.xwork2.ognl., -java.lang., ognl., -javax, +javax., freemarker.core., freemarker.template., freemarker.ext.rhino., -freemarker.ext.beans., -sun.misc., sun.reflect., -javassist." / +javassist., +com.opensymphony.xwork2.ognl., +com.opensymphony.xwork2.security., +com.opensymphony.xwork2.util." / bean class="com.opensymphony.xwork2.ObjectFactory" name="struts"/ bean type="com.opensymphony.xwork2.factory.ResultFactory" name="struts" class="org.apache.struts2.factory.StrutsResultFactory" / diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index fab4f27..4c0cda6 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -187,11 +187,6 @@ setting in struts.properties. java.lang.ClassLoader, java.lang.Shutdown, java.lang.ProcessBuilder, -ognl.OgnlContext, -ognl.ClassResolver, -ognl.TypeConverter, -ognl.MemberAccess, -com.opensymphony.xwork2.ognl.SecurityMemberAccess, com.opensymphony.xwork2.ActionContext" / !-- this must be valid regex, each '.' in package name must be escaped! -- @@ -201,17 +196,16 @@ setting in struts.properties. !-- this is simpler version of the above used with string comparison -- constant name="struts.excludedPackageNames" value=" -com.opensymphony.xwork2.ognl., -java.lang., ognl., -javax, +javax., freemarker.core., freemarker.template., freemarker.ext.rhino., -freemarker.ext.beans., -sun.misc., sun.reflect., -javassist." / +javassist., +com.opensymphony.xwork2.ognl., +com.opensymphony.xwork2.security., +com.opensymphony.xwork2.util." / bean class="com.opensymphony.xwork2.ObjectFactory" name="struts"/ bean type="com.opensymphony.xwork2.factory.ResultFactory" name="struts" class="org.apache.struts2.factory.StrutsResultFactory" / diff --git a/content/submitting-patches.html b/content/submitting-patches.html index ee14b6c..db68a1f 100644 --- a/content/submitting-patches.html +++ b/content/submitting-patches.html @@ -165,7 +165,7 @@ will replicate them to all the clones, that’s why using GitHub is a preferred Non-committers -If you aren’t a committer you can still the repo from Apache Gitbox but you won’t be able push any changes to it. +If you aren’t a committer you can still clone the repo from Apache Gitbox but you won’t be able push any changes to it. That’s why it is better to use GitHub git clone https://gitbox.apache.org/repos/asf/struts.git
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 871b9b4 Updates production by Jenkins 871b9b4 is described below commit 871b9b498d6baefe7f8991bb0c86dd0b8c2ad502 Author: jenkins AuthorDate: Wed Aug 22 07:30:53 2018 + Updates production by Jenkins --- content/announce.html | 72 + content/core-developers/interceptors.html | 2 + content/core-developers/struts-default-xml.html | 2 + content/download.html | 84 - content/index.html | 22 +++ content/releases.html | 15 - 6 files changed, 143 insertions(+), 54 deletions(-) diff --git a/content/announce.html b/content/announce.html index 32f7605..5faaddd 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,9 @@ Announcements 2018 + 22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 + 22 August 2018 - Struts 2.5.17 General Availability + 22 August 2018 - Struts 2.3.35 General Availability 27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin 23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3 16 March 2018 - Struts 2.5.16 General Availability @@ -139,6 +142,75 @@ Skip to: Announcements - 2017 +22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 + +CVEID:CVE-2018-11776 + +PRODUCT:Apache Struts + +VERSION:Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16 + +PROBLEMTYPE:Remote Code Execution + +REFERENCES:https://cwiki.apache.org/confluence/display/WW/S2-057;>S2-057 + +DESCRIPTION:Man Yue Mo from the Semmle Security Research team was noticed that Apache Struts versions 2.3 to 2.3.34 and +2.5 to 2.5.16 suffer from possible Remote Code Execution when using results with no namespace and in same time, its +upper action(s) have no or wildcard namespace. Same possibility when using url tag which doesn’t have value and action +set and in same time, its upper action(s) have no or wildcard namespace. + +22 August 2018 - Struts 2.5.17 General Availability + +The Apache Struts group is pleased to announce that Struts 2.5.17 is available as a “General Availability” +release. The GA designation is our highest quality grade. + +In addition to critical overall proactive security improvements, this release addresses one potential security vulnerability: + + + Possible Remote Code Execution when using results with no namespace and in same time, its upper action(s) have no or +wildcard namespace. Same possibility when using url tag which doesn’t have value and action set. - https://cwiki.apache.org/confluence/display/WW/S2-057;>S2-057 + + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +All developers are strongly advised to perform this action. + +The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 2.4, JSP API 2.0, and Java 7. + +Should any issues arise with your use of any version of the Struts framework, please post your comments +to the user list, and, if appropriate, file a tracking ticket. + +You can download this version from our download page. + +22 August 2018 - Struts 2.3.35 General Availability + +The Apache Struts group is pleased to announce that Struts 2.3.35 is available as a “General Availability” +release. The GA designation is our highest quality grade. + +In addition to critical overall proactive security improvements, this release addresses one potential security vulnerability: + + + Possible Remote Code Execution when using results with no namespace and in same time, its upper action(s) have no or +wildcard namespace. Same possibility when using url tag which doesn’t have value and action set. - https://cwiki.apache.org/confluence/display/WW/S2-057;>S2-057 + + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +All developers are strongly advised to perform this action. + +The 2.3.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 2.4, JSP API 2.0, and Java 6. + +Should any issues arise with your use of any version of the Struts framework, please post your comments +to the user list, and, if appropriate, file a tracking ticket. + +You
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new dfe5af9 Updates production by Jenkins dfe5af9 is described below commit dfe5af90463b40b04a61a59a0dd337188b6dbc8b Author: jenkins AuthorDate: Tue Jun 12 21:04:42 2018 + Updates production by Jenkins --- content/volunteers.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/volunteers.html b/content/volunteers.html index 5844f76..bf27e2c 100644 --- a/content/volunteers.html +++ b/content/volunteers.html @@ -165,6 +165,7 @@ or committee member. Greg Huber (ghuber at apache.org) Aleksandr Mashchenko (amashchenko at apache.org) Stefaan Dutry (sdutry at apache.org) + Yasser Zamani (yasserzamani at apache.org) Committers @@ -182,7 +183,6 @@ or committee member. Mathias Bogaert (pathos at apache.org) John Lindal (jafl at apache.org) Bruce A. Phillips (bphillips at apache.org) - Yasser Zamani (yasserzamani at apache.org) Emeritus Volunteers -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new f2b4550 Updates production by Jenkins f2b4550 is described below commit f2b455055618e596491446977839d45fc60457e9 Author: jenkins AuthorDate: Sun Jun 10 14:00:56 2018 + Updates production by Jenkins --- content/core-developers/localization.html | 36 +++ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/content/core-developers/localization.html b/content/core-developers/localization.html index 7ef0160..2764e37 100644 --- a/content/core-developers/localization.html +++ b/content/core-developers/localization.html @@ -172,7 +172,7 @@ global resource properties -This is how it is implemented in a default implementation of the LocalizedTextProvider interface. You can provide your +This is how it is implemented in a default implementation of the LocalizedTextProvider interface. You can provide your own implementation using TextProvider and TextProviderFactory interfaces. To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties: @@ -188,7 +188,7 @@ own implementation using TextProvider and - If FooAction.properties does not exist, com/acme/action/package.properties will be searched for, if not found + If FooAction.properties does not exist, com/acme/action/package.properties will be searched for, if not found com/acme/package.properties, if not found com/package.properties, etc. @@ -202,12 +202,12 @@ own implementation using TextProvider and -it will use a default class defined with default-class-ref in struts-default.xml which is +it will use a default class defined with default-class-ref in struts-default.xml which is com.opensymphony.xwork2.ActionSupport. It means you have two options here to get I18N working in that case: define com/opensymphony/xwork2/ActionSupport.properties and put messages there - point default-class-ref to your base class and then defined appropriated .properties file (corresponding to + point default-class-ref to your base class and then defined appropriated .properties file (corresponding to class’ name or package) @@ -224,7 +224,7 @@ technique is especially useful for labels of UI tags.) -The default implementation of TextProvider which is used in ActionSupport perform evaluation of value read from +The default implementation of TextProvider which is used in ActionSupport perform evaluation of value read from bundle base on the provided key, see [Localizing Output] for an example. Using the text tag @@ -241,16 +241,16 @@ bundle base on the provided key, see [Localizing Output] for an example. Using the I18n tag -The i18n tag pushes an arbitrary resource bundle on to the value stack. Other tags within the scope of the i18n tag +The i18n tag pushes an arbitrary resource bundle on to the value stack. Other tags within the scope of the i18n tag can display messages from that resource bundle. -s:i18n name="some.package.bundle"/s:i18n +s:i18n name="some.package.bundle" s:text name="some.key" / /s:i18n -Internationalizing SiteMesh decorators is possible, but there are quirks. See SiteMesh Plugin +Internationalizing SiteMesh decorators is possible, but there are quirks. See SiteMesh Plugin for more. Using the Key attribute of UI Tags @@ -263,7 +263,7 @@ for more. I18n Interceptor -Essentially, the i18n Interceptor pushes a locale into the ActionContext map upon every request. The framework +Essentially, the i18n Interceptor pushes a locale into the ActionContext map upon every request. The framework components that support localization all utilize the ActionContext locale. See I18n Interceptor f or details. @@ -277,15 +277,15 @@ or details. Comparison with Struts 1 -Struts 1 users should be familiar with the application.properties resource bundle, where you can put all the messages -in the application that are going to be translated. Struts 2, though, splits the resource bundles per action or model -class, and you may end up with duplicated messages in those resource bundles. A quick fix for that is to create a file -called ActionSupport.properties in com/opensymphony/xwork2 and put it on your classpath. This will only work well if +Struts 1 users should be familiar with the application.properties resource bundle, where you can put all the messages +in the application that are going to be translated. Struts 2, though, splits the resource bundles per action or model +class, and you may end up with duplicated messages in those resource bundles. A quick fix for that is to create a file +called ActionSupport.properties in com/opensymphony/xwork2 and put it on your classpath. This will only work well
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 53fc0ef Updates production by Jenkins 53fc0ef is described below commit 53fc0ef618ec8314806b05c55a9df9dab6769bda Author: jenkins AuthorDate: Tue Jun 5 09:16:05 2018 + Updates production by Jenkins --- content/core-developers/validation.html | 74 - 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/content/core-developers/validation.html b/content/core-developers/validation.html index 4250408..107deb3 100644 --- a/content/core-developers/validation.html +++ b/content/core-developers/validation.html @@ -141,7 +141,14 @@ Validator Scopes Notes Defining Validation Rules - Localizing and Parameterizing Messages + Localizing and Parameterizing Messages + Customizing validation messages + XML + Annotations + + + + Validator Flavor Non-Field Validator Vs Field-Validator validatortypes Short-Circuiting Validator @@ -425,6 +432,71 @@ it is possible to construct quite sophisticated messages. +Customizing validation messages + +There is another option to customise validation messages by using parametrized messages. Either you can use them via +XML or with annotations. + +XML + +To use this new approach you must use a proper header in a ActionName-validation.xml file, see below: + +?xml version="1.0"? +!DOCTYPE validators PUBLIC +"-//Apache Struts//XWork Validator 1.0.3//EN" +"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"; +validators + ... +/validators + + + +Now you can define validators that will use parametrized messages as below: + +field name="username" +field-validator type="requiredstring" +message key="errors.required" +param name="0"getText('username.field.name')/param +/message +/field-validator +/field + + + + + NOTE: Please be aware that all the parameters will be evaluated against ValueStack, please do not reference user +controlled values or incoming parameters in request as this can lead to a security vulnerability + + +Now you can define your properties file with localized messages: + +errors.required={0} is required. +username.field.name=Username + + + +As you can see you defined a errors.required key with a placeholder for the param. The names of the params are not important, +order is important as this mechanism uses MessageFormat to format the message. + +The final output will be as follow: + +Username is required. + + + +Annotations + +The same mechanism can be used with annotations as follow: + +@RequiredStringValidator(key = "errors.required", messageParams = { +"getText('username.field.name')" +}) +public void setUsername(String username) { +this.username = username; +} + + + Validator Flavor The validators supplied by the XWork distribution (and any validators you might write yourself) come in two different -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a8dc339 Updates production by Jenkins a8dc339 is described below commit a8dc3393fc19e5d37fe6cf48a5cf3310213f5b5f Author: jenkins AuthorDate: Mon Jun 4 14:16:12 2018 + Updates production by Jenkins --- content/core-developers/interceptors.html | 3 --- content/core-developers/struts-default-xml.html | 3 --- content/plugins/cdi/index.html | 2 +- content/plugins/rest/index.html | 2 +- content/releases.html | 8 5 files changed, 6 insertions(+), 12 deletions(-) diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index 356a78f..91095e6 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -276,7 +276,6 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t ognl.ClassResolver, ognl.TypeConverter, ognl.MemberAccess, -ognl.DefaultMemberAccess, com.opensymphony.xwork2.ognl.SecurityMemberAccess, com.opensymphony.xwork2.ActionContext" / @@ -454,7 +453,6 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/ interceptor name="scope" class="org.apache.struts2.interceptor.ScopeInterceptor"/ interceptor name="servletConfig" class="org.apache.struts2.interceptor.ServletConfigInterceptor"/ -interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/ interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/ interceptor name="tokenSession" class="org.apache.struts2.interceptor.TokenSessionStoreInterceptor"/ interceptor name="validation" class="org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor"/ @@ -462,7 +460,6 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t interceptor name="store" class="org.apache.struts2.interceptor.MessageStoreInterceptor" / interceptor name="checkbox" class="org.apache.struts2.interceptor.CheckboxInterceptor" / interceptor name="datetime" class="org.apache.struts2.interceptor.DateTextFieldInterceptor" / -interceptor name="profiling" class="org.apache.struts2.interceptor.ProfilingActivationInterceptor" / interceptor name="roles" class="org.apache.struts2.interceptor.RolesInterceptor" / interceptor name="annotationWorkflow" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor" / interceptor name="annotationParameterFilter" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationParameterFilterInterceptor" / diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index fe8c547..0c0ab39 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -191,7 +191,6 @@ setting in struts.properties. ognl.ClassResolver, ognl.TypeConverter, ognl.MemberAccess, -ognl.DefaultMemberAccess, com.opensymphony.xwork2.ognl.SecurityMemberAccess, com.opensymphony.xwork2.ActionContext" / @@ -369,7 +368,6 @@ setting in struts.properties. interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/ interceptor name="scope" class="org.apache.struts2.interceptor.ScopeInterceptor"/ interceptor name="servletConfig" class="org.apache.struts2.interceptor.ServletConfigInterceptor"/ -interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/ interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/ interceptor name="tokenSession" class="org.apache.struts2.interceptor.TokenSessionStoreInterceptor"/ interceptor name="validation" class="org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor"/ @@ -377,7 +375,6 @@ setting in struts.properties. interceptor name="store" class="org.apache.struts2.interceptor.MessageStoreInterceptor" / interceptor name="checkbox" class="org.apache.struts2.interceptor.CheckboxInterceptor" / interceptor name="datetime" class="org.apache.struts2.interceptor.DateTextFieldInterceptor" / -interceptor
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 2d29c97 Updates production by Jenkins 2d29c97 is described below commit 2d29c97915d5ef3ed4d5fce806753b69ecd83675 Author: jenkinsAuthorDate: Wed Apr 25 05:15:50 2018 + Updates production by Jenkins --- content/plugins/struts-1/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/plugins/struts-1/index.html b/content/plugins/struts-1/index.html index 4c090d3..dda0f9f 100644 --- a/content/plugins/struts-1/index.html +++ b/content/plugins/struts-1/index.html @@ -188,7 +188,7 @@ param name="name"gangsterForm/param param name="scope"session/param /interceptor-ref - interceptor-ref name="struts1-default"/ + interceptor-ref name="struts1Stack"/ resultmyAction.jsp/result /action -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 2bcfd9f Updates production by Jenkins 2bcfd9f is described below commit 2bcfd9f769b85cd0577214bc3c6a5cba40bc34bf Author: jenkinsAuthorDate: Thu Apr 19 04:46:46 2018 + Updates production by Jenkins --- content/index.html | 5 + 1 file changed, 5 insertions(+) diff --git a/content/index.html b/content/index.html index 6eadc78..ec24232 100644 --- a/content/index.html +++ b/content/index.html @@ -142,6 +142,11 @@ + https://www.apache.org/events/current-event.html;> +https://www.apache.org/events/current-event-234x60.png; class="center-block"/> + + + Google's Patch Reward program During http://www.meetup.com/sfhtml5/;>SFHTML5 Google announced that -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 3b34dbc Updates production by Jenkins 3b34dbc is described below commit 3b34dbc9e2d387b0c85d3dc4a9d1178c8056e705 Author: jenkinsAuthorDate: Thu Mar 29 04:45:46 2018 + Updates production by Jenkins --- content/announce.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/announce.html b/content/announce.html index ad5b1ee..32f7605 100644 --- a/content/announce.html +++ b/content/announce.html @@ -239,7 +239,7 @@ to the user list, and, if appropriate, file a tracking ticket. You can download this version from our download page. - Skip to: Announcements - 2017 + Skip to: Announcements - 2017 -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 8d4f5a5 Updates production by Jenkins 8d4f5a5 is described below commit 8d4f5a5f0693580d28b7168139e2b344009c020c Author: jenkinsAuthorDate: Tue Mar 27 10:30:45 2018 + Updates production by Jenkins --- content/announce.html | 11 +++ content/index.html| 7 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/content/announce.html b/content/announce.html index 18a3ebe..ad5b1ee 100644 --- a/content/announce.html +++ b/content/announce.html @@ -130,6 +130,7 @@ Announcements 2018 + 27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin 23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3 16 March 2018 - Struts 2.5.16 General Availability @@ -138,6 +139,16 @@ Skip to: Announcements - 2017 +27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin + +The Apache Security Struts Team recommends to immediately upgrade your Struts 2 based projects to use the latest released +version of the Apache Struts. This is necessary to prevent your publicly accessible web site, which is using the Struts +REST plugin and performing XML serialisation, from being exposed to possible DoS attack. + +You can find more details in a Security Bulletin https://cwiki.apache.org/confluence/display/WW/S2-056;>S2-056 + +All developers are strongly advised to perform this action. + 23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3 The Apache Struts Team recommends to immediately upgrade your Struts 2 diff --git a/content/index.html b/content/index.html index 08e39a7..6eadc78 100644 --- a/content/index.html +++ b/content/index.html @@ -187,7 +187,12 @@ - +A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin + + The Apache Security Struts Team recommends to immediately upgrade your Struts 2 based projects to use + the latest released version of the Apache Struts to prevent possible DoS attack when using the REST plugin. + Announcement + -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 6e568b0 Updates production by Jenkins 6e568b0 is described below commit 6e568b02b5fa620bc235c2f6b6839787396e7b14 Author: jenkinsAuthorDate: Fri Mar 16 15:15:48 2018 + Updates production by Jenkins --- content/announce-2015.html| 2 +- content/announce-2016.html| 2 +- content/{announce.html => announce-2017.html} | 6 +- content/announce.html | 504 ++ content/download.html | 44 +-- content/index.html| 10 +- content/releases.html | 20 +- 7 files changed, 80 insertions(+), 508 deletions(-) diff --git a/content/announce-2015.html b/content/announce-2015.html index 134d341..6ec71a2 100644 --- a/content/announce-2015.html +++ b/content/announce-2015.html @@ -127,7 +127,7 @@ https://github.com/apache/struts-site/edit/master/source/announce-2015.md; title="Edit this page on GitHub">Edit on GitHub -Announcements +Announcements 2015 Skip to: Announcements - 2014 diff --git a/content/announce-2016.html b/content/announce-2016.html index d13a345..3a24b7b 100644 --- a/content/announce-2016.html +++ b/content/announce-2016.html @@ -127,7 +127,7 @@ https://github.com/apache/struts-site/edit/master/source/announce-2016.md; title="Edit this page on GitHub">Edit on GitHub -Announcements +Announcements 2016 Skip to: Announcements - 2015 diff --git a/content/announce.html b/content/announce-2017.html similarity index 99% copy from content/announce.html copy to content/announce-2017.html index e0883f4..390c112 100644 --- a/content/announce.html +++ b/content/announce-2017.html @@ -7,7 +7,7 @@ - Announcements + Announcements 2017 @@ -125,9 +125,9 @@ -https://github.com/apache/struts-site/edit/master/source/announce.md; title="Edit this page on GitHub">Edit on GitHub +https://github.com/apache/struts-site/edit/master/source/announce-2017.md; title="Edit this page on GitHub">Edit on GitHub -Announcements +Announcements 2017 30 November 2017 - Struts 2.5.14.1 General Availability diff --git a/content/announce.html b/content/announce.html index e0883f4..4d61c2f 100644 --- a/content/announce.html +++ b/content/announce.html @@ -7,7 +7,7 @@ - Announcements + Announcements 2018 @@ -127,63 +127,19 @@ https://github.com/apache/struts-site/edit/master/source/announce.md; title="Edit this page on GitHub">Edit on GitHub -Announcements +Announcements 2018 - 30 November 2017 - Struts 2.5.14.1 General Availability - 23 November 2017 - Struts 2.5.14 General Availability - 07 September 2017 - Struts 2.3.34 General Availability - 05 September 2017 - Struts 2.5.13 General Availability - 09 August 2017 - S2-049 Security Bulletin update - 07 July 2017 - Struts 2.3.33 General Availability - 06 July 2017 - Struts 2.5.12 General Availability - 9 July 2017 - Possible RCE in the Struts Showcase app in the Struts 1 plugin example in the Struts 2.3.x series - 23 march 2017 - Struts Extras secure Multipart plugins General Availability - versions 1.1 - 20 march 2017 - Struts Extras secure Multipart plugins General Availability - 7 march 2017 - Struts 2.5.10.1 General Availability - 7 march 2017 - Struts 2.3.32 General Availability - 3 February 2017 - Struts 2.5.10 General Availability + 16 March 2018 - Struts 2.5.16 General Availability - Skip to: Announcements - 2016 + Skip to: Announcements - 2017 -30 November 2017 - Struts 2.5.14.1 General Availability +16 March 2018 - Struts 2.5.16 General Availability -The Apache Struts group is pleased to announce that Struts 2.5.14.1 is available as a “General Availability” -release. The GA designation is our highest quality grade. - -Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. -The framework is designed to streamline the full development cycle, from building, to deploying, -to maintaining applications over time. - -This release contains fixes for the following potential security vulnerabilities: - - - https://cwiki.apache.org/confluence/display/WW/S2-054;>S2-054 -A crafted JSON request can be used to perform a DoS attack when using the Struts REST plugin - https://cwiki.apache.org/confluence/display/WW/S2-055;>S2-055 -Vulnerability in the Jackson JSON library - - - - Please read the https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.14.1;>Version Notes to find more details about performed bug fixes and improvements. - - -All developers are strongly
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 593e7a2 Updates production by Jenkins 593e7a2 is described below commit 593e7a229056251a747ced4cf82da0a77877c750 Author: jenkinsAuthorDate: Wed Mar 14 00:48:05 2018 + Updates production by Jenkins --- content/core-developers/date-validator.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/core-developers/date-validator.html b/content/core-developers/date-validator.html index 7e1b150..202d8aa 100644 --- a/content/core-developers/date-validator.html +++ b/content/core-developers/date-validator.html @@ -133,7 +133,7 @@ Field Validator that checks if the date supplied is within a specific range. -NOTE: If no date converter is specified, XWorkBasicConverter will kick in to do the date conversion, which by default using the Date.SHORT format using the a problematically specified locale else falling back to the system default locale. +NOTE: If no date converter is specified, XWorkBasicConverter will kick in to do the date conversion, which by default using the Date.SHORT format using the specified locale else falling back to the system default locale. Parameters -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 10176f6 Updates production by Jenkins 10176f6 is described below commit 10176f6669de1fa2ab6c8f99fe25e6d497e5c2de Author: jenkinsAuthorDate: Tue Mar 13 17:15:48 2018 + Updates production by Jenkins --- content/tag-developers/ajax-common-header.html | 8 content/tag-developers/form-tag.html | 2 +- content/tag-developers/form-tags.html | 2 +- content/tag-developers/submit-tag.html | 2 +- content/tag-developers/velocity-tags.html | 4 ++-- content/tag-developers/velocity.html | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/tag-developers/ajax-common-header.html b/content/tag-developers/ajax-common-header.html index de24a70..d738d11 100644 --- a/content/tag-developers/ajax-common-header.html +++ b/content/tag-developers/ajax-common-header.html @@ -7642,7 +7642,7 @@ __Description__ -| While this tag can be used with the [simple theme](#PAGE_14291), [xhtml theme](#PAGE_13834), and others, it is really designed to work best with the [ajax theme](#PAGE_14205). We recommend reading the _ajax div template_ documentation for more details. +| While this tag can be used with the [simple theme](simple-theme.html), [xhtml theme](xhtml-theme.html), and others, it is really designed to work best with the [ajax theme](ajax-theme.html). We recommend reading the _ajax div template_ documentation for more details. | @@ -13804,7 +13804,7 @@ __Examples__ -#form# {#PAGE_14201} +#form# {form-tag.html} Please make sure you have read the [Tag Syntax](tag-syntax.html) document and understand how tag attribute syntax works. @@ -14817,7 +14817,7 @@ __Examples__ __Validation__ -There are two flavours _Client Side Validation_ , depending on the theme you are using (xhtml, ajax, etc). If you are using the [xhtml theme](#PAGE_13834) or [css_xhtml theme](#PAGE_14215), pure client side validation will be used. If you are using the [ajax theme](#PAGE_14205), a special AJAX-based validation will take place. Read the _Client Side Validation_ docs for more information. +There are two flavours _Client Side Validation_ , depending on the theme you are using (xhtml, ajax, etc). If you are using the [xhtml theme](xhtml-theme.html) or [css_xhtml theme](css-xhtml-theme.html), pure client side validation will be used. If you are using the [ajax theme](ajax-theme.html), a special AJAX-based validation will take place. Read the _Client Side Validation_ docs for more information. #head# {#PAGE_13997} @@ -24055,7 +24055,7 @@ __Description__ | -This tag works with all themes, but has special importance when combined with the [form](#PAGE_14201) tag in the [ajax theme](#PAGE_14205). Please read up on the [ajax theme](#PAGE_14205) for more information. +This tag works with all themes, but has special importance when combined with the [form](form-tag.html) tag in the [ajax theme](ajax-theme.html). Please read up on the [ajax theme](ajax-theme.html) for more information. | diff --git a/content/tag-developers/form-tag.html b/content/tag-developers/form-tag.html index ed08ec6..8483b66 100644 --- a/content/tag-developers/form-tag.html +++ b/content/tag-developers/form-tag.html @@ -1130,7 +1130,7 @@ Validation -There are two flavours Client Side Validation , depending on the theme you are using (xhtml, ajax, etc). If you are using the xhtml theme or css_xhtml theme, pure client side validation will be used. If you are using the ajax theme, a special AJAX-based validation will take place. Read the Client Side Validation docs for more information. +There are two flavours Client Side Validation , depending on the theme you are using (xhtml, ajax, etc). If you are using the xhtml theme or css_xhtml theme, pure client side validation will be used. If you are using the ajax theme, a special AJAX-based validation will take place. Read the Client Side Validation docs for more information. diff --git a/content/tag-developers/form-tags.html b/content/tag-developers/form-tags.html index 435891e..3fcdfbb 100644 --- a/content/tag-developers/form-tags.html +++ b/content/tag-developers/form-tags.html @@ -142,7 +142,7 @@ Form Tag Themes -As explained in Themes and Templates, the HTML Tags (which includes Form Tags) are all driven by templates. Templates are grouped together to create themes. The framework bundles three themes in the distribution. +As explained in Themes and Templates, the HTML Tags (which includes Form Tags) are all driven by templates. Templates are grouped together to create themes. The framework bundles three themes in the distribution. diff --git
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 6566b65 Updates production by Jenkins 6566b65 is described below commit 6566b6510356a3830003bae72c41b2b73fddc2a0 Author: jenkinsAuthorDate: Tue Mar 13 17:01:04 2018 + Updates production by Jenkins --- content/tag-developers/ajax-common-header.html | 42 +++--- content/tag-developers/checkbox-tag.html | 2 +- content/tag-developers/checkboxlist-tag.html | 2 +- content/tag-developers/combobox-tag.html | 2 +- content/tag-developers/datetextfield-tag.html | 2 +- content/tag-developers/doubleselect-tag.html | 2 +- content/tag-developers/else-tag.html | 2 +- content/tag-developers/elseif-tag.html | 2 +- content/tag-developers/file-tag.html | 2 +- content/tag-developers/form-tag.html | 2 +- content/tag-developers/form-tags.html | 2 +- content/tag-developers/head-tag.html | 2 +- content/tag-developers/hidden-tag.html | 2 +- content/tag-developers/i18n-tag.html | 2 +- content/tag-developers/if-tag.html | 2 +- content/tag-developers/include-tag.html| 2 +- content/tag-developers/iterator-tag.html | 2 +- content/tag-developers/label-tag.html | 2 +- content/tag-developers/merge-tag.html | 2 +- content/tag-developers/optgroup-tag.html | 2 +- .../tag-developers/optiontransferselect-tag.html | 2 +- content/tag-developers/param-tag.html | 2 +- content/tag-developers/password-tag.html | 2 +- content/tag-developers/property-tag.html | 2 +- content/tag-developers/push-tag.html | 2 +- content/tag-developers/radio-tag.html | 2 +- content/tag-developers/reset-tag.html | 2 +- content/tag-developers/select-tag.html | 2 +- content/tag-developers/set-tag.html| 2 +- content/tag-developers/sort-tag.html | 2 +- content/tag-developers/submit-tag.html | 2 +- content/tag-developers/tag-syntax.html | 2 +- content/tag-developers/text-tag.html | 2 +- content/tag-developers/textarea-tag.html | 2 +- content/tag-developers/textfield-tag.html | 2 +- content/tag-developers/token-tag.html | 2 +- content/tag-developers/updownselect-tag.html | 2 +- content/tag-developers/url-tag.html| 2 +- 38 files changed, 58 insertions(+), 58 deletions(-) diff --git a/content/tag-developers/ajax-common-header.html b/content/tag-developers/ajax-common-header.html index 3461bf5..de24a70 100644 --- a/content/tag-developers/ajax-common-header.html +++ b/content/tag-developers/ajax-common-header.html @@ -2266,7 +2266,7 @@ Using errorNotifyTopics and indicator: #checkbox# {#PAGE_14029} -Please make sure you have read the [Tag Syntax](#PAGE_13927) document and understand how tag attribute syntax works. +Please make sure you have read the [Tag Syntax](tag-syntax.html) document and understand how tag attribute syntax works. | @@ -3047,7 +3047,7 @@ __Examples__ #checkboxlist# {#PAGE_13969} -Please make sure you have read the [Tag Syntax](#PAGE_13927) document and understand how tag attribute syntax works. +Please make sure you have read the [Tag Syntax](tag-syntax.html) document and understand how tag attribute syntax works. | @@ -3944,7 +3944,7 @@ __Examples__ #combobox# {#PAGE_14259} -Please make sure you have read the [Tag Syntax](#PAGE_13927) document and understand how tag attribute syntax works. +Please make sure you have read the [Tag Syntax](tag-syntax.html) document and understand how tag attribute syntax works. | @@ -5758,7 +5758,7 @@ __Examples__ #datetextfield# {#PAGE_40506485} -Please make sure you have read the [Tag Syntax](#PAGE_13927) document and understand how tag attribute syntax works. +Please make sure you have read the [Tag Syntax](tag-syntax.html) document and understand how tag attribute syntax works. | @@ -10690,7 +10690,7 @@ __Parameters__ #doubleselect# {#PAGE_14005} -Please make sure you have read the [Tag Syntax](#PAGE_13927) document and understand how tag attribute syntax works. +Please make sure you have read the [Tag Syntax](tag-syntax.html) document and understand how tag attribute syntax works. | @@ -13017,7 +13017,7 @@ __Examples__ #file# {#PAGE_14283} -Please make sure you have read the [Tag Syntax](#PAGE_13927) document and understand how tag attribute syntax works. +Please make sure you have read the [Tag
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 27bc573 Updates production by Jenkins 27bc573 is described below commit 27bc57307517a397a17bcdba1261e335fa492818 Author: jenkinsAuthorDate: Tue Mar 13 16:45:53 2018 + Updates production by Jenkins --- content/tag-developers/component-tag.html | 138 ++ content/tag-developers/tag-reference.html | 4 +- 2 files changed, 65 insertions(+), 77 deletions(-) diff --git a/content/tag-developers/component-tag.html b/content/tag-developers/component-tag.html index da8b997..6d6ae30 100644 --- a/content/tag-developers/component-tag.html +++ b/content/tag-developers/component-tag.html @@ -131,49 +131,39 @@ Description - - Renders an custom UI widget using the specified templates. Additional objects can be passed in to the template - using the param tags. - - - Freemarker: - Objects provided can be retrieve from within the template via $parameters._paramname_. - - JSP: - Objects provided can be retrieve from within the template via - - - In the bottom JSP and Velocity samples, two parameters are being passed in to the component. From within the - component, they can be accessed as: - - - Freemarker: - $parameters.get('key1') and $parameters.get('key2') or $parameters.key1 and $parameters.key2 - - JSP: - - and or - and - - - - Currently, your custom UI components can be written in Velocity, JSP, or Freemarker, and the correct rendering - engine will be found based on file extension. - - - - Remember: the value params will always be resolved against the ValueStack so if you mean to pass a - string literal to your component, make sure to wrap it in single quotes i.e. value="'value1'" (note the opening "' and closing '" otherwise, the the value - stack will search for an Object on the stack with a method of getValue1(). - - +Renders an custom UI widget using the specified templates. Additional objects can be passed in to the template + using the param tags. - - If Jsp is used as the template, the jsp template itself must lie within the - webapp itself and not the classpath. Unlike Freemarker or Velocity, JSP template - could not be picked up from the classpath. +Freemarker: - +Objects provided can be retrieve from within the template via $parameters._paramname_. + +JSP: + +Objects provided can be retrieve from within the template via s:property value="%{parameters._paramname_}" / + +In the bottom JSP and Velocity samples, two parameters are being passed in to the component. From within the + component, they can be accessed as: + +Freemarker: + +$parameters.get('key1') and $parameters.get('key2') or $parameters.key1 and $parameters.key2 + +JSP: + +s:property value="%{parameters.key1}" / and s:property value="%{'parameters.key2'}" / or + s:property value="%{parameters.get('key1')}" / and s:property value="%{parameters.get('key2')}" / + +Currently, your custom UI components can be written in Velocity, JSP, or Freemarker, and the correct rendering + engine will be found based on file extension. + +Remember: the value params will always be resolved against the ValueStack so if you mean to pass a + string literal to your component, make sure to wrap it in single quotes i.e. value="'value1'" (note the opening "' and closing '" otherwise, the value + stack will search for an Object on the stack with a method of getValue1(). + +If JSP is used as the template, the JSP template itself must lie within the + webapp itself and not the classpath. Unlike Freemarker or Velocity, JSP template + could not be picked up from the classpath. (!) templateDir and theme attribute @@ -931,49 +921,47 @@ Examples - p - JSP - /p - pre - s:component template="/my/custom/component.vm"/ - - or +JSP - s:component template="/my/custom/component.vm" - s:param name="key1" value="value1"/ - s:param name="key2" value="value2"/ - /s:component - /pre +s:component template="/my/custom/component.vm"/ + + +or - p - Velocity - /p - pre - #s-component( "template=/my/custom/component.vm" ) +s:component template="/my/custom/component.vm" +s:param name="key1" value="value1"/ +s:param name="key2" value="value2"/ +/s:component + + - or +Velocity - #s-component( "template=/my/custom/component.vm" ) - #s-param( "name=key1" "value=value1" ) - #s-param( "name=key2" "value=value2" ) - #end - /pre +#s-component( "template=/my/custom/component.vm" ) + + +or - p - Freemarker - /p - pre -@s..component template="/my/custom/component.ftl" / +#s-component( "template=/my/custom/component.vm" ) +#s-param( "name=key1" "value=value1" ) +#s-param( "name=key2" "value=value2" ) +#end + + - or +Freemarker -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 8d5a779 Updates production by Jenkins 8d5a779 is described below commit 8d5a779855d617a49ba40f3febf88a36332ea996 Author: jenkinsAuthorDate: Tue Mar 13 05:15:51 2018 + Updates production by Jenkins --- content/core-developers/validation.html | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/core-developers/validation.html b/content/core-developers/validation.html index 33a8d60..4250408 100644 --- a/content/core-developers/validation.html +++ b/content/core-developers/validation.html @@ -133,6 +133,7 @@ Using Annotations + Bean Validation Examples Bundled Validators Registering Validators @@ -163,9 +164,9 @@ for the action. Using Annotations -Annotations can be used as an alternative to XML for validation. - -## Bean Validation +Annotations can be used as an alternative to XML for validation. + +Bean Validation With struts 2.5 comes the Bean Validation Plugin. That is an alternative to the classic struts validation described here. See the Plugin Page for details. -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new ee320b7 Updates production by Jenkins ee320b7 is described below commit ee320b7bda882e21136e9e35b8283889ca548dd4 Author: jenkinsAuthorDate: Thu Mar 8 06:45:52 2018 + Updates production by Jenkins --- content/maven-archetypes/index.html| 105 + .../maven-archetypes/struts2-archetype-blank.html | 51 -- 2 files changed, 87 insertions(+), 69 deletions(-) diff --git a/content/maven-archetypes/index.html b/content/maven-archetypes/index.html index 48d70a5..f91596d 100644 --- a/content/maven-archetypes/index.html +++ b/content/maven-archetypes/index.html @@ -173,9 +173,9 @@ Quickstart -A recommended way to start with Struts2 archetypes is to work with the archetype catalog. +A recommended way to start with Struts2 archetypes is to use archetype:generate goal with filter parameter. -mvn archetype:generate -DarchetypeCatalog=http://struts.apache.org/ +mvn archetype:generate -Dfilter=org.apache:struts @@ -206,9 +206,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ - -DarchetypeArtifactId=struts2-archetype-convention \ - -DarchetypeVersion=CURRENT_STRUTS_VERSION \ - -DremoteRepositories=http://struts.apache.org + -DarchetypeArtifactId=struts2-archetype-convention @@ -219,9 +217,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ - -DarchetypeArtifactId=struts2-archetype-blank \ - -DarchetypeVersion=CURRENT_STRUTS_VERSION \ - -DremoteRepositories=http://struts.apache.org + -DarchetypeArtifactId=struts2-archetype-blank @@ -255,9 +251,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ - -DarchetypeArtifactId=struts2-archetype-starter \ - -DarchetypeVersion=CURRENT_STRUTS_VERSION \ - -DremoteRepositories=http://struts.apache.org + -DarchetypeArtifactId=struts2-archetype-starter @@ -280,9 +274,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ - -DarchetypeArtifactId=struts2-archetype-angularjs \ - -DarchetypeVersion=CURRENT_STRUTS_VERSION \ - -DremoteRepositories=http://struts.apache.org + -DarchetypeArtifactId=struts2-archetype-angularjs @@ -310,9 +302,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ - -DarchetypeArtifactId=struts2-archetype-portlet \ - -DarchetypeVersion=CURRENT_STRUTS_VERSION \ - -DremoteRepositories=http://struts.apache.org + -DarchetypeArtifactId=struts2-archetype-portlet @@ -346,9 +336,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new f3f48ab Updates production by Jenkins f3f48ab is described below commit f3f48ab7df6b3ccbb01cb56aed02606019eefd8c Author: jenkinsAuthorDate: Fri Mar 2 06:00:56 2018 + Updates production by Jenkins --- .../tag-developers/optiontransferselect-tag.html | 67 --- content/tag-developers/url-tag.html| 98 ++ 2 files changed, 84 insertions(+), 81 deletions(-) diff --git a/content/tag-developers/optiontransferselect-tag.html b/content/tag-developers/optiontransferselect-tag.html index 2c6c9d0..bfb2ae4 100644 --- a/content/tag-developers/optiontransferselect-tag.html +++ b/content/tag-developers/optiontransferselect-tag.html @@ -159,17 +159,13 @@ NOTE: The id and doubleId need not be supplied as they will generated provided that the optiontransferselect tag is being used in a form tag. The generated id - and doubleId will be _ and - _ respectively. - - - - - -__Parameters__ - + and doubleId will be form_id_optiontransferselect_nameame and + form_id_optiontransferselect_doubleName respectively. + + +Parameters @@ -2061,26 +2057,41 @@ __Parameters__ +Examples + + + !-- minimum configuration -- + s:optiontransferselect + label="Favourite Cartoons Characters" + name="leftSideCartoonCharacters" + list="{'Popeye', 'He-Man', 'Spiderman'}" + doubleName="rightSideCartoonCharacters" + doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}" + / + + !-- possible configuration -- + s:optiontransferselect + 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" + / + + + + -__Examples__ - - - - - -```xml - - -- minimum configuration -- - - - -- possible configuration -- - diff --git a/content/tag-developers/url-tag.html b/content/tag-developers/url-tag.html index e1aa5dc..a1977ee 100644 --- a/content/tag-developers/url-tag.html +++ b/content/tag-developers/url-tag.html @@ -152,59 +152,58 @@ This tag is used to create a URL. - You can use the tag inside the body to provide + You can use the param tag inside the body to provide additional request parameters. If the value of a param is an Array or an Iterable all the values will be added to the URL. - NOTE: - By default request parameters will be separated using escaped ampersands (i.e., ). + NOTE:By default request parameters will be separated using escaped ampersands (i.e., ). This is necessary for XHTML compliance, however, when using the URL generated by this tag - with the tag, the escapeAmp attribute should be used to disable - ampersand escaping. + with the s:property tag, the escapeAmp attribute should be used to disable + ampersand escaping. - NOTE: - When includeParams is 'all' or 'get', the parameter defined in a + NOTE:When includeParams is 'all' or 'get', the parameter defined in a param tag will take precedence over any params included due to the includeParams attribute. For example, in Example 3 below, if there is a id parameter in the url where the page this - tag is included like http://://editUser.action?id=name=John - the generated url will be http://://editUser.action?id=22name=John - because the parameter defined in the param tag will take precedence. - - - - -__Setting a default value for includeParams__ - -The property _struts.url.includeParams_ can be used to set the default value of the _includeParams_ attribute. + tag is included like http://host:port/context/editUser.action?id=name=John + the generated url will be http://host:port/context/editUser.action?id=22name=John + because the parameter defined in the param tag will take precedence. + -**Setting the default value of includeParams** +Setting a default value for includeParams +The property struts.url.includeParams can be used to set the default value of the includeParams attribute. -```xml +Setting the default value of includeParams - + +struts ... - + constant name="struts.url.includeParams" value="none" / ... - - -``` +/struts -See _Constant Configuration_ for further information. + + +See Constant Configuration for further information. - + - + - As of Struts 2.1.3 the
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 1336acf Updates production by Jenkins 1336acf is described below commit 1336acf0cd1be91eb1c35a8a2dbf5653df17bd8c Author: jenkinsAuthorDate: Tue Feb 20 18:30:58 2018 + Updates production by Jenkins --- content/announce-2006.html | 4 +- content/builds.html | 4 +- content/doap_Struts.rdf | 2 +- content/kickstart.html | 230 ++-- content/release-guidelines.html | 2 +- 5 files changed, 85 insertions(+), 157 deletions(-) diff --git a/content/announce-2006.html b/content/announce-2006.html index 00908ec..c3693af 100644 --- a/content/announce-2006.html +++ b/content/announce-2006.html @@ -630,8 +630,8 @@ -http://struts.apache.org/downloads.html;> - http://struts.apache.org/downloads.html +http://struts.apache.org/releases.html;> + http://struts.apache.org/releases.html diff --git a/content/builds.html b/content/builds.html index 9742e2e..0c2178f 100644 --- a/content/builds.html +++ b/content/builds.html @@ -200,7 +200,7 @@ your own applications!) Again: Use at your own risk! If you do not plan to contribute to the development of the framework, then you probably want to download a -release +release NOTE: The Struts 2 nightly build is not fully operational. We suggest that contributors checkout the source code instead. @@ -215,7 +215,7 @@ Library distributions include any external dependencies needed to use a product When a build is judged “ready for prime time”, it is promoted to “General Availability” status and may be made the “Best Available” release. If the group feels that a build requires more testing, then it may be marked as “Beta” release. When a test build is upgraded to “Beta” or “GA” by a vote of the project members, -we make the distribution available as a formal release. +we make the distribution available as a formal release. Maven Snapshots diff --git a/content/doap_Struts.rdf b/content/doap_Struts.rdf index 6337de6..1cc7cbe 100644 --- a/content/doap_Struts.rdf +++ b/content/doap_Struts.rdf @@ -31,7 +31,7 @@ The Apache Struts Project offers the Apache Struts 2 web framework which is a comprehensive and modular tooling stack for creating web-based Java applications. Struts 2, emerged from the WebWork 2 framework, is an excellent choice for teams who value elegant solutions to difficult problems. https://issues.apache.org/jira/browse/WW/; /> http://struts.apache.org/mail.html; /> -http://struts.apache.org/downloads.html; /> +http://struts.apache.org/releases.html; /> Java http://projects.apache.org/category/web-framework; /> diff --git a/content/kickstart.html b/content/kickstart.html index 5e55667..6a956de 100644 --- a/content/kickstart.html +++ b/content/kickstart.html @@ -132,7 +132,7 @@ General I’m new to Apache Struts. How do I get started? - Looking at the releases page, some versions seem to be missing. What happened to them? + Looking at the releases page, some versions seem to be missing. What happened to them? Why is the project called “Struts”? How is Apache Struts licensed? Can Apache Struts be used in a commercial product? @@ -161,232 +161,160 @@ General - - -I’m new to Apache Struts. How do I get started? - - +I’m new to Apache Struts. How do I get started? -The best place to start is with the “best available” release. - If you are new to Java or web development, as well as Apache Struts, be sure to review the - Key Technologies Primer. +The best place to start is with the “best available” release. +If you are new to Java or web development, as well as Apache Struts, be sure to review the +Key Technologies Primer. The main Struts web site includes documentation for the latest “General Availability” release - in each major release series. The development section of the site inclues draft documentation - for upcoming releases. If you are just getting started, focus on the latest General - Availability release, Documentation for past releases is also available. +in each major release series. The development section of the site inclues draft documentation +for upcoming releases. If you are just getting started, focus on the latest General +Availability release, Documentation for past releases is also available. If you have questions, you can search the User Mailing List archives, - or post your own question to the list. (Plain old Google usually works too!) +or post your own question to the list. (Plain old Google usually works too!) - - -Looking at the releases page, some versions seem to be missing. What happened to
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 5436fe5 Updates production by Jenkins 5436fe5 is described below commit 5436fe5329cdbc10b4975794911a4d474ebea597 Author: jenkinsAuthorDate: Thu Feb 8 07:15:50 2018 + Updates production by Jenkins --- content/submitting-patches.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/submitting-patches.html b/content/submitting-patches.html index 59d25dd..2611146 100644 --- a/content/submitting-patches.html +++ b/content/submitting-patches.html @@ -153,7 +153,7 @@ or GitHub -git glone https://github.com/apache/struts.git +git clone https://github.com/apache/struts.git @@ -199,7 +199,7 @@ with the source code. Next step is to clone the original repo locally -git glone https://github.com/apache/struts.git +git clone https://github.com/apache/struts.git -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 73f6d36 Updates production by Jenkins 73f6d36 is described below commit 73f6d36b5fa7948a33bbe76d74c201134f7938dd Author: jenkinsAuthorDate: Tue Feb 6 10:15:55 2018 + Updates production by Jenkins --- content/archetype-catalog.xml | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/archetype-catalog.xml b/content/archetype-catalog.xml index f7a17e2..78a6192 100644 --- a/content/archetype-catalog.xml +++ b/content/archetype-catalog.xml @@ -7,49 +7,49 @@ org.apache.struts struts2-archetype-blank -2.5.5 +2.5.14 https://repository.apache.org/content/groups/public/ Struts 2 Archetypes - Blank org.apache.struts struts2-archetype-convention -2.5.5 +2.5.14 https://repository.apache.org/content/groups/public/ Struts 2 Archetypes - Blank Convention org.apache.struts struts2-archetype-dbportlet -2.5.5 +2.5.14 https://repository.apache.org/content/groups/public/ Struts 2 Archetypes - Database Portlet org.apache.struts struts2-archetype-plugin -2.5.5 +2.5.14 https://repository.apache.org/content/groups/public/ Struts 2 Archetypes - Plugin org.apache.struts struts2-archetype-portlet -2.5.5 +2.5.14 https://repository.apache.org/content/groups/public/ Struts 2 Archetypes - Portlet org.apache.struts struts2-archetype-starter -2.5.5 +2.5.14 https://repository.apache.org/content/groups/public/ Struts 2 Archetypes - Starter org.apache.struts struts2-archetype-angularjs -2.5.5 +2.5.14 https://repository.apache.org/content/groups/public/ Struts 2 Archetypes - Angular JS -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new e5fb645 Updates production by Jenkins e5fb645 is described below commit e5fb6459a4b3473da54851cac5d1cadf9c561d55 Author: jenkinsAuthorDate: Wed Jan 31 07:00:55 2018 + Updates production by Jenkins --- content/core-developers/namespace-configuration.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/core-developers/namespace-configuration.html b/content/core-developers/namespace-configuration.html index f881247..304497e 100644 --- a/content/core-developers/namespace-configuration.html +++ b/content/core-developers/namespace-configuration.html @@ -191,7 +191,7 @@ in the namespace /barspace, therefore the In the Namespace Example, if a request for moo.action is made, the root namespace "/" is searched for a moo action; if a root action is not found, the default namespace is checked. In this case, the moo action does exist -and will be executed. Upon success, the request would be forwarded to bar2.jsp. +and will be executed. Upon success, the request would be forwarded to moo.jsp. If a request is made for /foo.action, the root "/" namespace will be checked. If foo is found, the root action will be selected. Otherwise, the framework will check the default namespace. In the Namespace Example, the foo action -- To stop receiving notification emails like this one, please contact git-site-r...@apache.org.
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 5405fbb Updates production by Jenkins 5405fbb is described below commit 5405fbbb8e189f0fe46b726ac61bbfcf195095fc Author: jenkinsAuthorDate: Mon Jan 29 15:46:00 2018 + Updates production by Jenkins --- content/plugins/plugins.html | 617 +-- 1 file changed, 308 insertions(+), 309 deletions(-) diff --git a/content/plugins/plugins.html b/content/plugins/plugins.html index 23bd659..837af2f 100644 --- a/content/plugins/plugins.html +++ b/content/plugins/plugins.html @@ -134,6 +134,12 @@ Static resources Extension Points + Plugin Examples + Sitemesh plugin + Tiles plugin + + + Plugin Registry Struts 2 plugins contain classes and configuration that extend, replace, or add to existing Struts framework functionality. A plugin can be installed by adding its JAR file to the application’s class path, in addition to the JAR files to fulfill whatever dependencies the plugin itself may have. To configure the plugin, the JAR should contain a struts-plugin.xml file, which follows the same format as an ordinary str [...] @@ -190,287 +196,282 @@ The following extension points are available in Struts 2: - - - Type - Property - Scope - Description - - - com.opensymphony.xwork2.ObjectFactory - struts.objectFactory - singleton - Creates actions, results, and interceptors - - - com.opensymphony.xwork2.factory.ActionFactory - struts.objectFactory.actionFactory - singleton - Dedicated factory used to create Actions, you can implement/extend existing one instead of defining new ObjectFactory - - - com.opensymphony.xwork2.factory.ResultFactory - struts.objectFactory.resultFactory - singleton - Dedicated factory used to create Results, you can implement/extend existing one instead of defining new ObjectFactory - - - com.opensymphony.xwork2.factory.InterceptorFactory - struts.objectFactory.interceptorFactory - singleton - Dedicated factory used to create Interceptors, you can implement/extend existing one instead of defining new ObjectFactory - - - com.opensymphony.xwork2.factory.ConverterFactory - struts.objectFactory.converterFactory - singleton - Dedicated factory used to create TypeConverters, you can implement/extend existing one instead of defining new ObjectFactory - - - com.opensymphony.xwork2.factory.ValidatorFactory - struts.objectFactory.validatorFactory - singleton - Dedicated factory used to create Validators, you can implement/extend existing one instead of defining new ObjectFactory - - - com.opensymphony.xwork2.ActionProxyFactory - struts.actionProxyFactory - singleton - Creates the ActionProxy - - - com.opensymphony.xwork2.util.ObjectTypeDeterminer - struts.objectTypeDeterminer - singleton - Determines what the key and element class of a Map or Collection should be - - - org.apache.struts2.dispatcher.mapper.ActionMapper - struts.mapper.class - singleton - Determines the ActionMapping from a request and a URI from an ActionMapping - - - org.apache.struts2.dispatcher.multipart.MultiPartRequest - struts.multipart.parser - per request - Parses a multipart request (file upload) - - - org.apache.struts2.views.freemarker.FreemarkerManager - struts.freemarker.manager.classname - singleton - Loads and processes Freemarker templates - - - org.apache.struts2.views.velocity.VelocityManager - struts.velocity.manager.classname - singleton - Loads and processes Velocity templates - - - com.opensymphony.xwork2.validator.ActionValidatorManager - struts.actionValidatorManager - singleton - Main interface for validation managers (regular and annotation based). Handles both the loading of - configuration and the actual validation (since 2.1) - - - com.opensymphony.xwork2.util.ValueStackFactory - struts.valueStackFactory - singleton - Creates value stacks (since 2.1) - - - com.opensymphony.xwork2.reflection.ReflectionProvider - struts.reflectionProvider - singleton - Provides reflection services, key place to plug in a custom expression language (since 2.1) - - - com.opensymphony.xwork2.reflection.ReflectionContextFactory - struts.reflectionContextFactory - singleton - Creates reflection context maps used for reflection and expression language operations (since 2.1) - - - com.opensymphony.xwork2.config.PackageProvider - N/A - singleton - All beans
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 0f9b33b Updates production by Jenkins 0f9b33b is described below commit 0f9b33bac05ce3c932e46a89e8f3984411d830cf Author: jenkinsAuthorDate: Fri Jan 26 17:31:26 2018 + Updates production by Jenkins --- content/plugins/plugins.html | 618 +-- 1 file changed, 308 insertions(+), 310 deletions(-) diff --git a/content/plugins/plugins.html b/content/plugins/plugins.html index 640dc3d..23bd659 100644 --- a/content/plugins/plugins.html +++ b/content/plugins/plugins.html @@ -134,12 +134,6 @@ Static resources Extension Points - Plugin Examples - Sitemesh plugin - Tiles plugin - - - Plugin Registry Struts 2 plugins contain classes and configuration that extend, replace, or add to existing Struts framework functionality. A plugin can be installed by adding its JAR file to the application’s class path, in addition to the JAR files to fulfill whatever dependencies the plugin itself may have. To configure the plugin, the JAR should contain a struts-plugin.xml file, which follows the same format as an ordinary str [...] @@ -196,285 +190,287 @@ The following extension points are available in Struts 2: - table border="1" summary="" - tr - thType/th - thProperty/th - thScope/th - thDescription/th - /tr - tr - tdcom.opensymphony.xwork2.ObjectFactory/td - tdstruts.objectFactory/td - tdsingleton/td - tdCreates actions, results, and interceptors/td - /tr - tr - tdcom.opensymphony.xwork2.factory.ActionFactory/td - tdstruts.objectFactory.actionFactory/td - tdsingleton/td - tdDedicated factory used to create Actions, you can implement/extend existing one instead of defining new ObjectFactory/td - /tr - tr - tdcom.opensymphony.xwork2.factory.ResultFactory/td - tdstruts.objectFactory.resultFactory/td - tdsingleton/td - tdDedicated factory used to create Results, you can implement/extend existing one instead of defining new ObjectFactory/td - /tr - tr - tdcom.opensymphony.xwork2.factory.InterceptorFactory/td - tdstruts.objectFactory.interceptorFactory/td - tdsingleton/td - tdDedicated factory used to create Interceptors, you can implement/extend existing one instead of defining new ObjectFactory/td - /tr - tr - tdcom.opensymphony.xwork2.factory.ConverterFactory/td - tdstruts.objectFactory.converterFactory/td - tdsingleton/td - tdDedicated factory used to create TypeConverters, you can implement/extend existing one instead of defining new ObjectFactory/td - /tr - tr - tdcom.opensymphony.xwork2.factory.ValidatorFactory/td - tdstruts.objectFactory.validatorFactory/td - tdsingleton/td - tdDedicated factory used to create Validators, you can implement/extend existing one instead of defining new ObjectFactory/td - /tr - tr - tdcom.opensymphony.xwork2.ActionProxyFactory/td - tdstruts.actionProxyFactory/td - tdsingleton/td - tdCreates the ActionProxy/td - /tr - tr - tdcom.opensymphony.xwork2.util.ObjectTypeDeterminer/td - tdstruts.objectTypeDeterminer/td - tdsingleton/td - tdDetermines what the key and element class of a Map or Collection should be/td - /tr - tr - tdorg.apache.struts2.dispatcher.mapper.ActionMapper/td - tdstruts.mapper.class/td - tdsingleton/td - tdDetermines the ActionMapping from a request and a URI from an ActionMapping/td - /tr - tr - tdorg.apache.struts2.dispatcher.multipart.MultiPartRequest/td - tdstruts.multipart.parser/td - tdper request/td - tdParses a multipart request (file upload)/td - /tr - tr - tdorg.apache.struts2.views.freemarker.FreemarkerManager/td - tdstruts.freemarker.manager.classname/td - tdsingleton/td - tdLoads and processes Freemarker templates/td - /tr - tr - tdorg.apache.struts2.views.velocity.VelocityManager/td - tdstruts.velocity.manager.classname/td - tdsingleton/td - tdLoads and processes Velocity templates/td - /tr - tr - tdcom.opensymphony.xwork2.validator.ActionValidatorManager/td - tdstruts.actionValidatorManager/td - tdsingleton/td - tdMain interface for validation managers (regular and annotation based). Handles both the loading of - configuration and the actual validation (since 2.1)/td - /tr - tr - tdcom.opensymphony.xwork2.util.ValueStackFactory/td - tdstruts.valueStackFactory/td - tdsingleton/td - tdCreates value stacks (since 2.1)/td - /tr - tr - tdcom.opensymphony.xwork2.reflection.ReflectionProvider/td - tdstruts.reflectionProvider/td - tdsingleton/td -
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new db366d4 Updates production by Jenkins db366d4 is described below commit db366d432e4427ab2d2796c2313af8542a5207a3 Author: jenkinsAuthorDate: Wed Jan 24 10:15:52 2018 + Updates production by Jenkins --- .../attachments/Struts2-Architecture.png | Bin 0 -> 66255 bytes .../{index.html => big-picture.html} | 132 ++--- content/core-developers/index.html | 10 +- 3 files changed, 45 insertions(+), 97 deletions(-) diff --git a/content/core-developers/attachments/Struts2-Architecture.png b/content/core-developers/attachments/Struts2-Architecture.png new file mode 100644 index 000..dc4d5dd Binary files /dev/null and b/content/core-developers/attachments/Struts2-Architecture.png differ diff --git a/content/core-developers/index.html b/content/core-developers/big-picture.html similarity index 63% copy from content/core-developers/index.html copy to content/core-developers/big-picture.html index a3ed198..7bbb903 100644 --- a/content/core-developers/index.html +++ b/content/core-developers/big-picture.html @@ -7,7 +7,7 @@ - Core Developers Guide (WIP) + Big Picture @@ -125,100 +125,42 @@ -https://github.com/apache/struts-site/edit/master/source/core-developers/index.md; title="Edit this page on GitHub">Edit on GitHub - -Core Developers Guide - -Struts 2 processes requests using three core types: interceptors, actions, and results. -Each may be configured via XML or annotations. - -Developing Applications with Struts 2 - - - Nutshell - AJAX - Dependency Injection - Debugging - Development Mode - - -Configuration - - - Configuration by Convention - Annotations - Configuration Elements - - Actions, Wildcard Mappings, Beans, Constants - Exceptions, Includes, Interceptors - Namespaces, Packages, Results - Unknown Handlers, Dispatcher - - - Configuration Files - - web.xml - struts.xml - default.properties - struts-default.xml - velocity.properties - struts-default.vm - - - Application Servers - Performance Tuning - Security - Testing Actions - - https://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-spring-junit/;>(arsenalist) - http://fassisrosa.blogspot.com/2006/11/unit-testing-struts-20\.html;>(rosa) - - - Interceptors - - Writing Interceptors - Excluding Parameters - - - Actions - - Model Driven - Action Chaining - ActionEventListener - - - Results - - Result Types - DispatcherListener - PreResultListener - - - Validation - Localization - - Formatting Dates and Numbers - - - Type Conversion - Static Content - Portlets - - [Tutorial] - export https://cwiki.apache.org/confluence/display/WW/Struts+2+Portlet+Tutorial - [Configuration/Documentation] - export https://cwiki.apache.org/confluence/display/WW/Portlet+Plugin - - - Logging - Accessing application, session, request objects - Action Mapper - Action Proxy ActionProxy Factory - FAQs - - Struts 2 Maven Archetypes - [Cookbook] - - - +<< back to Core Developers Guide +https://github.com/apache/struts-site/edit/master/source/core-developers/big-picture.md; title="Edit this page on GitHub">Edit on GitHub +Big Picture + +The diagram describes the framework’s architecture. + + + +In the diagram, an initial request goes to the Servlet container (such as Jetty or Resin) which is passed through +a standard filter chain. The chain includes the (optional) ActionContextCleanUp filter, which is useful when +integrating technologies such as SiteMesh Plugin . Next, the required FilterDispatcher is called, which in turn +consults the ActionMapper to determine if the request should invoke an action. + +If the ActionMapper determines that an Action should be invoked, the FilterDispatcher delegates control +to the ActionProxy. The ActionProxy consults the framework Configuration Files manager +(initialized from the struts.xml file). Next, the ActionProxy creates an ActionInvocation, which is +responsible for the command pattern implementation. This includes invoking any Interceptors (the before +clause) in advance of invoking the Action itself. + +Once the Action returns, the ActionInvocation is responsible for looking up the proper result associated +with the Action result code mapped in struts.xml. + +The result is then executed, which often (but not always, as is the case for Action Chaining) +involves a template written in JSP or FreeMarker to be rendered. +While rendering, the
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new def29b1 Updates production by Jenkins def29b1 is described below commit def29b1e7aa9a064744556a97f1b6f215e87ebe6 Author: jenkinsAuthorDate: Sun Jan 21 09:00:50 2018 + Updates production by Jenkins --- content/getting-started/form-validation-using-xml.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/form-validation-using-xml.html b/content/getting-started/form-validation-using-xml.html index 9ba00a2..f6edaa5 100644 --- a/content/getting-started/form-validation-using-xml.html +++ b/content/getting-started/form-validation-using-xml.html @@ -236,7 +236,7 @@ -The param name=”expression” node is used to specify the regular expression that will be applied to the user’s input. Note how the regular expression is contained within a CDATA section. +The param name="regex" node is used to specify the regular expression that will be applied to the user’s input. Note how the regular expression is contained within a CDATA section. Validating A User’s Input Using An OGNL Expression -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new c73276c Updates production by Jenkins c73276c is described below commit c73276cf5134bcb88357d290b99896aed996eec3 Author: jenkinsAuthorDate: Wed Jan 17 15:33:14 2018 + Updates production by Jenkins --- content/core-developers/application-servers.html | 1 + 1 file changed, 1 insertion(+) diff --git a/content/core-developers/application-servers.html b/content/core-developers/application-servers.html index 6554aee..eccbf37 100644 --- a/content/core-developers/application-servers.html +++ b/content/core-developers/application-servers.html @@ -144,6 +144,7 @@ be some extra steps to obtain full functionality. WebLogic 6.1 WebSphere Glassfish 2.x + Wildfly 10.x -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a077e76 Updates production by Jenkins a077e76 is described below commit a077e76d23dbf995710cfdf44a00bb0c5b07c3b3 Author: jenkinsAuthorDate: Tue Jan 16 07:30:54 2018 + Updates production by Jenkins --- content/core-developers/type-conversion.html | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/content/core-developers/type-conversion.html b/content/core-developers/type-conversion.html index 250a0bc..151677a 100644 --- a/content/core-developers/type-conversion.html +++ b/content/core-developers/type-conversion.html @@ -144,6 +144,7 @@ Collection and Map Support Indexing a collection by a property of that collection An advanced example for indexed Lists and Maps + Auto growth collection limit Type Conversion Error Handling @@ -283,7 +284,7 @@ conversion to and from strings. So turning “3, 22” in to new Point(3, 22) is entry to ClassName-conversion.properties (Note that the PointConverter should impl the TypeConverter interface): -point = com.acme.PointConverter/b/p +point = com.acme.PointConverter @@ -521,6 +522,22 @@ CreateIfNull_beanList=true /s:iterator +Auto growth collection limit + +There is a special constant that limits auto growth of a collection, by default it is set to 255 which means +only 256 elements are allowed in the collection. This limitation was introduced to avoid DoS attacks. +If you know that the collection can have more elements you must define the below constant and set its value +to desire size of the collection. + +constant name="struts.ognl.autoGrowthCollectionLimit" value="1024"/ + + + + + NOTE: before this constant was named as xwork.autoGrowCollectionLimit but it is deprecated now and will be removed +with a next major release. + + Type Conversion Error Handling Type conversion error handling provides a simple way to distinguish between an input validation problem -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 4946093 Updates production by Jenkins 4946093 is described below commit 49460938d568257b1feb370c3a2351d6adb7b26f Author: jenkinsAuthorDate: Sat Jan 13 18:15:43 2018 + Updates production by Jenkins --- content/getting-started/debugging-struts.html | 2 +- content/getting-started/exception-handling.html | 2 +- content/getting-started/message-resource-files.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/getting-started/debugging-struts.html b/content/getting-started/debugging-struts.html index 1beda4a..78a8587 100644 --- a/content/getting-started/debugging-struts.html +++ b/content/getting-started/debugging-struts.html @@ -178,7 +178,7 @@ link results in this. You may then click on one of the tabs (Results, Exception Mappings, Interceptors, Properties, Validators) to get more -information about how the Struts 2 framework is has configured that specific action. +information about how the Struts 2 framework has configured that specific action. On the left side of the page is the config browser plugin menu. Clicking on constants will render a view that lists all the Struts 2 constants and their properties for your application. Clicking on beans shows the beans Struts 2 is managing. diff --git a/content/getting-started/exception-handling.html b/content/getting-started/exception-handling.html index 1ccceb2..bf2ba17 100644 --- a/content/getting-started/exception-handling.html +++ b/content/getting-started/exception-handling.html @@ -211,7 +211,7 @@ Now when the application throws an uncaught exception, the Struts 2 framework will handle it and will also write an entry to the log that includes the stack trace. In the example above, I’ve set the level to log these exceptions to be ERROR. -In the example applications, the logging is just to the Servlet container’s console (see the log4j.xml file for the log settings). +In the example applications, the logging is just to the Servlet container’s console (see the log4j2.xml file for the log settings). Display Exception Information In Browser diff --git a/content/getting-started/message-resource-files.html b/content/getting-started/message-resource-files.html index 582ce00..754dad5 100644 --- a/content/getting-started/message-resource-files.html +++ b/content/getting-started/message-resource-files.html @@ -149,7 +149,7 @@ Struts 2 GitHub repository at https://github.com/apache/struts-examples Introduction In this tutorial we’ll explore using Struts 2 message resource capabilities (also called resource bundles). Message -resources provide a simple way to put text in a view page that is the same through out your application, to create form +resources provide a simple way to put text in a view page that is the same throughout your application, to create form field labels, and to change text to a specific language based on the user’s locale (i18n). The http://struts.apache.org/mail.html;>Struts 2 user mailing list is an excellent place to get help. If you are having -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new f515c96 Updates production by Jenkins f515c96 is described below commit f515c9645e12aca5c72def7a9c52c6c0a6b6912c Author: jenkinsAuthorDate: Wed Jan 10 13:15:59 2018 + Updates production by Jenkins --- content/getting-started/exception-handling.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/getting-started/exception-handling.html b/content/getting-started/exception-handling.html index f75a5d6..1ccceb2 100644 --- a/content/getting-started/exception-handling.html +++ b/content/getting-started/exception-handling.html @@ -144,7 +144,7 @@ Introduction -In this tutorial we’ll explore how to enable the Struts 2 framework to handle any uncaught exceptions generated by a web application. Struts 2 provides robust exception handling, including the ability to automatically log any uncaught exceptions and redirect the user to a error web page. +In this tutorial we’ll explore how to enable the Struts 2 framework to handle any uncaught exceptions generated by a web application. Struts 2 provides robust exception handling, including the ability to automatically log any uncaught exceptions and redirect the user to an error web page. The http://struts.apache.org/mail.html;>Struts 2 user mailing list is an excellent place to get help. If you are having a problem getting the tutorial example applications to work search the Struts 2 mailing list. If you don’t find an answer to your problem, post a question on the mailing list. @@ -152,7 +152,7 @@ Using the Struts 2 framework you can specify in the struts.xml how the framework should handle uncaught exceptions. The handling logic can apply to all actions (global exception handling) or to a specific action. Let’s first discuss how to enable global exception handling. -To enable global exception handling you need to add two nodes to struts.xml: global-exception-mapping and global-results. For example examine the struts.xml from the exception_handling project. +To enable global exception handling you need to add two nodes to struts.xml: global-exception-mapping and global-results. For example examine the struts.xml from the exception-handling project. global-results result name="securityerror"/securityerror.jsp/result -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new ee7e148 Updates production by Jenkins ee7e148 is described below commit ee7e148b74323f73591034be1fdd469ac2bd2f08 Author: jenkinsAuthorDate: Mon Jan 8 12:45:46 2018 + Updates production by Jenkins --- content/getting-started/using-tags.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/using-tags.html b/content/getting-started/using-tags.html index 96ede6b..b51bfea 100644 --- a/content/getting-started/using-tags.html +++ b/content/getting-started/using-tags.html @@ -150,7 +150,7 @@ easier to reference dynamic data from a page, the Struts 2 framework offers a se HTML tag while providing added value. Other tags create non-standard, but useful controls. To use the Struts 2 tags on the view page, you must include a tag library directive. Typically, the taglib directive -is %@ taglib prefix="s" uri="/struts-tags" %\. So the prefix for all the Struts 2 tags will be s. +is %@ taglib prefix="s" uri="/struts-tags" %. So the prefix for all the Struts 2 tags will be s. If you want to actually read the Struts 2 tag TLD file, you’ll find it in the META-INF folder of the Struts 2 core jar. Struts 2 url Tag -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 95e01f8 Updates production by Jenkins 95e01f8 is described below commit 95e01f803b2ac2033e219225f35faa45c748ab3b Author: jenkinsAuthorDate: Sun Jan 7 13:15:49 2018 + Updates production by Jenkins --- content/getting-started/using-tags.html | 2 +- content/primer.html | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/getting-started/using-tags.html b/content/getting-started/using-tags.html index ce61ce2..96ede6b 100644 --- a/content/getting-started/using-tags.html +++ b/content/getting-started/using-tags.html @@ -151,7 +151,7 @@ HTML tag while providing added value. Other tags create non-standard, but useful To use the Struts 2 tags on the view page, you must include a tag library directive. Typically, the taglib directive is %@ taglib prefix="s" uri="/struts-tags" %\. So the prefix for all the Struts 2 tags will be s. -If you want to actually read the Struts 2 tag TLD file, you’ll find it in the `META-INF folder of the Struts 2 core jar. +If you want to actually read the Struts 2 tag TLD file, you’ll find it in the META-INF folder of the Struts 2 core jar. Struts 2 url Tag diff --git a/content/primer.html b/content/primer.html index 2d6cd7e..7b17d91 100644 --- a/content/primer.html +++ b/content/primer.html @@ -224,8 +224,8 @@ transport more the HTML, HTML from the browser to render the view. The HTTP Request/Response cycle A very important part of HTTP for the web developer is the request/response cycle. To use HTTP -you have to make a request. A HTTP server, like a web server, is then obliged to respond. When you -build your web application, you design it to react to a HTTP request by returning a HTTP response. +you have to make a request. An HTTP server, like a web server, is then obliged to respond. When you +build your web application, you design it to react to an HTTP request by returning an HTTP response. Frameworks often abstract much of these nuts and bolts, but it is important to understand what is happening behind the scenes. @@ -283,7 +283,7 @@ is a plain old Java object which is instanced for each request. JavaScript, AJAX, and SOAP -WIth HTTP and HTML you can already provide static web pages. Today this is much +With HTTP and HTML you can already provide static web pages. Today this is much often not longer enough and your application users might expect a interactive user interface. Web developers often resort to http://en.wikipedia.org/wiki/JavaScript;>JavaScript to make web applications more interesting. -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 91b53bf Updates production by Jenkins 91b53bf is described below commit 91b53bf18f289fdcfad4d46145c7e7ebd00962f2 Author: jenkinsAuthorDate: Sat Jan 6 09:31:05 2018 + Updates production by Jenkins --- content/core-developers/web-xml.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/core-developers/web-xml.html b/content/core-developers/web-xml.html index 70c157d..5884f2f 100644 --- a/content/core-developers/web-xml.html +++ b/content/core-developers/web-xml.html @@ -201,7 +201,7 @@ and execution phase This is because Struts 2 serves static content from its jar files, including Dojo JavaScript files (if using S2.0, or the Dojo plugin in S2.1+) and FreeMarker templates for the Struts 2 tags that produce HTML. -If we change the filter mapping to something else, for example /*.html, we must take this in to account and extract +If we change the filter mapping to something else, for example /*.html, we must take this into account and extract the content that would normally be served from the Struts 2 jar files, or some other solution. Since Struts 2.1.7, you are able to provide a comma separated list of patterns for which when matching against -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a2ffba6 Updates production by Jenkins a2ffba6 is described below commit a2ffba65e32c12dca1e95fb241d89fa98690673f Author: jenkinsAuthorDate: Mon Jan 1 09:15:45 2018 + Updates production by Jenkins --- content/getting-started/control-tags.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/control-tags.html b/content/getting-started/control-tags.html index 188fa41..2e31528 100644 --- a/content/getting-started/control-tags.html +++ b/content/getting-started/control-tags.html @@ -215,7 +215,7 @@ - Return to Form validation using XML + Return to Form validation using XML or onward to Wildcard method selection -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 3522916 Updates production by Jenkins 3522916 is described below commit 3522916b377c899003a13f07593b3157e592cb86 Author: jenkinsAuthorDate: Sun Dec 31 16:00:50 2017 + Updates production by Jenkins --- ...essing-application-session-request-objects.html | 175 +++- content/core-developers/action-mapper.html | 3 +- content/plugins/rest/index.html| 306 + 3 files changed, 306 insertions(+), 178 deletions(-) diff --git a/content/core-developers/accessing-application-session-request-objects.html b/content/core-developers/accessing-application-session-request-objects.html index 9a25f50..6521ec3 100644 --- a/content/core-developers/accessing-application-session-request-objects.html +++ b/content/core-developers/accessing-application-session-request-objects.html @@ -1,4 +1,135 @@ -Accessing application, session, request objects + + + + + + + + + + Accessing application, session, request objects + + + + + + + + + + + + + +http://github.com/apache/struts; class="github-ribbon"> + https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa.png; alt="Fork me on GitHub"> + + + + + + + + +Menu +Toggle navigation + + + + + + + + + + +Home + + +Welcome +Download +Releases +Announcements +http://www.apache.org/licenses/;>License +https://www.apache.org/foundation/thanks.html;>Thanks! +https://www.apache.org/foundation/sponsorship.html;>Sponsorship + + + + +Support + + +User Mailing List +https://issues.apache.org/jira/browse/WW;>Issue Tracker +Reporting Security Issues + +https://cwiki.apache.org/confluence/display/WW/Migration+Guide;>Version Notes +https://cwiki.apache.org/confluence/display/WW/Security+Bulletins;>Security Bulletins + +Maven Project Info +Struts Core Dependencies +Plugin Dependencies + + + + +Documentation + + +Birds Eye +Key Technologies +Kickstart FAQ +https://cwiki.apache.org/confluence/display/WW/Home;>Wiki + +Getting Started +Security Guide +Core Developers Guide +Tag Developers Guide +Maven Archetypes +Plugins +Struts Core API +Tag reference +https://cwiki.apache.org/confluence/display/WW/FAQs;>FAQs +http://cwiki.apache.org/S2PLUGINS/home.html;>Plugin registry + + + + +Contributing + + +You at Struts +How to Help FAQ +Development Lists + +Submitting patches +Source Code and Builds +Coding standards +https://cwiki.apache.org/confluence/display/WW/Contributors+Guide;>Contributors Guide + +Release Guidelines +PMC Charter +Volunteers +https://git-wip-us.apache.org/repos/asf?p=struts.git;>Source Repository + + +http://www.apache.org/;> + + + + + + + + + + +https://github.com/apache/struts-site/edit/master/source/core-developers/accessing-application-session-request-objects.md; title="Edit this page on GitHub">Edit on GitHub + +<< back to Core Developers Guide + +Accessing application, session, request objects DEPRECATED??? @@ -56,3 +187,45 @@ doean’t exist, it will search the request, session, and application scopes, in s:property value="#attr.myId" / + + + + + + + +Copyright 2000-2017 http://www.apache.org/;>The Apache Software Foundation . +All Rights Reserved. + + +Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are +trademarks of The Apache Software Foundation. + + Logo and website design donated by
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b07a86d Updates production by Jenkins b07a86d is described below commit b07a86dc755212ca6527cfbf9fc71e313822d377 Author: jenkinsAuthorDate: Sun Dec 10 08:15:43 2017 + Updates production by Jenkins --- ...essing-application-session-request-objects.html | 173 + content/core-developers/action-chaining.html | 4 +- content/core-developers/action-configuration.html | 4 +- content/core-developers/action-event-listener.html | 4 +- content/core-developers/action-mapper.html | 102 +--- .../action-proxy-and-actionproxy-factory.html | 15 +- content/core-developers/after-annotation.html | 40 ++--- content/core-developers/annotations.html | 43 ++--- content/core-developers/before-annotation.html | 39 ++--- .../core-developers/before-result-annotation.html | 39 ++--- content/core-developers/conversion-annotation.html | 14 +- ...onversion-error-field-validator-annotation.html | 4 +- .../core-developers/create-if-null-annotation.html | 11 +- .../custom-validator-annotation.html | 11 +- .../date-range-field-validator-annotation.html | 16 +- .../double-range-field-validator-annotation.html | 20 +-- content/core-developers/element-annotation.html| 22 ++- .../email-validator-annotation.html| 12 +- .../expression-validator-annotation.html | 11 +- .../field-expression-validator-annotation.html | 14 +- .../core-developers/input-config-annotation.html | 37 ++--- .../int-range-field-validator-annotation.html | 20 +-- content/core-developers/key-annotation.html| 12 +- .../core-developers/key-property-annotation.html | 15 +- .../regex-field-validator-annotation.html | 11 +- .../required-field-validator-annotation.html | 11 +- .../required-string-validator-annotation.html | 11 +- content/core-developers/restful-action-mapper.html | 170 ++-- .../string-length-field-validator-annotation.html | 19 +-- .../type-conversion-annotation.html| 37 ++--- .../core-developers/url-validator-annotation.html | 73 - content/core-developers/validation-annotation.html | 72 +++-- .../core-developers/validations-annotation.html| 95 +-- .../visitor-field-validator-annotation.html| 24 ++- 34 files changed, 442 insertions(+), 763 deletions(-) diff --git a/content/core-developers/accessing-application-session-request-objects.html b/content/core-developers/accessing-application-session-request-objects.html index 19db389..9a25f50 100644 --- a/content/core-developers/accessing-application-session-request-objects.html +++ b/content/core-developers/accessing-application-session-request-objects.html @@ -1,133 +1,4 @@ - - - - - - - - - - Accessing application, session, request objects - - - - - - - - - - - - - -http://github.com/apache/struts; class="github-ribbon"> - https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa.png; alt="Fork me on GitHub"> - - - - - - - - -Menu -Toggle navigation - - - - - - - - - - -Home - - -Welcome -Download -Releases -Announcements -http://www.apache.org/licenses/;>License -https://www.apache.org/foundation/thanks.html;>Thanks! -https://www.apache.org/foundation/sponsorship.html;>Sponsorship - - - - -Support - - -User Mailing List -https://issues.apache.org/jira/browse/WW;>Issue Tracker -Reporting Security Issues - -https://cwiki.apache.org/confluence/display/WW/Migration+Guide;>Version Notes -https://cwiki.apache.org/confluence/display/WW/Security+Bulletins;>Security Bulletins - -Maven Project Info -Struts Core Dependencies -Plugin Dependencies - - - - -Documentation - - -Birds Eye -Key Technologies -Kickstart FAQ -https://cwiki.apache.org/confluence/display/WW/Home;>Wiki - -Getting Started -Security Guide -Core
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 3989530 Updates production by Jenkins 3989530 is described below commit 3989530672c2e5b05b708077e24b4dac9ace76bc Author: jenkinsAuthorDate: Sat Dec 9 06:16:04 2017 + Updates production by Jenkins --- content/404.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/404.html b/content/404.html index 320d3c6..a0c3b44 100644 --- a/content/404.html +++ b/content/404.html @@ -135,13 +135,13 @@ If you noticed any site problem, typos, etc on any page, please correct using “Edit on GitHub” button or check on https://github.com/apache/struts-site;>https://github.com/apache/struts-site. For example, some redirects are configured in https://github.com/apache/struts-site/blob/master/source/.htaccess;>.htaccess. -You will be redirected to main page in 5 second. +You will be redirected to main page in 10 seconds. function redirectToHome() { window.location = "http://struts.apache.org/" } -setTimeout(redirectToHome, 5000); +setTimeout(redirectToHome, 1); -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 26bf000 Updates production by Jenkins 26bf000 is described below commit 26bf000eb0daceb6966c3388610d550c74a14404 Author: jenkinsAuthorDate: Thu Dec 7 10:17:24 2017 + Updates production by Jenkins --- content/404.html | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/content/404.html b/content/404.html index 355c8dd..737285d 100644 --- a/content/404.html +++ b/content/404.html @@ -130,17 +130,19 @@ 404 Page Not Found The page was moved or never existed. -Use menu above to navigate. -You will be redirected to main page in 5 second. +Use menu above to navigate or go to home page. +If you noticed any site problem, typos, etc on any page, +please correct using “Edit on GitHub” button or check on https://github.com/apache/struts-site;>https://github.com/apache/struts-site. + +You will be redirected to main page in 5 second. - - function redirectToHome() { - window.location = "http://struts.apache.org/" - } +function redirectToHome() { +window.location = "http://struts.apache.org/" +} +setTimeout(redirectToHome, 5000); - -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new a238a6f Updates production by Jenkins a238a6f is described below commit a238a6f99ad75499b7b035c714d3f7970280ae44 Author: jenkinsAuthorDate: Thu Dec 7 06:30:46 2017 + Updates production by Jenkins --- content/downloads.html | 12 +++--- .../how-to-create-a-struts2-web-application.html | 45 -- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/content/downloads.html b/content/downloads.html index 80e118a..35166f9 100644 --- a/content/downloads.html +++ b/content/downloads.html @@ -250,7 +250,7 @@ - Version notes + https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.34;>Version notes @@ -291,7 +291,7 @@ - Version notes + https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.33;>Version notes @@ -310,7 +310,7 @@ S2-047 - Version notes + https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.10.1;>Version notes @@ -322,7 +322,7 @@ S2-048 - Version notes + https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.32;>Version notes @@ -342,7 +342,7 @@ S2-045 - Version notes + https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.10;>Version notes @@ -362,7 +362,7 @@ S2-045 - Version notes + https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.8;>Version notes diff --git a/content/getting-started/how-to-create-a-struts2-web-application.html b/content/getting-started/how-to-create-a-struts2-web-application.html index 347a8da..b3fd7d5 100644 --- a/content/getting-started/how-to-create-a-struts2-web-application.html +++ b/content/getting-started/how-to-create-a-struts2-web-application.html @@ -278,24 +278,8 @@ you do not need to specify a separate dependency node for javassist. Step 4 - Add Logging -To see what’s happening under the hood, the example application for this tutorial uses log4j2. You’ll need to add a dependency node for log4j2 to the pom: - -pom.xml log4j dependency node - -dependency -groupIdorg.apache.logging.log4j/groupId -artifactIdlog4j-core/artifactId -version${log4j2.version}/version -/dependency -dependency -groupIdorg.apache.logging.log4j/groupId -artifactIdlog4j-api/artifactId -version${log4j2.version}/version -/dependency - - - -Using both log4j-core and log4j-api allows to use the latest version of Log4j2 without a clash with version provided by the framework. Setup a log4j2.xml configuration in the src/main/resources folder which contains the following +To see what’s happening under the hood, the example application for this tutorial uses log4j2. +Setup a log4j2.xml configuration in the src/main/resources folder which contains the following log4j2.xml @@ -319,15 +303,36 @@ you do not need to specify a separate dependency node for javassist. Note the above log4j2 configuration specifies the console as the log target. +You’ll need to add a dependency node for log4j2 to the pom: + +pom.xml log4j dependency node + +dependency +groupIdorg.apache.logging.log4j/groupId +artifactIdlog4j-core/artifactId +version${log4j2.version}/version +/dependency +dependency +groupIdorg.apache.logging.log4j/groupId +artifactIdlog4j-api/artifactId +version${log4j2.version}/version +/dependency + + + +Using both log4j-core and log4j-api allows to use the latest version of Log4j2 without a clash with version provided by the framework. + Optionally, if using maven bom “bill of materials” in dependencyManagement section for both Struts and log4j2, -pom.xml will look like. Note that this way you can omit version line for every used module +pom.xml will look like. Note that this way you can omit version line for every used module, +and all struts2-* and log4j-* modules are managed to be of the same version. +The struts2-bom is available since 2.3.20. properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding project.reporting.outputEncodingUTF-8/project.reporting.outputEncoding java.version1.8/java.version - struts2.version2.5.14/struts2.version + struts2.version2.5.14.1/struts2.version log4j2.version2.10.0/log4j2.version /properties -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 553dddc Updates production by Jenkins 553dddc is described below commit 553dddc8f81f3c8d4605d6a10ab1ed3c62a0d19b Author: jenkinsAuthorDate: Thu Dec 7 06:15:47 2017 + Updates production by Jenkins --- .../core-developers/accessing-application-session-request-objects.html | 2 +- content/core-developers/action-chaining.html| 2 +- content/core-developers/action-configuration.html | 2 +- content/core-developers/action-event-listener.html | 2 +- content/core-developers/action-mapper.html | 2 +- content/core-developers/action-proxy-and-actionproxy-factory.html | 2 +- content/core-developers/after-annotation.html | 2 +- content/core-developers/ajax-client-side-validation.html| 2 +- content/core-developers/ajax.html | 2 +- content/core-developers/annotations.html| 2 +- content/core-developers/application-servers.html| 2 +- content/core-developers/basic-validation.html | 2 +- content/core-developers/bean-configuration.html | 2 +- content/core-developers/before-annotation.html | 2 +- content/core-developers/before-result-annotation.html | 2 +- content/core-developers/client-side-validation.html | 2 +- content/core-developers/client-validation.html | 2 +- content/core-developers/conditionalvisitor-validator.html | 2 +- content/core-developers/configuration-elements.html | 2 +- content/core-developers/configuration-files.html| 2 +- content/core-developers/configuration-provider-and-configuration.html | 2 +- content/core-developers/constant-configuration.html | 2 +- content/core-developers/conversion-annotation.html | 2 +- .../core-developers/conversion-error-field-validator-annotation.html| 2 +- content/core-developers/conversion-validator.html | 2 +- content/core-developers/create-if-null-annotation.html | 2 +- content/core-developers/custom-validator-annotation.html| 2 +- content/core-developers/date-range-field-validator-annotation.html | 2 +- content/core-developers/date-validator.html | 2 +- content/core-developers/debugging.html | 2 +- content/core-developers/default-properties.html | 2 +- content/core-developers/dependency-injection.html | 2 +- content/core-developers/development-mode.html | 2 +- content/core-developers/dispatcher-listener.html| 2 +- content/core-developers/dispatcher.html | 2 +- content/core-developers/double-range-field-validator-annotation.html| 2 +- content/core-developers/double-validator.html | 2 +- content/core-developers/element-annotation.html | 2 +- content/core-developers/email-validator-annotation.html | 2 +- content/core-developers/email-validator.html| 2 +- content/core-developers/exception-configuration.html| 2 +- content/core-developers/expression-validator-annotation.html| 2 +- content/core-developers/expression-validator.html | 2 +- content/core-developers/field-expression-validator-annotation.html | 2 +- content/core-developers/fieldexpression-validator.html | 2 +- content/core-developers/file-upload.html| 2 +- content/core-developers/formatting-dates-and-numbers.html | 2 +- content/core-developers/freemarker-support.html | 2 +- content/core-developers/glassfish-2-x.html | 2 +- content/core-developers/https-and-ie-issues.html| 2 +- content/core-developers/include-configuration.html | 2 +- content/core-developers/input-config-annotation.html| 2 +- content/core-developers/int-range-field-validator-annotation.html | 2 +- content/core-developers/int-validator.html | 2 +- content/core-developers/interceptor-configuration.html | 2 +- content/core-developers/interceptors.html | 2 +-
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 8ecb413 Updates production by Jenkins 8ecb413 is described below commit 8ecb413fafd4bff9c92fabde94eb8ff5dc837884 Author: jenkinsAuthorDate: Wed Dec 6 06:30:46 2017 + Updates production by Jenkins --- content/kickstart.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/kickstart.html b/content/kickstart.html index 623b44d..a972e54 100644 --- a/content/kickstart.html +++ b/content/kickstart.html @@ -197,7 +197,7 @@ Using our example, the next distribution would be labeled 2.0.43, even if version 2.0.42 was never officially released. -Often. we will first grade a release as a “beta”, and invite other users to test it too. If this second +Often we will first grade a release as a “beta”, and invite other users to test it too. If this second round of beta testing goes well, then we may mark the release “General Availability”. Usually, that designation would also make it the new “Best Available” release. In this case, we don’t create another distribution, but simply adjust the status of the same set of bits that people have been testing all along. -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 6dc0bff Updates production by Jenkins 6dc0bff is described below commit 6dc0bfff04411eb06bc096aca5b1c7442ae348d9 Author: jenkinsAuthorDate: Tue Dec 5 10:33:39 2017 + Updates production by Jenkins --- content/getting-started/how-to-create-a-struts2-web-application.html | 2 +- content/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/getting-started/how-to-create-a-struts2-web-application.html b/content/getting-started/how-to-create-a-struts2-web-application.html index 9f6f527..e79b562 100644 --- a/content/getting-started/how-to-create-a-struts2-web-application.html +++ b/content/getting-started/how-to-create-a-struts2-web-application.html @@ -349,7 +349,7 @@ mapping to web.xml. Below is how the -For more information about configuring the deployment descriptor for Struts 2 see web.xml. Note the url-pattern node +For more information about configuring the deployment descriptor for Struts 2 see Core Developers Guide / web.xml page. Note the url-pattern node value is /* meaning the Struts 2 filter will be applied to all URLs for this web application. Step 6 - Create struts.xml diff --git a/content/index.html b/content/index.html index dd3a793..3fea89b 100644 --- a/content/index.html +++ b/content/index.html @@ -13,7 +13,7 @@ - + -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 31226af Updates production by Jenkins 31226af is described below commit 31226af0c37559f72e2af022cc147d6a8690dfb5 Author: jenkinsAuthorDate: Tue Dec 5 10:24:11 2017 + Updates production by Jenkins --- content/downloads.html | 1 + 1 file changed, 1 insertion(+) diff --git a/content/downloads.html b/content/downloads.html index a12b493..04d1008 100644 --- a/content/downloads.html +++ b/content/downloads.html @@ -135,6 +135,7 @@ Releases of the Apache Struts framework are made available to the general public at no charge, under the https://www.apache.org/licenses/;>Apache License, in both binary and source distributions. + Full releases for current version are listed at Download page. Individual JARs are also made available through http://maven.apache.org;>Apache Maven repositories, like http://ibiblio.org;>ibiblio. -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b50f7be Updates production by Jenkins b50f7be is described below commit b50f7be66b73cf8539b3fd85ae637e278fc70fc2 Author: jenkinsAuthorDate: Tue Dec 5 09:51:19 2017 + Updates production by Jenkins --- .../how-to-create-a-struts2-web-application.html | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/content/getting-started/how-to-create-a-struts2-web-application.html b/content/getting-started/how-to-create-a-struts2-web-application.html index bd799f3..edee50e 100644 --- a/content/getting-started/how-to-create-a-struts2-web-application.html +++ b/content/getting-started/how-to-create-a-struts2-web-application.html @@ -263,12 +263,13 @@ to our web application’s class path. In pom.xm dependency groupIdorg.apache.struts/groupId artifactIdstruts2-core/artifactId -versionX.X.X.X/version +version${struts2.version}/version /dependency -Of course replace the X.X.X.X with the current Struts 2 version. Maven will get the struts2-core jar and the other jar +Of course replace the ${struts2.version} with the current Struts 2 version (or define within pom properties). +Maven will get the struts2-core jar and the other jar files struts2-core requires (transitive dependencies). Beginning with Struts version 2.2.3 @@ -283,17 +284,17 @@ you do not need to specify a separate dependency node for javassist. dependency groupIdorg.apache.logging.log4j/groupId artifactIdlog4j-core/artifactId -version2.8.2/version +version${log4j2.version}/version /dependency dependency groupIdorg.apache.logging.log4j/groupId artifactIdlog4j-api/artifactId -version2.8.2/version +version${log4j2.version}/version /dependency -Using both log4j-core and log4j-api allows to use the latest version of Log4j2 without a clash with version provided by the framework. Setup a log4j2.xml configuration in the src/main/resources folder which contains the following +Using both log4j-core and log4j-api allows to use the latest version of Log4j2 without a clash with version provided by the framework. Setup a log4j2.xml configuration in the src/main/resources folder which contains the following log4j2.xml -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new d3dcfdc Updates production by Jenkins d3dcfdc is described below commit d3dcfdce3a0888e79f818e403c4b34c6653a4afb Author: jenkinsAuthorDate: Tue Dec 5 06:11:59 2017 + Updates production by Jenkins --- .../how-to-create-a-struts2-web-application.html | 34 +++--- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/content/getting-started/how-to-create-a-struts2-web-application.html b/content/getting-started/how-to-create-a-struts2-web-application.html index 6fcd29e..bd799f3 100644 --- a/content/getting-started/how-to-create-a-struts2-web-application.html +++ b/content/getting-started/how-to-create-a-struts2-web-application.html @@ -186,7 +186,7 @@ the web application archive (war) file. Step 1 - Create A Java Web Application -In your Java IDE create a Java web application with a project name of basic_struts that follows the standard Maven +In your Java IDE create a Java web application with a project name of basic_struts that follows the standard Maven project folder structure. In your pom.xml include the following: pom.xml build node @@ -320,19 +320,31 @@ you do not need to specify a separate dependency node for javassist. Step 5 - Add Struts 2 Servlet Filter To enable the Struts 2 framework to work with your web application you need to add a Servlet filter class and filter -mapping to web.xml. Below is the filter and filter-mapping nodes you should add to web.xml. +mapping to web.xml. Below is how the web.xml may look after adding the filter and filter-mapping nodes. web.xml is to be under src/main/webapp/WEB-INF folder. web.xml Servlet Filter -filter -filter-namestruts2/filter-name -filter-classorg.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter/filter-class -/filter - -filter-mapping -filter-namestruts2/filter-name -url-pattern/*/url-pattern -/filter-mapping +?xml version="1.0" encoding="UTF-8"? +web-app id="WebApp_ID" version="2.4" + xmlns="http://java.sun.com/xml/ns/j2ee; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd; + display-nameBasic Struts2/display-name + welcome-file-list + welcome-fileindex/welcome-file + /welcome-file-list + + filter + filter-namestruts2/filter-name + filter-classorg.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter/filter-class + /filter + + filter-mapping + filter-namestruts2/filter-name + url-pattern/*/url-pattern + /filter-mapping + +/web-app -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 24241c3 Updates production by Jenkins 24241c3 is described below commit 24241c3631fff8d6594369062085ab5de9d200ed Author: jenkinsAuthorDate: Tue Dec 5 06:01:25 2017 + Updates production by Jenkins --- content/download.html | 6 ++ 1 file changed, 6 insertions(+) diff --git a/content/download.html b/content/download.html index 93359c6..8fe19a5 100644 --- a/content/download.html +++ b/content/download.html @@ -134,6 +134,12 @@ + You can start with Apache Struts using Apache Maven and optionally provided + archetypes for easier dependency management and version upgrade. + Or download some of distributions for fully offline development. + + + Use the links below to download a release of Apache Struts from one of our mirrors. You can verify the integrity of the downloaded files using signatures downloaded from our main distribution directory. -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 1a2d5f9 Updates production by Jenkins 1a2d5f9 is described below commit 1a2d5f91405e43310a29ca306698df22bb4b7b59 Author: jenkinsAuthorDate: Mon Dec 4 12:39:18 2017 + Updates production by Jenkins --- content/plugins/json/index.html | 45 + 1 file changed, 45 insertions(+) diff --git a/content/plugins/json/index.html b/content/plugins/json/index.html index 371f392..0ebdf10 100644 --- a/content/plugins/json/index.html +++ b/content/plugins/json/index.html @@ -583,6 +583,51 @@ The implementation should then be defined in str +There is an example at https://gitbox.apache.org/repos/asf?p=struts-examples.git;a=blob_plain;f=json-customize/src/main/java/org/demo/FlexJSONWriter.java;hb=HEAD;>struts-examples/json-customize/FlexJSONWriter.java. +It replaces Struts default json serializer with http://flexjson.sourceforge.net/;>Flexjson as below: + +import flexjson.JSONSerializer; +import flexjson.transformer.DateTransformer; +import org.apache.struts2.json.JSONException; +import org.apache.struts2.json.JSONWriter; + +public class FlexJSONWriter implements JSONWriter { +private String dateFormatter; + +public String write(Object object) throws JSONException { +return this.write(object, null, null, false); +} + +public String write(Object object, CollectionPattern excludeProperties, CollectionPattern [...] +boolean excludeNullProperties) throws JSONException { + +JSONSerializer serializer = new JSONSerializer(); +if (excludeProperties != null) { +for (Pattern p : excludeProperties) { +serializer = serializer.exclude(p.pattern()); +} +} +if (includeProperties != null) { +for (Pattern p : includeProperties) { +serializer = serializer.include(p.pattern()); +} +} +if (excludeNullProperties) { +serializer = serializer.transform(new ExcludeTransformer(), void.class); +} +if (dateFormatter != null) { +serializer = serializer.transform(new DateTransformer(dateFormatter), Date.class); +} +return serializer.serialize(object); +} +//... + + + + + Flexjson is a lightweight library for serializing and deserializing Java objects into and from JSON. + + Example Setup Action -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b367730 Updates production by Jenkins b367730 is described below commit b36773066ed5e964a1c5c48bdc1b88d1e3240517 Author: jenkinsAuthorDate: Fri Dec 1 19:41:35 2017 + Updates production by Jenkins --- content/getting-started/http-session.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/http-session.html b/content/getting-started/http-session.html index 58c2ea2..2bebd1e 100644 --- a/content/getting-started/http-session.html +++ b/content/getting-started/http-session.html @@ -160,7 +160,7 @@ application (see above), the HelloWorldAction class implements the SessionAware private MapString, Object userSession ; -public void setSession(MapString, Object) session) { +public void setSession(MapString, Object session) { userSession = session ; } -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 5f1edb9 Updates production by Jenkins 5f1edb9 is described below commit 5f1edb90aadf5bd697d979da0f5c5fc9037a9690 Author: jenkinsAuthorDate: Fri Dec 1 08:09:18 2017 + Updates production by Jenkins --- content/announce.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/announce.html b/content/announce.html index 0eec796..23ecc55 100644 --- a/content/announce.html +++ b/content/announce.html @@ -167,7 +167,7 @@ Vulnerability in the Jackson JSON library - Please read the Version Notes to find more details about performed bug fixes and improvements. + Please read the https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.14.1;>Version Notes to find more details about performed bug fixes and improvements. All developers are strongly advised to perform this action. -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 1b742c0 Updates production by Jenkins 1b742c0 is described below commit 1b742c09113a0995605c658838eda9e227e6df09 Author: jenkinsAuthorDate: Fri Dec 1 07:52:50 2017 + Updates production by Jenkins --- content/announce.html | 33 ++ content/download.html | 44 ++--- content/downloads.html | 75 -- content/index.html | 10 +++ 4 files changed, 115 insertions(+), 47 deletions(-) diff --git a/content/announce.html b/content/announce.html index 9ce4802..0eec796 100644 --- a/content/announce.html +++ b/content/announce.html @@ -129,6 +129,7 @@ Announcements + 30 November 2017 - Struts 2.5.14.1 General Availability 23 November 2017 - Struts 2.5.14 General Availability 07 September 2017 - Struts 2.3.34 General Availability 05 September 2017 - Struts 2.5.13 General Availability @@ -147,6 +148,38 @@ Skip to: Announcements - 2016 +30 November 2017 - Struts 2.5.14.1 General Availability + +The Apache Struts group is pleased to announce that Struts 2.5.14.1 is available as a “General Availability” +release. The GA designation is our highest quality grade. + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +This release contains fixes for the following potential security vulnerabilities: + + + https://cwiki.apache.org/confluence/display/WW/S2-054;>S2-054 +A crafted JSON request can be used to perform a DoS attack when using the Struts REST plugin + https://cwiki.apache.org/confluence/display/WW/S2-055;>S2-055 +Vulnerability in the Jackson JSON library + + + + Please read the Version Notes to find more details about performed bug fixes and improvements. + + +All developers are strongly advised to perform this action. + +The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 2.4, JSP API 2.0, and Java 7. + +Should any issues arise with your use of any version of the Struts framework, please post your comments +to the user list, and, if appropriate, file a tracking ticket. + +You can download this version from our download page. + 23 November 2017 - Struts 2.5.14 General Availability The Apache Struts group is pleased to announce that Struts 2.5.14 is available as a “General Availability” diff --git a/content/download.html b/content/download.html index 6058801..bbe90dc 100644 --- a/content/download.html +++ b/content/download.html @@ -182,26 +182,26 @@ Full Releases -Struts 2.5.14 +Struts 2.5.14.1 - https://struts.apache.org/;>Apache Struts 2.5.14 is an elegant, extensible + https://struts.apache.org/;>Apache Struts 2.5.14.1 is an elegant, extensible framework for creating enterprise-ready Java web applications. It is available in a full distribution, or as separate library, source, example and documentation distributions. - Struts 2.5.14 is the "best available" version of Struts in the 2.5 series. + Struts 2.5.14.1 is the "best available" version of Struts in the 2.5 series. -https://struts.apache.org/docs/version-notes-2514.html;>Version Notes +https://struts.apache.org/docs/version-notes-2514.1.html;>Version Notes Full Distribution: -struts-2.5.14-all.zip (65MB) -[https://www.apache.org/dist/struts/2.5.14/struts-2.5.14-all.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.14/struts-2.5.14-all.zip.md5;>MD5] +struts-2.5.14.1-all.zip (65MB) +[https://www.apache.org/dist/struts/2.5.14.1/struts-2.5.14.1-all.zip.asc;>PGP] +[https://www.apache.org/dist/struts/2.5.14.1/struts-2.5.14.1-all.zip.md5;>MD5] @@ -209,9 +209,9 @@ Example Applications: -struts-2.5.14-apps.zip (35MB) -[https://www.apache.org/dist/struts/2.5.14/struts-2.5.14-apps.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.14/struts-2.5.14-apps.zip.md5;>MD5] +struts-2.5.14.1-apps.zip (35MB) +[https://www.apache.org/dist/struts/2.5.14.1/struts-2.5.14.1-apps.zip.asc;>PGP] +[https://www.apache.org/dist/struts/2.5.14.1/struts-2.5.14.1-apps.zip.md5;>MD5] @@ -219,9 +219,9 @@ Essential Dependencies Only: -struts-2.5.14-min-lib.zip (4MB) -[https://www.apache.org/dist/struts/2.5.14/struts-2.5.14-min-lib.zip.asc;>PGP] -[https://www.apache.org/dist/struts/2.5.14/struts-2.5.14-min-lib.zip.md5;>MD5] +
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new af46f35 Updates production by Jenkins af46f35 is described below commit af46f35d6c32efad7c6c0a177a6b8348e5d76212 Author: jenkinsAuthorDate: Fri Dec 1 07:24:56 2017 + Updates production by Jenkins --- content/getting-started/how-to-create-a-struts2-web-application.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/how-to-create-a-struts2-web-application.html b/content/getting-started/how-to-create-a-struts2-web-application.html index d1f8fbf..ea08637 100644 --- a/content/getting-started/how-to-create-a-struts2-web-application.html +++ b/content/getting-started/how-to-create-a-struts2-web-application.html @@ -255,7 +255,7 @@ You should see the following: Step 3 - Add Struts 2 Jar Files To Class Path -Now that we know we have a working Java web application, lets add the minimal required Struts 2 framework Jar files +Now that we know we have a working Java web application, let’s add the minimal required Struts 2 framework Jar files to our web application’s class path. In pom.xml add the following dependency node: pom.xml dependency node -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 38b429c Updates production by Jenkins 38b429c is described below commit 38b429c2e617ca7509b9c8d2b9491ae1ba7d0d14 Author: jenkinsAuthorDate: Thu Nov 30 06:11:36 2017 + Updates production by Jenkins --- content/getting-started/control-tags.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/control-tags.html b/content/getting-started/control-tags.html index 4ba91ae..33bba9c 100644 --- a/content/getting-started/control-tags.html +++ b/content/getting-started/control-tags.html @@ -175,7 +175,7 @@ -The purpose of the above markup is to use either “Car model” or “Car models” depending on how many car models the user selected on the edit page. So the value for the test attribute of this iterator tag gets the length of the carModels String array and compares that to 1. If it’s greater then 1, the correct grammar is “Car models” else the correct grammar is “Car model”. +The purpose of the above markup is to use either “Car model” or “Car models” depending on how many car models the user selected on the edit page. So the value for the test attribute of this iterator tag gets the length of the carModels String array and compares that to 1. If it’s greater than 1, the correct grammar is “Car models” else the correct grammar is “Car model”. Struts iterator Tag -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 22846ee Updates production by Jenkins 22846ee is described below commit 22846eec50cd82c7e35095cd39d8fbe7638d0b9c Author: jenkinsAuthorDate: Wed Nov 29 08:11:09 2017 + Updates production by Jenkins --- content/plugins/rest/index.html | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/content/plugins/rest/index.html b/content/plugins/rest/index.html index 7d6d2ab..6ce42fd 100644 --- a/content/plugins/rest/index.html +++ b/content/plugins/rest/index.html @@ -510,14 +510,20 @@ http://my.company.com/myapp/movies/superman.json First you need to add the jackson dependency to your web application by downloading the jar file and put it under WEB-INF/lib or by adding following xml snippet to your dependencies section in the pom.xml when you are using maven as build system. dependency -groupIdorg.codehaus.jackson/groupId -artifactIdjackson-jaxrs/artifactId -version1.9.13/version +groupIdcom.fasterxml.jackson.core/groupId +artifactIdjackson-core/artifactId +version${jackson.version}/version +/dependency +dependency +groupIdcom.fasterxml.jackson.core/groupId +artifactIdjackson-databind/artifactId +version${jackson.version}/version /dependency - +where ${jackson.version} is the latest available version of the libs, right now it is 2.9.2. + Now you can overwrite the Content Handler with the Jackson Content Handler in the struts.xml: bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="jackson" class="org.apache.struts2.rest.handler.JacksonLibHandler"/ @@ -529,12 +535,9 @@ http://my.company.com/myapp/movies/superman.json !-- Set encoding to UTF-8, default is ISO-8859-1 -- constant name="struts.i18n.encoding" value="UTF-8"/ - - - Settings The following settings can be customized. See the developer guide. -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new f56d37d Updates production by Jenkins f56d37d is described below commit f56d37db61f3779f0ccc401fd3ef3dbdbef6b476 Author: jenkinsAuthorDate: Wed Nov 29 06:52:39 2017 + Updates production by Jenkins --- content/getting-started/themes.html | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/getting-started/themes.html b/content/getting-started/themes.html index d12accd..d96e436 100644 --- a/content/getting-started/themes.html +++ b/content/getting-started/themes.html @@ -179,13 +179,13 @@ to your problem, post a question on the mailing list. Notice how the HTML generated uses table tags to control the layout of the label and select HTML. There is also a class, -tdLabel, applied to the table column where the label tag is rendered. Since no theme was specified for the Struts 2 s -elect tag the default xhmtl theme was used. +tdLabel, applied to the table column where the label tag is rendered. Since no theme was specified for the Struts 2 +select tag the default xhmtl theme was used. Specifying The Theme Struts 2 Should Use The Struts 2 tags have a theme attribute you can use to specify which Struts 2 theme should be used when creating the HTML -for that tag. The values for the theme attribute are simple, xhtml, css_xhtml, and ajax. To learn more about these themes +for that tag. The values for the theme attribute are simple, xhtml, css_xhtml, and ajax. To learn more about these themes visit Themes and Templates Documentation. This tutorial will review the xhtml, css_xhtml, and the simple themes. The ajax theme is a special theme used for ajax operations (see Ajax Theme in the documentation). @@ -209,11 +209,11 @@ Struts 2 should use: (see the readme.txt file) and view the source for edit.jsp after it is rendered in your browser. You should see the form HTML tags layout controlled by table tags. -Change the theme to simple for the form’s theme attribute and redeploy the application. Examine the source for edit.jsp +Change the theme to simple for the form’s theme attribute and redeploy the application. Examine the source for edit.jsp after it is rendered in the browser. You should see that there are no table tags controlling the layout and also there are no label tags for the text fields. -Change the theme to css_xhtml for the form’s theme attribute and redeploy the application. Examine the source for edit.jsp +Change the theme to css_xhtml for the form’s theme attribute and redeploy the application. Examine the source for edit.jsp after it is rendered in the browser. The layout of the form tags is now controlled by div tags and the label tags are back. Specifying The CSS Used By The Struts 2 Tag @@ -300,7 +300,7 @@ to checkboxlist.ftl that is in Since the XHTML theme is the default theme and I have a theme.properties file defined with parent = xhtml, -the KUTheme will inherit all the themes from xhmtl exempt for the theme for the checkboxlist tag since my KUTheme includes +the KUTheme will inherit all the themes from xhmtl except for the theme for the checkboxlist tag since my KUTheme includes a definition for that tag’s layout. In the struts.xml file (src/main/resources) you will see that the I’ve specified the default theme to be KUTheme. -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 0cbdc52 Updates production by Jenkins 0cbdc52 is described below commit 0cbdc5224ffa67feeba2cac77c17b59e42e30500 Author: jenkinsAuthorDate: Tue Nov 28 19:56:05 2017 + Updates production by Jenkins --- content/download.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/download.html b/content/download.html index 03ba2ca..6058801 100644 --- a/content/download.html +++ b/content/download.html @@ -155,9 +155,9 @@ Other mirrors: -[if-any http] -[for http] -[http] +[if-any https] +[for https] +[https] [end] [end] [if-any ftp] -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 9e129ae Updates production by Jenkins 9e129ae is described below commit 9e129ae4bdb02037b9744263f7c26c3ee28c8587 Author: jenkinsAuthorDate: Tue Nov 28 09:15:07 2017 + Updates production by Jenkins --- content/plugins/plugins.html | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/content/plugins/plugins.html b/content/plugins/plugins.html index 8426280..3552c36 100644 --- a/content/plugins/plugins.html +++ b/content/plugins/plugins.html @@ -128,7 +128,18 @@ << back to Plugins -Plugins +Plugins + + + Static resources + Extension Points + Plugin Examples + Sitemesh plugin + Tiles plugin + + + Plugin Registry + Struts 2 plugins contain classes and configuration that extend, replace, or add to existing Struts framework functionality. A plugin can be installed by adding its JAR file to the application’s class path, in addition to the JAR files to fulfill whatever dependencies the plugin itself may have. To configure the plugin, the JAR should contain a struts-plugin.xml file, which follows the same format as an ordinary str [...] -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 9298c04 Updates production by Jenkins 9298c04 is described below commit 9298c04827021b86af0706d837ab88fee991221d Author: jenkinsAuthorDate: Tue Nov 28 05:59:00 2017 + Updates production by Jenkins --- content/getting-started/introducing-interceptors.html | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/getting-started/introducing-interceptors.html b/content/getting-started/introducing-interceptors.html index 16feac7..a9f7873 100644 --- a/content/getting-started/introducing-interceptors.html +++ b/content/getting-started/introducing-interceptors.html @@ -260,10 +260,10 @@ the following in struts.xml: -In the code above we use the interceptors node to define a new stack of interceptors that includes the timer, logging, -and defaultStack interceptors. We give this new interceptor stack a name of appDefault. Then we use the default-interceptor-ref -node to specify that for all Actions defined inside this package node the appDefault stack of interceptors are to be used. -Thus the timer and logging` interceptor will be executed for each Action in this package. +In the code above we use the interceptors node to define a new stack of interceptors that includes the timer, logging, +and defaultStack interceptors. We give this new interceptor stack a name of appDefault. Then we use the default-interceptor-ref +node to specify that for all Actions defined inside this package node the appDefault stack of interceptors are to be used. +Thus the timer and logging interceptor will be executed for each Action in this package. Note that in both examples we are still executing all the other interceptors by including the defaultStack as one of the interceptor-ref nodes. When you specify what interceptors you want to use for an Action or a package then only -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 8f46971 Updates production by Jenkins 8f46971 is described below commit 8f46971e16e9994cb78fd228e10787c50b56ee65 Author: jenkinsAuthorDate: Mon Nov 27 12:03:29 2017 + Updates production by Jenkins --- content/getting-started/form-tags.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started/form-tags.html b/content/getting-started/form-tags.html index 39a951b..a9ec8c4 100644 --- a/content/getting-started/form-tags.html +++ b/content/getting-started/form-tags.html @@ -325,7 +325,7 @@ the checkbox will not be checked. -Since the method getOver21 returns true, the checkbox is checked. +Since the method isOver21 returns true, the checkbox is checked. HTML Created By Struts 2 Checkbox Tag -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new c427a58 Updates production by Jenkins c427a58 is described below commit c427a585acced08a8ce2e7f1f32dc7e41cfd6c3f Author: jenkinsAuthorDate: Mon Nov 27 10:35:43 2017 + Updates production by Jenkins --- content/announce.html | 59 ++ content/download.html | 44 content/downloads.html | 2 +- .../getting-started/form-validation-using-xml.html | 2 +- content/index.html | 10 ++-- 5 files changed, 88 insertions(+), 29 deletions(-) diff --git a/content/announce.html b/content/announce.html index cc86475..20f87bb 100644 --- a/content/announce.html +++ b/content/announce.html @@ -129,6 +129,7 @@ Announcements + 23 November 2017 - Struts 2.5.14 General Availability 07 September 2017 - Struts 2.3.34 General Availability 05 September 2017 - Struts 2.5.13 General Availability 09 August 2017 - S2-049 Security Bulletin update @@ -146,6 +147,64 @@ Skip to: Announcements - 2016 +23 November 2017 - Struts 2.5.14 General Availability + +The Apache Struts group is pleased to announce that Struts 2.5.14 is available as a “General Availability” +release. The GA designation is our highest quality grade. + +Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework is designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time. + +Below is a full list of all changes: + + + A class JSONWriter was converted into an interface with default implementation in DefaultJSONWriter class. If you were +using the class directly, you must update your code in other case it won’t compile when using Struts 2.5.14. + DefaultUrlHelper().buildUrl() not outputting port when used as parameter + Not able to convert Spring object to the JSON response + The if test can accidently incorrectly assign a new value to an object + ObjectFactory constructor signature change breaks extensions + Snippets in Struts documentation are missing + I am migrating my struts 2.2.x to 2.5.13 and where all used struts taglibs and tags UI is breaking where i have not used bootstrap there and all working fine + Default Multipart validation regex is invalid due to charset encoding + Exception starting filter struts-prepare: Unable to load configuration. - interceptor - vfs + createInstance method signature change of TextProviderFactory from merged xwork-core code inside struts2-core-2.5.13.jar which was present with xwork-core jar + Struts2.5.13 can’t run in java9 win10 + StringConverter from OGNL 3.1.15 in Struts 2.5.13 + Decimal converters should avoid loss of user’s data caused by rounding + Struts text tag doesn’t print value from Stack + No validations happening after upgrading to Struts 2.5.12 + Allow to use custom JSONwriter + Implement Dependency Check in Maven build + Fallback to ActionContext if container is null in ActionSupport + Upgrade to the latest Jetty plugin in all examples + Add missing header with license to all files reported by the Rat plugin + Review available interceptors and document the missing ones + Fetch docs from new locations + Allow define only TextProvider instead of providing the whole TextProviderFactory + HTML escaping on the text tag + Upgrade FreeMarker to version 2.3.26-incubating + Upgrade to Log4j2 2.9.1 + Upgrade com.fasterxml.jackson to version 2.8.2 + Upgrade net.sf.json-lib to version 2.4 + Upgrade Spring to version 4.1.9 + + + + Please read the https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.14;>Version Notes to find more details about performed bug fixes and improvements. + + +All developers are strongly advised to perform this action. + +The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 2.4, JSP API 2.0, and Java 7. + +Should any issues arise with your use of any version of the Struts framework, please post your comments +to the user list, and, if appropriate, file a tracking ticket. + +You can download this version from our download page. + 07 September 2017 - Struts 2.3.34 General Availability The Apache Struts group is pleased to announce that Struts 2.3.34 is available as a “General Availability” diff --git a/content/download.html b/content/download.html index ab8eea9..f585000 100644 --- a/content/download.html +++ b/content/download.html @@ -182,26 +182,26 @@ Full Releases -Struts 2.5.13 +Struts 2.5.14 - http://struts.apache.org/;>Apache Struts 2.5.13 is an elegant,
[struts-site] branch asf-site updated: Updates production by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b516b4d Updates production by Jenkins b516b4d is described below commit b516b4dfb7c0854c14a67ef617e4f3fbbeb59ff8 Author: jenkinsAuthorDate: Mon Nov 27 10:24:25 2017 + Updates production by Jenkins --- content/core-developers/action-configuration.html | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/content/core-developers/action-configuration.html b/content/core-developers/action-configuration.html index 34f283f..bbe6ed7 100644 --- a/content/core-developers/action-configuration.html +++ b/content/core-developers/action-configuration.html @@ -465,10 +465,13 @@ by annotations or allowed-method/ -Allowed methods can be defined as: -- literals ie. in xml: execute,cancel or in annotation: {"execute", "cancel"} -- patterns when using with wildcard mapping, i.e action ... method="do{2}"/ -- RegExs using regex: prefix, ie: global-allowed-methodsexecute,input,cancel,regex:user([A-Z]*)/global-allowed-methods +Allowed methods can be defined as: + + + literals ie. in xml: execute,cancel or in annotation: {"execute", "cancel"} + patterns when using with wildcard mapping, i.e action ... method="do{2}"/ + RegExs using regex: prefix, ie: global-allowed-methodsexecute,input,cancel,regex:user([A-Z]*)/global-allowed-methods + Please be aware when using your own ConfigurationProvider that the logic to set allowed methods is defined in built-in providers - XmlConfigurationProvider and PackageBasedActionConfigBuilder - and you must replicate such logic in your -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" '].