Author: lukaszlenart
Date: Fri Jun 12 09:18:43 2015
New Revision: 954576
Log:
Updates production
Added:
websites/production/struts/content/docs/bean-validation-plugin.html
Modified:
websites/production/struts/content/docs/interceptors.html
websites/production/struts/content/docs/plugin-developers-guide.html
websites/production/struts/content/docs/struts-defaultxml.html
websites/production/struts/content/docs/struts-next.html
websites/production/struts/content/docs/tutorials.html
Added: websites/production/struts/content/docs/bean-validation-plugin.html
==============================================================================
--- websites/production/struts/content/docs/bean-validation-plugin.html (added)
+++ websites/production/struts/content/docs/bean-validation-plugin.html Fri Jun
12 09:18:43 2015
@@ -0,0 +1,283 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html>
+<head>
+ <link type="text/css" rel="stylesheet"
href="https://struts.apache.org/css/default.css">
+ <style type="text/css">
+ .dp-highlighter {
+ width:95% !important;
+ }
+ </style>
+ <style type="text/css">
+ .footer {
+ background-image:
url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+ background-repeat: repeat-x;
+ background-position: left top;
+ padding-top: 4px;
+ color: #666;
+ }
+ </style>
+ <link href='https://struts.apache.org/highlighter/style/shCoreStruts.css'
rel='stylesheet' type='text/css' />
+ <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css'
rel='stylesheet' type='text/css' />
+ <script src='https://struts.apache.org/highlighter/js/shCore.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushXml.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushJava.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushBash.js'
type='text/javascript'></script>
+ <script type="text/javascript">
+ SyntaxHighlighter.defaults['toolbar'] = false;
+ SyntaxHighlighter.all();
+ </script>
+ <script type="text/javascript" language="javascript">
+ var hide = null;
+ var show = null;
+ var children = null;
+
+ function init() {
+ /* Search form initialization */
+ var form = document.forms['search'];
+ if (form != null) {
+ form.elements['domains'].value = location.hostname;
+ form.elements['sitesearch'].value = location.hostname;
+ }
+
+ /* Children initialization */
+ hide = document.getElementById('hide');
+ show = document.getElementById('show');
+ children = document.all != null ?
+ document.all['children'] :
+ document.getElementById('children');
+ if (children != null) {
+ children.style.display = 'none';
+ show.style.display = 'inline';
+ hide.style.display = 'none';
+ }
+ }
+
+ function showChildren() {
+ children.style.display = 'block';
+ show.style.display = 'none';
+ hide.style.display = 'inline';
+ }
+
+ function hideChildren() {
+ children.style.display = 'none';
+ show.style.display = 'inline';
+ hide.style.display = 'none';
+ }
+ </script>
+ <title>Bean Validation Plugin</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+ <tr class="topBar">
+ <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+ <a href="home.html">Home</a> > <a
href="guides.html">Guides</a> > <a
href="plugin-developers-guide.html">Plugin Developers
Guide</a> > <a href="bean-validation-plugin.html">Bean Validation
Plugin</a>
+ </td>
+ <td align="right" valign="middle" nowrap>
+ <form name="search" action="https://www.google.com/search"
method="get">
+ <input type="hidden" name="ie" value="UTF-8" />
+ <input type="hidden" name="oe" value="UTF-8" />
+ <input type="hidden" name="domains" value="" />
+ <input type="hidden" name="sitesearch" value="" />
+ <input type="text" name="q" maxlength="255" value="" />
+ <input type="submit" name="btnG" value="Google Search" />
+ </form>
+ </td>
+ </tr>
+</table>
+
+<div id="PageContent">
+ <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+ <!-- We'll enable this once we figure out how to access (and save) the
logo resource -->
+ <!--img src="/wiki/images/confluence_logo.gif" style="float: left;
margin: 4px 4px 4px 10px;" border="0"-->
+ <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts
2 Documentation</div>
+ <div style="margin: 0px 10px 8px 10px" class="pagetitle">Bean
Validation Plugin</div>
+
+ <div class="greynavbar" align="right" style="padding: 2px 10px;
margin: 0px;">
+ <a
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=57904184">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Edit Page"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=57904184">Edit
Page</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Browse Space"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">Browse
Space</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=57904184">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Add Page"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=57904184">Add
Page</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=57904184">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Add News"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=57904184">Add
News</a>
+ </div>
+ </div>
+
+ <div class="pagecontent">
+ <div class="wiki-content">
+ <div id="ConfluenceContent"><h1
id="BeanValidationPlugin-Setup">Setup</h1><p>In order to use the Bean
Validation plugin, you first need to add the JAR file to
the <code>WEB-INF/lib</code> directory of your application or include
the dependency in your project's Maven POM file.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<dependency>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-bean-validation-plugin</artifactId>
+ <version>X.X.X</version>
+</dependency>
+]]></script>
+</div></div><p>Where X.X.X is the current version of Struts 2. Please remember
that the Bean Validation Plugin is available from version 2.5.</p><h1
id="BeanValidationPlugin-Configuration">Configuration</h1><p> </p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>struts.xml</b></div><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[ <constant
name="struts.beanValidation.providerClass"
value="org.hibernate.validator.HibernateValidator"/>
+ <constant name="struts.beanValidation.ignoreXMLConfiguration"
value="false"/>
+ <constant name="struts.beanValidation.convertMessageToUtf"
value="false"/>
+ <constant
name="struts.beanValidation.convertMessageFromEncoding"
value="ISO-8859-1"/>]]></script>
+</div></div><h1 id="BeanValidationPlugin-BeanValidationExample">Bean
Validation Example</h1><p> </p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width:
1px;"><b>com.example.actions.BeanValidationAction</b></div><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[package com.example.actions;
+
+
+import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts.beanvalidation.constraints.FieldMatch;
+import org.apache.struts2.convention.annotation.Action;
+import org.apache.struts2.convention.annotation.Namespace;
+import org.apache.struts2.convention.annotation.ParentPackage;
+import org.apache.struts2.convention.annotation.Result;
+import org.apache.struts2.interceptor.validation.SkipValidation;
+import org.hibernate.validator.constraints.Email;
+import org.hibernate.validator.constraints.NotBlank;
+import org.hibernate.validator.constraints.ScriptAssert;
+import org.hibernate.validator.constraints.URL;
+import javax.validation.constraints.*;
+import java.util.Date;
+
+
+@Namespace("/bean-validation")
+@ParentPackage("bean-validation")
+@Action(results = {
+ @Result(name = "input", location =
"bean-validation.jsp"),
+ @Result(name = "success", location =
"/WEB-INF/validation/successFieldValidatorsExample.jsp")
+})
+@FieldMatch(first = "fieldExpressionValidatorField", second =
"requiredValidatorField", message = "requiredValidatorField and
fieldExpressionValidatorField are not matching")
+@ScriptAssert(lang = "javascript", script =
"_this.dateValidatorField != null &&
_this.dateValidatorField.before(new java.util.Date())", message =
"Date need to before now")
+public class BeanValidationExampleAction extends ActionSupport {
+ @NotNull
+ private String requiredValidatorField = null;
+
+ @NotBlank
+ private String requiredStringValidatorField = null;
+
+ @NotNull
+ @Min(1)
+ @Max(10)
+ private Integer integerValidatorField = null;
+
+ @NotNull
+ private Date dateValidatorField = null;
+
+ @NotNull
+ @Size(min = 4, max = 64)
+ @Email
+
+ private String emailValidatorField = null;
+
+ @NotNull
+ @Size(min = 4, max = 64)
+ @URL
+ private String urlValidatorField = null;
+
+ @NotNull
+ @Size(min = 2, max = 4)
+ private String stringLengthValidatorField = null;
+
+ @Pattern(regexp = "[^<>]+")
+ private String regexValidatorField = null;
+
+ private String fieldExpressionValidatorField = null;
+
+
+ public Date getDateValidatorField() {
+
+ return dateValidatorField;
+ }
+ public void setDateValidatorField(Date dateValidatorField) {
+ this.dateValidatorField = dateValidatorField;
+ }
+ public String getEmailValidatorField() {
+ return emailValidatorField;
+ }
+ public void setEmailValidatorField(String emailValidatorField) {
+ this.emailValidatorField = emailValidatorField;
+ }
+ public Integer getIntegerValidatorField() {
+ return integerValidatorField;
+ }
+ public void setIntegerValidatorField(Integer integerValidatorField) {
+ this.integerValidatorField = integerValidatorField;
+ }
+ public String getRegexValidatorField() {
+ return regexValidatorField;
+ }
+ public void setRegexValidatorField(String regexValidatorField) {
+ this.regexValidatorField = regexValidatorField;
+ }
+ public String getRequiredStringValidatorField() {
+ return requiredStringValidatorField;
+ }
+ public void setRequiredStringValidatorField(String
requiredStringValidatorField) {
+ this.requiredStringValidatorField = requiredStringValidatorField;
+ }
+ public String getRequiredValidatorField() {
+ return requiredValidatorField;
+ }
+ public void setRequiredValidatorField(String requiredValidatorField) {
+ this.requiredValidatorField = requiredValidatorField;
+ }
+ public String getStringLengthValidatorField() {
+ return stringLengthValidatorField;
+ }
+ public void setStringLengthValidatorField(String
stringLengthValidatorField) {
+ this.stringLengthValidatorField = stringLengthValidatorField;
+ }
+ public String getFieldExpressionValidatorField() {
+ return fieldExpressionValidatorField;
+ }
+ public void setFieldExpressionValidatorField(
+ String fieldExpressionValidatorField) {
+ this.fieldExpressionValidatorField = fieldExpressionValidatorField;
+ }
+ public String getUrlValidatorField() {
+ return urlValidatorField;
+ }
+ public void setUrlValidatorField(String urlValidatorField) {
+ this.urlValidatorField = urlValidatorField;
+ }
+}]]></script>
+</div></div></div>
+ </div>
+
+
+ </div>
+</div>
+<div class="footer">
+ Generated by CXF SiteExporter
+</div>
+</body>
+</html>
Modified: websites/production/struts/content/docs/interceptors.html
==============================================================================
--- websites/production/struts/content/docs/interceptors.html (original)
+++ websites/production/struts/content/docs/interceptors.html Fri Jun 12
09:18:43 2015
@@ -145,11 +145,11 @@ under the License.
</div>
</div>
<p>Many Actions share common concerns. Some Actions need input validated.
Other Actions may need a file upload to be pre-processed. Another Action might
need protection from a double submit. Many Actions need drop-down lists and
other controls pre-populated before the page displays.</p><p>The framework
makes it easy to share solutions to these concerns using an "Interceptor"
strategy. When you request a resource that maps to an "action", the framework
invokes the Action object. But, before the Action is executed, the invocation
can be intercepted by another object. After the Action executes, the invocation
could be intercepted again. Unsurprisingly, we call these objects
"Interceptors."</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1428039145673 {padding: 0px;}
-div.rbtoc1428039145673 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1428039145673 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1434095212890 {padding: 0px;}
+div.rbtoc1434095212890 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1434095212890 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1428039145673">
+/*]]>*/</style></p><div class="toc-macro rbtoc1434095212890">
<ul class="toc-indentation"><li><a shape="rect"
href="#Interceptors-UnderstandingInterceptors">Understanding
Interceptors</a></li><li><a shape="rect"
href="#Interceptors-ConfiguringInterceptors">Configuring
Interceptors</a></li><li><a shape="rect"
href="#Interceptors-StackingInterceptors">Stacking Interceptors</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Interceptors-TheDefaultConfiguration">The Default
Configuration</a></li></ul>
</li><li><a shape="rect" href="#Interceptors-FrameworkInterceptors">Framework
Interceptors</a>
@@ -422,9 +422,7 @@ div.rbtoc1428039145673 li {margin-left:
<interceptor-ref name="datetime"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="deprecation"/>
</interceptor-stack>
@@ -479,9 +477,7 @@ div.rbtoc1428039145673 li {margin-left:
<interceptor-ref name="checkbox"/>
<interceptor-ref name="datetime"/>
<interceptor-ref name="multiselect"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
@@ -489,9 +485,7 @@ div.rbtoc1428039145673 li {margin-left:
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param
name="excludeMethods">input,back,cancel,browse</param>
@@ -527,9 +521,7 @@ div.rbtoc1428039145673 li {margin-left:
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param
name="excludeMethods">input,back,cancel,browse</param>
Modified: websites/production/struts/content/docs/plugin-developers-guide.html
==============================================================================
--- websites/production/struts/content/docs/plugin-developers-guide.html
(original)
+++ websites/production/struts/content/docs/plugin-developers-guide.html Fri
Jun 12 09:18:43 2015
@@ -125,7 +125,7 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
- <div id="ConfluenceContent">Apache Struts 2 provides a simple <a
shape="rect" href="plugins.html">plugin architecture</a> so that developers can
extend the framework just by adding a JAR to the application's classpath. Since
plugins are contained in a JAR, they are easy to share with others. Several
plugins are bundled with the framework, and others are available from
third-party sources.<ul><li><a shape="rect"
href="plugins.html">Plugins</a></li><li><a shape="rect"
href="extending-an-application-with-custom-plugins.html">Extending an
Application with Custom Plugins</a></li></ul><h3
id="PluginDevelopersGuide-BundledPlugins">Bundled Plugins</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1"
rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="cdi-plugin.html">CDI (JSR 299) Plugin</a> (2.3.1+)</li><li><a
shape="rect" href="codebehind-plugin.html">Codebehind Plugin</a>
(<strong>deprecated</strong>)</li><li><a shape="rect" href="c
onfig-browser-plugin.html">Config Browser Plugin</a></li><li><a shape="rect"
href="convention-plugin.html">Convention Plugin</a> (2.1.3+)</li><li><a
shape="rect" href="dwr-plugin.html">DWR Plugin</a></li><li><a shape="rect"
href="embedded-jsp-plugin.html">Embedded JSP Plugin</a> (2.1.7+)</li><li><a
shape="rect" href="jasperreports-plugin.html">JasperReports
Plugin</a></li><li><a shape="rect" href="java-8-support-plugin.html">Java 8
Support Plugin</a> (2.3.21+)</li><li><a shape="rect"
href="javatemplates-plugin.html">Javatemplates Plugin</a> (2.1.3+)</li><li><a
shape="rect" href="jfreechart-plugin.html">JFreeChart Plugin</a></li><li><a
shape="rect" href="jsf-plugin.html">JSF Plugin</a></li><li><a shape="rect"
href="json-plugin.html">JSON Plugin</a> (2.1.7+)</li><li><a shape="rect"
href="junit-plugin.html">JUnit Plugin</a></li></ul></td><td colspan="1"
rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="oval-plugin.html">OVal Plugin</a> (2.1.7+)</li><li><a shape="rect" href
="osgi-plugin.html">OSGi Plugin</a> (2.1.7+)</li><li><a shape="rect"
href="plexus-plugin.html">Plexus Plugin</a></li><li><a shape="rect"
href="portlet-plugin.html">Portlet Plugin</a></li><li><a shape="rect"
href="portlet-tiles-plugin.html">Portlet Tiles Plugin</a> (2.3.5+)</li><li><a
shape="rect" href="rest-plugin.html">REST Plugin</a> (2.1.1+)</li><li><a
shape="rect" href="sitegraph-plugin.html">SiteGraph Plugin</a></li><li><a
shape="rect" href="sitemesh-plugin.html">SiteMesh Plugin</a></li><li><a
shape="rect" href="spring-plugin.html">Spring Plugin</a></li><li><a
shape="rect" href="struts-1-plugin.html">Struts 1 Plugin</a></li><li><a
shape="rect" href="testng-plugin.html">TestNG Plugin</a></li><li><a
shape="rect" href="tiles-2-plugin.html">Tiles 2 Plugin</a></li><li><a
shape="rect" href="tiles-3-plugin.html">Tiles 3
Plugin</a></li></ul></td></tr></tbody></table></div><p><img class="emoticon
emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc
8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> For a complete list of bundled and
third-party plugins, visit the <a shape="rect" class="external-link"
href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin Registry.</a>.</p><h2
id="PluginDevelopersGuide-Next:">Next: <a shape="rect"
href="architects-guide.html">Architects Guide</a></h2></div>
+ <div id="ConfluenceContent">Apache Struts 2 provides a simple <a
shape="rect" href="plugins.html">plugin architecture</a> so that developers can
extend the framework just by adding a JAR to the application's classpath. Since
plugins are contained in a JAR, they are easy to share with others. Several
plugins are bundled with the framework, and others are available from
third-party sources.<ul><li><a shape="rect"
href="plugins.html">Plugins</a></li><li><a shape="rect"
href="extending-an-application-with-custom-plugins.html">Extending an
Application with Custom Plugins</a></li></ul><h3
id="PluginDevelopersGuide-BundledPlugins">Bundled Plugins</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1"
rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="bean-validation-plugin.html">Bean Validation Plugin</a> (2.5+)</li><li><a
shape="rect" href="cdi-plugin.html">CDI (JSR 299) Plugin</a>
(2.3.1+)</li><li><a shape="rect" href="codebehind-plu
gin.html">Codebehind Plugin</a> (<strong>< 2.5</strong>)</li><li><a
shape="rect" href="config-browser-plugin.html">Config Browser
Plugin</a></li><li><a shape="rect" href="convention-plugin.html">Convention
Plugin</a> (2.1.3+)</li><li><a shape="rect" href="dwr-plugin.html">DWR
Plugin</a></li><li><a shape="rect" href="embedded-jsp-plugin.html">Embedded JSP
Plugin</a> (2.1.7+)</li><li><a shape="rect"
href="jasperreports-plugin.html">JasperReports Plugin</a></li><li><a
shape="rect" href="java-8-support-plugin.html">Java 8 Support Plugin</a>
(2.3.21+)</li><li><a shape="rect"
href="javatemplates-plugin.html">Javatemplates Plugin</a> (2.1.3+)</li><li><a
shape="rect" href="jfreechart-plugin.html">JFreeChart Plugin</a></li><li><a
shape="rect" href="jsf-plugin.html">JSF Plugin</a> <span>(</span><strong><
2.5</strong><span>)</span></li><li><a shape="rect" href="json-plugin.html">JSON
Plugin</a> (2.1.7+)</li><li><a shape="rect" href="junit-plugin.html">JUnit
Plugin</a></li></ul></td><td c
olspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="oval-plugin.html">OVal Plugin</a> (2.1.7+)</li><li><a shape="rect"
href="osgi-plugin.html">OSGi Plugin</a> (2.1.7+)</li><li><a shape="rect"
href="plexus-plugin.html">Plexus Plugin</a></li><li><a shape="rect"
href="portlet-plugin.html">Portlet Plugin</a></li><li><a shape="rect"
href="portlet-tiles-plugin.html">Portlet Tiles Plugin</a> (2.3.5+)</li><li><a
shape="rect" href="rest-plugin.html">REST Plugin</a> (2.1.1+)</li><li><a
shape="rect" href="sitegraph-plugin.html">SiteGraph Plugin</a></li><li><a
shape="rect" href="sitemesh-plugin.html">SiteMesh Plugin</a></li><li><a
shape="rect" href="spring-plugin.html">Spring Plugin</a></li><li><a
shape="rect" href="struts-1-plugin.html">Struts 1 Plugin</a>
<span>(</span><strong>< 2.5</strong><span>)</span></li><li><a shape="rect"
href="testng-plugin.html">TestNG Plugin</a></li><li><a shape="rect"
href="tiles-2-plugin.html">Tiles 2 Plugin</a></li><li><a shape="rect" hre
f="tiles-3-plugin.html">Tiles 3
Plugin</a></li></ul></td></tr></tbody></table></div><p><img class="emoticon
emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> For a complete list of bundled and
third-party plugins, visit the <a shape="rect" class="external-link"
href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin Registry.</a>.</p><h2
id="PluginDevelopersGuide-Next:">Next: <a shape="rect"
href="architects-guide.html">Architects Guide</a></h2></div>
</div>
<div class="tabletitle">
@@ -140,6 +140,9 @@ under the License.
<span class="smalltext">(Apache Struts 2
Documentation)</span>
<br>
$page.link($child)
+ <span class="smalltext">(Apache Struts 2
Documentation)</span>
+ <br>
+ $page.link($child)
<span class="smalltext">(Apache Struts 2
Documentation)</span>
<br>
$page.link($child)
Modified: websites/production/struts/content/docs/struts-defaultxml.html
==============================================================================
--- websites/production/struts/content/docs/struts-defaultxml.html (original)
+++ websites/production/struts/content/docs/struts-defaultxml.html Fri Jun 12
09:18:43 2015
@@ -138,19 +138,13 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
- <div id="ConfluenceContent">
-<p>A base configuration file named <code>struts-default.xml</code> is included
in the <code>struts2.jar</code> file. This file is automatically included into
<code>struts.xml</code> file to provide the standard configuration settings
without having to copy them. </p>
-
- <div class="aui-message success shadowed information-macro">
+ <div id="ConfluenceContent"><p>A base configuration file named
<code>struts-default.xml</code> is included in the <code>struts2.jar</code>
file. This file is automatically included into <code>struts.xml</code> file to
provide the standard configuration settings without having to copy them.</p>
<div class="aui-message success shadowed information-macro">
<span class="aui-icon icon-success">Icon</span>
<div class="message-content">
<p>To exclude the <code>struts-default.xml</code>
or to provide your own version, see the <code>struts.configuration.files</code>
setting in <a shape="rect"
href="strutsproperties.html">struts.properties</a>.</p>
</div>
</div>
-
-
-<p>The contents of struts-default.xml are here:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<p>The contents of struts-default.xml are here:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
<?xml version="1.0" encoding="UTF-8" ?>
<!--
@@ -380,9 +374,7 @@ under the License.
<interceptor-ref name="datetime"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="deprecation"/>
</interceptor-stack>
@@ -437,9 +429,7 @@ under the License.
<interceptor-ref name="checkbox"/>
<interceptor-ref name="datetime"/>
<interceptor-ref name="multiselect"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
@@ -447,9 +437,7 @@ under the License.
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param
name="excludeMethods">input,back,cancel,browse</param>
@@ -485,9 +473,7 @@ under the License.
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params">
- <param
name="excludeParams">^action:.*,^method:.*</param>
- </interceptor-ref>
+ <interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param
name="excludeMethods">input,back,cancel,browse</param>
@@ -527,8 +513,7 @@ under the License.
</struts>
]]></script>
-</div></div>
-<p>This file defines all of the default bundled results and interceptors and
many interceptor stacks which you can use either as-is or as a basis for your
own application-specific interceptor stacks. <strong>Notice the name of the
package is "struts-default"</strong>.</p></div>
+</div></div><p>This file defines all of the default bundled results and
interceptors and many interceptor stacks which you can use either as-is or as a
basis for your own application-specific interceptor stacks. <strong>Notice the
name of the package is "struts-default"</strong>.</p></div>
</div>
Modified: websites/production/struts/content/docs/struts-next.html
==============================================================================
--- websites/production/struts/content/docs/struts-next.html (original)
+++ websites/production/struts/content/docs/struts-next.html Fri Jun 12
09:18:43 2015
@@ -125,28 +125,32 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
- <div id="ConfluenceContent"><h3
id="StrutsNext-/*<![CDATA[*/div.rbtoc1422602467560{padding:0px;}div.rbtoc1422602467560ul{list-style:disc;margin-left:0px;}div.rbtoc1422602467560li{margin-left:0px;padding-left:0px;}/*]]>*/Whatshouldbeimproved/changedDevelopmentplanofStruts3M1(akaStruts2.5)M2("><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1422602467560 {padding: 0px;}
-div.rbtoc1422602467560 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1422602467560 li {margin-left: 0px;padding-left: 0px;}
+ <div id="ConfluenceContent"><h3
id="StrutsNext-/*<![CDATA[*/div.rbtoc1434094868290{padding:0px;}div.rbtoc1434094868290ul{list-style:disc;margin-left:0px;}div.rbtoc1434094868290li{margin-left:0px;padding-left:0px;}/*]]>*/Whatshouldbeimproved/changedDevelopmentplanofStruts3M1(akaStruts2.5)M2("><style
type="text/css">/*<![CDATA[*/
+div.rbtoc1434094868290 {padding: 0px;}
+div.rbtoc1434094868290 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1434094868290 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></h3><div class="toc-macro rbtoc1422602467560">
+/*]]>*/</style></h3><div class="toc-macro rbtoc1434094868290">
<ul class="toc-indentation"><li><a shape="rect"
href="#StrutsNext-Whatshouldbeimproved/changed">What should be improved /
changed</a></li><li><a shape="rect"
href="#StrutsNext-DevelopmentplanofStruts3">Development plan of Struts 3</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#StrutsNext-M1(akaStruts2.5)">M1 (aka Struts 2.5)</a></li><li><a
shape="rect" href="#StrutsNext-M2(alphaStruts3)">M2 (alpha Struts
3)</a></li><li><a shape="rect" href="#StrutsNext-M3(alphaStruts3)">M3 (alpha
Struts 3)</a></li><li><a shape="rect" href="#StrutsNext-M4(beta1Struts3)">M4
(beta 1 Struts 3)</a></li></ul>
</li><li><a shape="rect" href="#StrutsNext-Cleanupwebsite">Cleanup
website</a></li><li><a shape="rect"
href="#StrutsNext-Undiscussedideas">Undiscussed ideas</a></li></ul>
-</div><h1 id="StrutsNext-Whatshouldbeimproved/changed">What should be improved
/ changed</h1><p><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW/fixforversion/12319158">Issues</a>
connected with the new version <br clear="none"> <a shape="rect"
class="external-link"
href="https://builds.apache.org/view/S-Z/view/Struts/job/Struts3/">Build</a> of
the latest version</p><ul><li>Use Git instead Svn <img class="emoticon
emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"><ul><li>Use Git flow to manage the repo
and development process<ul><li><a shape="rect" class="external-link"
href="http://nvie.com/posts/a-successful-git-branching-model/"
rel="nofollow">http://nvie.com/posts/a-successful-git-branching-model/</a></li><li><a
shape="rect" class="external-link" href="https://github.com/nvie/gitflow"
rel="nof
ollow">https://github.com/nvie/gitflow</a></li><li><a shape="rect"
class="external-link"
href="http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/"
rel="nofollow">http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/</a></li></ul></li></ul></li><li>Switch
to Java 6</li><li>Update "internal" injection to use current Guice
version<ul><li>Consider usage of <a shape="rect" class="external-link"
href="http://onami.apache.org/">http://onami.apache.org/</a></li></ul></li><li>Refactorings
for further extensibility based on questions on the list, on CodeRanch, and
Stack Overflow<ul><li>JR plugin refactoring. Allow compiled reports as
classpath resources.</li></ul></li><li>Refactor conversion of primitives (and
wrappers) in XWork</li><li>Switch to <a shape="rect" class="external-link"
href="http://commons.apache.org/ognl">OGNL 4.0</a>.</li><li>Consider renaming
packages to org.apache.struts3</li><li>Remove deprecated
Plugins<ul><li>Codebehind</li><li>Dojo</li><li>Struts1 ?
</li></ul></li><li>Normalize property name camel-casing (foo.bar.BazPlugh to
foo.bar.bazPlugh)</li><li>Check possible usage of Tiles Auto Tag (<a
shape="rect" class="external-link"
href="http://tiles.apache.org/tiles-autotag/">http://tiles.apache.org/tiles-autotag/</a>)
instead of Struts Annotations</li><li>Convention plugin should be the "normal"
way of using Struts</li><li>Plugin to map websocket requests to Struts
actions</li><li>API to customize property finding via arbitrary request
parameter names ("a" -> getFoo())<ul><li>Happily breaks apart the 1:1
relationship between property paths and HTTP parameter names</li><li>Will be
useful for obfuscation (doesn't expose java model)</li><li>Can be used to
shorten request payload (smaller names)</li><li>Can be taken advantage by
HDIV</li></ul></li><li>Themes cleanup<ul><li>Support HTML 5 features and Single
Page Application development paradigm</li><li>Must output valid
markup</li><li>Should be compatible with bootstrap, bootstrap
validator, and other major UI platforms</li></ul></li></ul><h1
id="StrutsNext-DevelopmentplanofStruts3">Development plan of Struts 3</h1><h2
id="StrutsNext-M1(akaStruts2.5)">M1 (aka Struts 2.5)</h2><ul
class="inline-task-list" data-inline-tasks-content-id="27832363"><li
class="checked" data-inline-task-id="3">Request Git repo from INFRA</li><li
class="checked" data-inline-task-id="4"><span style="line-height:
1.4285715;">Import project</span></li></ul>
+</div><h1 id="StrutsNext-Whatshouldbeimproved/changed">What should be improved
/ changed</h1><p><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW/fixforversion/12319158">Issues</a>
connected with the new version <br clear="none"> <a shape="rect"
class="external-link"
href="https://builds.apache.org/view/S-Z/view/Struts/job/Struts3/">Build</a> of
the latest version</p><ul><li>Use Git instead Svn <img class="emoticon
emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"></li><li>Switch to Java 7 <img
class="emoticon emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"></li><li>Update "internal" injection to
use current Guice version<ul><li>Consider usage of
<a shape="rect" class="external-link"
href="http://onami.apache.org/">http://onami.apache.org/</a></li></ul></li><li>Refactorings
for further extensibility based on questions on the list, on CodeRanch, and
Stack Overflow<ul><li>JR plugin refactoring. Allow compiled reports as
classpath resources.</li></ul></li><li>Refactor conversion of primitives (and
wrappers) in XWork</li><li>Switch to <a shape="rect" class="external-link"
href="http://commons.apache.org/ognl">OGNL 4.0</a>.</li><li>Consider renaming
packages to org.apache.struts3</li><li>Remove deprecated Plugins <img
class="emoticon emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick"
alt="(tick)"><ul><li>Codebehind</li><li>Dojo</li><li>Struts1
?</li></ul></li><li>Normalize property name camel-casing (foo.bar.BazPlugh to
foo.bar.bazPlugh)</li><li>Check possible usage of Tiles Auto Tag (<a shap
e="rect" class="external-link"
href="http://tiles.apache.org/tiles-autotag/">http://tiles.apache.org/tiles-autotag/</a>)
instead of Struts Annotations</li><li>Convention plugin should be the "normal"
way of using Struts</li><li>Plugin to map websocket requests to Struts
actions</li><li>API to customize property finding via arbitrary request
parameter names ("a" -> getFoo())<ul><li>Happily breaks apart the 1:1
relationship between property paths and HTTP parameter names</li><li>Will be
useful for obfuscation (doesn't expose java model)</li><li>Can be used to
shorten request payload (smaller names)</li><li>Can be taken advantage by
HDIV</li></ul></li><li>Themes cleanup<ul><li>Support HTML 5 features and Single
Page Application development paradigm</li><li>Must output valid
markup</li><li>Should be compatible with bootstrap, bootstrap validator, and
other major UI platforms</li></ul></li></ul><h1
id="StrutsNext-DevelopmentplanofStruts3">Development plan of Struts 3</h1><h2
id="Strut
sNext-M1(akaStruts2.5)">M1 (aka Struts 2.5)</h2><ul class="inline-task-list"
data-inline-tasks-content-id="27832363"><li class="checked"
data-inline-task-id="3">Request Git repo from INFRA</li><li class="checked"
data-inline-task-id="4"><span style="line-height: 1.4285715;">Import
project</span></li><li class="checked" data-inline-task-id="31">Remove
deprecated plugins - moved to <a shape="rect" class="external-link"
href="https://git1-us-west.apache.org/repos/asf?p=struts-archive.git">struts-archive.git
</a>repo<ul class="inline-task-list"
data-inline-tasks-content-id="27832363"><li class="checked"
data-inline-task-id="16">we need place for deprecated stuff (to move the source
code to) - new project "struts-archive"</li><li class="checked"
data-inline-task-id="17">drop support for Struts 1 (remove plugin)</li><li
class="checked" data-inline-task-id="18">dojo plugin</li><li class="checked"
data-inline-task-id="19">codebehind plugin</li><li class="checked"
data-inline-task-id="20">js
f plugin</li></ul>
-<ol><li>Remove deprecated plugins<ul class="inline-task-list"
data-inline-tasks-content-id="27832363"><li data-inline-task-id="16">we need
place for deprecated stuff (to move the source code to) - new project
"struts-archive"</li><li data-inline-task-id="17">drop support for Struts 1
(remove plugin)</li><li data-inline-task-id="18">dojo plugin</li><li
data-inline-task-id="19">codebehind plugin</li><li data-inline-task-id="20">jsf
plugin</li></ul>
+</li><li data-inline-task-id="32">Remove deprecated APIs<ol><li>if it cannot
be removed, mark to be removed during work on 3.0</li></ol></li><li
class="checked" data-inline-task-id="33">Switch to Java 7</li><li
data-inline-task-id="34">Merge XWork code into Struts Core (without renaming
packages)</li><li data-inline-task-id="35">Switch to strict DMI by default -
allow only defined methods to be accessible via DMI - user can always change
that list</li><li class="checked" data-inline-task-id="36">Mark current logging
layer as <code>@deprecated</code> and use Log4j2 as default
one</li><li class="checked" data-inline-task-id="37">Add plugin to support bean
validation<ul class="inline-task-list"
data-inline-tasks-content-id="27832363"><li class="checked"
data-inline-task-id="44">Implement plugin</li><li class="checked"
data-inline-task-id="45">Add showcase example</li><li class="checked"
data-inline-task-id="46">Add documentation to wiki</li></ul>
-</li><li>Remove deprecated APIs<ol><li>if it cannot be removed, mark to be
removed during work on 3.0</li></ol></li><li>Switch to Java 7</li><li>Merge
XWork code into Struts Core (without renaming packages)</li><li>Switch to
strict DMI by default - allow only defined methods to be accessible via DMI -
user can always change that list</li><li>Prepare the first
release</li><li>Cleanup website<ul class="inline-task-list"
data-inline-tasks-content-id="27832363"><li data-inline-task-id="8">new user
guide totally developed out of Confluence - people will be able to contribute
to it via GitHub</li><li data-inline-task-id="9">Confluence (wiki) used only to
explain more detailed given aspect of the framework (ie.: how to implement your
own converter in details)</li><li class="checked" data-inline-task-id="10">keep
just one version of the doc (no more release/2.3.x, release/2.2.x and so on -
Google indexes everything and people are confused)</li></ul>
+</li><li class="checked" data-inline-task-id="38">Upgrade spring plugins
spring version to 4.x </li><li data-inline-task-id="48">Move struts2
blank, jboss-blank and mailreader app to struts2-examples</li><li
data-inline-task-id="39">Prepare the first release</li><li
data-inline-task-id="40">Cleanup website<ul class="inline-task-list"
data-inline-tasks-content-id="27832363"><li data-inline-task-id="8">new user
guide totally developed out of Confluence - people will be able to contribute
to it via GitHub</li><li data-inline-task-id="9">Confluence (wiki) used only to
explain more detailed given aspect of the framework (ie.: how to implement your
own converter in details)</li><li class="checked" data-inline-task-id="10">keep
just one version of the doc (no more release/2.3.x, release/2.2.x and so on -
Google indexes everything and people are confused)</li></ul>
-</li></ol><h2 id="StrutsNext-M2(alphaStruts3)">M2 (alpha Struts
3)</h2><ol><li>Finish merging XWork code base (rename packages)</li><li>Rename
Struts 2 packages to org.apache.struts3</li><li>Use logging layer from <a
shape="rect" class="external-link"
href="http://logging.apache.org/log4j/2.x/manual/api.html">Log4j2</a> or <a
shape="rect" class="external-link" href="https://code.google.com/p/anodyzed/"
rel="nofollow">https://code.google.com/p/anodyzed/</a> (<span
style="line-height: 1.4285715;">Chris Pratt is willing to donate that project
to Struts)</span></li><li>Switch to OGNL 4<ol><li>we must release it
first</li><li>also we need better API interfaces to allow integrate Struts with
other EL engines, ie.: MVEL - right now the whole conversion layer is hardly
tied with OGNL</li></ol></li></ol><h2 id="StrutsNext-M3(alphaStruts3)">M3
(alpha Struts 3)</h2><ol><li>Divide core into api and spi</li></ol><h2
id="StrutsNext-M4(beta1Struts3)">M4 (beta 1 Struts 3)</h2><ol><li>move plug
ins to separated project<ol><li>disconnect plugins release cycle from core
release</li></ol></li></ol><h1 id="StrutsNext-Cleanupwebsite">Cleanup
website</h1><p>There should be just one project website - Apache Struts. Right
now there is the main website - Apache Struts project, subsite Apache Struts 1
and another subsite Apache Struts 2. After announcing EOL of Struts 1, we
basically supporting just one version or rather branch - Apache Struts 2 which
should be at some point converted just into Apache Struts (version 2.5, version
3.0, version 3.1, etc.).</p><p>With that in mind we should have just one
website to manage the project.</p><h1
id="StrutsNext-Undiscussedideas">Undiscussed ideas</h1><ul><li>JSR 371 support
(<a shape="rect" class="external-link"
href="https://jcp.org/en/jsr/detail?id=371"
rel="nofollow">https://jcp.org/en/jsr/detail?id=371</a>)</li><li>Better support
for modern webframeworks like AngularJS (@grobmeier)</li><li>Make use of slf4j
and probably log4j2 (@grobmei
er) - support for slf4j is already there, thanks to Johannes, check <a
shape="rect" href="logging.html">Logging</a></li><li>Provide alternatives to
java property file translations (@grobmeier)</li><li>Replace css and xhtml
theme with an new html5 theme. (@jogep)</li><li>Extract XML configuration to
dedicated plugin - XWork will provide only configuration via code, then user
can decide which configuration to use - code, XML, convention,
DB?</li><li>Should plugins move out of the Struts release cycle so they can
independently released? (@pbenedict)</li><li>Turn all request and response
processing into interceptors (perhaps introduce a "system stack" to complement
a "user stack" to simplify configuration) (@pbenedict)</li></ul></div>
+</li></ul>
+
+
+
+<h2 id="StrutsNext-M2(alphaStruts3)">M2 (alpha Struts 3)</h2><ol><li>Finish
merging XWork code base (rename packages)</li><li>Rename Struts 2 packages to
org.apache.struts3</li><li>Use logging layer from <a shape="rect"
class="external-link"
href="http://logging.apache.org/log4j/2.x/manual/api.html">Log4j2</a> or <a
shape="rect" class="external-link" href="https://code.google.com/p/anodyzed/"
rel="nofollow">https://code.google.com/p/anodyzed/</a> (<span
style="line-height: 1.4285715;">Chris Pratt is willing to donate that project
to Struts)</span></li><li>Switch to OGNL 4<ol><li>we must release it
first</li><li>also we need better API interfaces to allow integrate Struts with
other EL engines, ie.: MVEL - right now the whole conversion layer is hardly
tied with OGNL</li></ol></li><li>Switch to Servlet Specification
3.0<ol><li>drop <span style="color: rgb(34,34,34);">embedded JSP
plugin</span></li></ol></li></ol><h2 id="StrutsNext-M3(alphaStruts3)">M3 (alpha
Struts 3)</h2><
ol><li>Divide core into api and spi</li></ol><h2
id="StrutsNext-M4(beta1Struts3)">M4 (beta 1 Struts 3)</h2><ol><li>move plugins
to separated project<ol><li>disconnect plugins release cycle from core
release</li></ol></li></ol><h1 id="StrutsNext-Cleanupwebsite">Cleanup
website</h1><p>There should be just one project website - Apache Struts. Right
now there is the main website - Apache Struts project, subsite Apache Struts 1
and another subsite Apache Struts 2. After announcing EOL of Struts 1, we
basically supporting just one version or rather branch - Apache Struts 2 which
should be at some point converted just into Apache Struts (version 2.5, version
3.0, version 3.1, etc.).</p><p>With that in mind we should have just one
website to manage the project.</p><h1
id="StrutsNext-Undiscussedideas">Undiscussed ideas</h1><ul><li>JSR 371 support
(<a shape="rect" class="external-link"
href="https://jcp.org/en/jsr/detail?id=371"
rel="nofollow">https://jcp.org/en/jsr/detail?id=371</a>)</li><li
>Better support for modern webframeworks like AngularJS
>(@grobmeier)</li><li>Make use of slf4j and probably log4j2 (@grobmeier) -
>support for slf4j is already there, thanks to Johannes, check <a shape="rect"
>href="logging.html">Logging</a></li><li>Provide alternatives to java property
>file translations (@grobmeier)</li><li>Replace css and xhtml theme with an
>new html5 theme. (@jogep)</li><li>Extract XML configuration to dedicated
>plugin - XWork will provide only configuration via code, then user can decide
>which configuration to use - code, XML, convention, DB?</li><li>Should
>plugins move out of the Struts release cycle so they can independently
>released? (@pbenedict)</li><li>Turn all request and response processing into
>interceptors (perhaps introduce a "system stack" to complement a "user stack"
>to simplify configuration) (@pbenedict)</li></ul></div>
</div>
Modified: websites/production/struts/content/docs/tutorials.html
==============================================================================
--- websites/production/struts/content/docs/tutorials.html (original)
+++ websites/production/struts/content/docs/tutorials.html Fri Jun 12 09:18:43
2015
@@ -128,43 +128,15 @@ under the License.
<div id="ConfluenceContent"> <div class="aui-message hint
shadowed information-macro">
<span class="aui-icon icon-hint">Icon</span>
<div class="message-content">
- <p> The framework documentation is written for
active web developers and assumes a working knowledge about how Java web
applications are built. For more about the underlying nuts and bolts, see the
<a shape="rect" class="external-link"
href="http://struts.apache.org/primer.html">Key Technologies Primer</a>.</p>
+ <p>The framework documentation is written for
active web developers and assumes a working knowledge about how Java web
applications are built. For more about the underlying nuts and bolts, see the
<a shape="rect" class="external-link"
href="http://struts.apache.org/primer.html">Key Technologies Primer</a>.</p>
</div>
</div>
-
-<hr>
-<p><br clear="none">
-Several tutorials are available to help you get started with the framework,
from all-purpose "soup to nuts" tutorials to specialty tutorials on portlets
and database access.</p>
-
-<h3 id="Tutorials-Primers">Primers</h3>
-
-<ul><li><a shape="rect" href="getting-started.html">Getting Started</a> -
Tutorials For Struts 2 Beginners</li><li><img class="emoticon
emoticon-yellow-star"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/star_yellow.png"
data-emoticon-name="yellow-star" alt="(star)"> <a shape="rect"
class="external-link"
href="http://www.vaannila.com/struts-2/struts-2-tutorial/struts-2-tutorial.html"
rel="nofollow">Struts 2 Tutorials</a></li><li><a shape="rect"
href="struts-2-spring-2-jpa-ajax.html">Struts 2 + Spring 2 + JPA +
AJAX</a></li><li><img class="emoticon emoticon-yellow-star"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/star_yellow.png"
data-emoticon-name="yellow-star" alt="(star)"> <a shape="rect"
class="external-link"
href="http://www.scribd.com/doc/25244173/Java-Struts-Hibernate-Tutorial"
rel="nofollow">Struts 2 /
Hibernate Tutorial</a></li><li><img class="emoticon emoticon-yellow-star"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/star_yellow.png"
data-emoticon-name="yellow-star" alt="(star)"> <a shape="rect"
class="external-link"
href="http://www.brucephillips.name/blog/index.cfm/2010/12/28/Recommended-Way-To-Structure-A-Spring-3-JPA-2-and-Maven-Web-Application"
rel="nofollow">Struts 2, Spring 3, JPA 2, Maven Example</a></li></ul>
-
-
-<h3 id="Tutorials-Speciality">Speciality</h3>
-
-<ul><li><a shape="rect"
href="extending-an-application-with-custom-plugins.html">Extending an
Application with Custom Plugins</a></li><li><a shape="rect"
href="crud-demo-i.html">CRUD Made Easy</a></li><li><a shape="rect"
href="jasperreports-tutorial.html">JasperReports Tutorial</a></li><li><a
shape="rect" href="struts-2-portlet-tutorial.html">Portlet
Tutorial</a></li><li><a shape="rect"
href="developing-a-portlet-using-eclipse.html">Developing a Portlet using
Eclipse</a></li><li><a shape="rect"
href="struts-2-junit-plugin-tutorial.html">Struts 2 JUnit Plugin
Tutorial</a></li></ul>
-
-
-<h3 id="Tutorials-Examples">Examples</h3>
-
-<p>Several example applications are bundled with the framework, as
ready-to-deploy WARs.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> Blank</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> An "empty" application that you can use as
the starting point for your own projects. </p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> MailReader </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> A simple application that demonstrates
best practices. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> Portlet </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> An application demonstrating portlet support
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Showcase
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A sampling of
common (and not so common) use cases. </p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> <a shape="rect" href="examples.html">Other
Examples</a> </p></td><td colspan
="1" rowspan="1" class="confluenceTd"><p> Simple examples and links to
"powered by" sites </p></td></tr></tbody></table></div>
-
-
-<p>For the complete source code to the applications, see the source code <a
shape="rect" href="home.html#Home-Distributions">distribution</a>.</p>
-
-<h2 id="Tutorials-Errata?">Errata?</h2>
-
- <div class="aui-message success shadowed information-macro">
+ <p><br clear="none"> Several tutorials are available to help you get
started with the framework, from all-purpose "soup to nuts" tutorials to
specialty tutorials on portlets and database access.</p><h3
id="Tutorials-Primers">Primers</h3><ul><li><a shape="rect"
href="getting-started.html">Getting Started</a> - Tutorials For Struts 2
Beginners</li><li><img class="emoticon emoticon-yellow-star"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/star_yellow.png"
data-emoticon-name="yellow-star" alt="(star)"> <a shape="rect"
class="external-link"
href="http://www.vaannila.com/struts-2/struts-2-tutorial/struts-2-tutorial.html"
rel="nofollow">Struts 2 Tutorials</a></li><li><a shape="rect"
href="struts-2-spring-2-jpa-ajax.html">Struts 2 + Spring 2 + JPA +
AJAX</a></li><li><img class="emoticon emoticon-yellow-star"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f35
35d84f9283a9ac.1/_/images/icons/emoticons/star_yellow.png"
data-emoticon-name="yellow-star" alt="(star)"> <a shape="rect"
class="external-link"
href="http://www.scribd.com/doc/25244173/Java-Struts-Hibernate-Tutorial"
rel="nofollow">Struts 2 / Hibernate Tutorial</a></li><li><img class="emoticon
emoticon-yellow-star"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/star_yellow.png"
data-emoticon-name="yellow-star" alt="(star)"> <a shape="rect"
class="external-link"
href="http://www.brucephillips.name/blog/index.cfm/2010/12/28/Recommended-Way-To-Structure-A-Spring-3-JPA-2-and-Maven-Web-Application"
rel="nofollow">Struts 2, Spring 3, JPA 2, Maven Example</a></li></ul><h3
id="Tutorials-Speciality">Speciality</h3><ul><li><a shape="rect"
href="extending-an-application-with-custom-plugins.html">Extending an
Application with Custom Plugins</a></li><li><a shape="rect"
href="crud-demo-i.html">CRUD Made Easy</a>
</li><li><a shape="rect" class="external-link"
href="http://www.jgeppert.com/2015/05/creating-java-web-applications-with-angularjs-and-struts2/"
rel="nofollow">Creating java web applications with AngularJS and
Struts2</a></li><li><a shape="rect" class="external-link"
href="http://www.jgeppert.com/2011/05/4-easy-steps-to-create-a-java-based-web-application-with-struts2-and-jquery/"
rel="nofollow">4 Easy Steps to create a Java based Web Application with
Struts2 and jQuery</a></li><li><a shape="rect"
href="jasperreports-tutorial.html">JasperReports Tutorial</a></li><li><a
shape="rect" href="struts-2-portlet-tutorial.html">Portlet
Tutorial</a></li><li><a shape="rect"
href="developing-a-portlet-using-eclipse.html">Developing a Portlet using
Eclipse</a></li><li><a shape="rect"
href="struts-2-junit-plugin-tutorial.html">Struts 2 JUnit Plugin
Tutorial</a></li></ul><h3 id="Tutorials-Examples">Examples</h3><p>Several
example applications are bundled with the framework, as ready-to-deploy WARs
.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Blank</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>An "empty" application that you can use as
the starting point for your own projects.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>MailReader</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A simple application that demonstrates best
practices.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>Portlet</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>An application demonstrating portlet
support</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>Showcase</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>A sampling of common (and not so common) use
cases.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" href="examples.html">Other Examples</a></p></td><td colspan="1"
rowspan
="1" class="confluenceTd"><p>Simple examples and links to "powered by"
sites</p></td></tr></tbody></table></div><p>For the complete source code to the
applications, see the source code <a shape="rect"
href="home.html#Home-Distributions">distribution</a>.</p><h2
id="Tutorials-Errata?">Errata?</h2> <div class="aui-message success shadowed
information-macro">
<span class="aui-icon icon-success">Icon</span>
<div class="message-content">
<p>To suggest a change or a correction to any part
of the documentation, log in and leave a comment on the appropriate page. We
are always looking for <a shape="rect" class="external-link"
href="http://struts.apache.org/2.x/docs/contributors-guide.html">help with the
documentation!</a></p>
</div>
</div>
-
-
<h2 id="Tutorials-Next:">Next: <a shape="rect"
href="guides.html">Guides</a></h2></div>
</div>