Author: lukaszlenart Date: Wed May 22 09:19:09 2013 New Revision: 862717 Log: Updates draft docs
Modified: websites/production/struts/content/development/2.x/docs/osgi-plugin.html websites/production/struts/content/development/2.x/docs/parameters-interceptor.html websites/production/struts/content/development/2.x/docs/struts-next.html Modified: websites/production/struts/content/development/2.x/docs/osgi-plugin.html ============================================================================== --- websites/production/struts/content/development/2.x/docs/osgi-plugin.html (original) +++ websites/production/struts/content/development/2.x/docs/osgi-plugin.html Wed May 22 09:19:09 2013 @@ -126,7 +126,7 @@ under the License. <H2><A name="OSGiPlugin-Overview"></A>Overview</H2> <DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>This plugin is only experimental and can change in the future.</TD></TR></TABLE></DIV> -<P>This plugin provides support for starting an instance of Apache Felix inside a web application, and scanning installed bundles for Struts configuration. An admin bundle is also provided.</P> +<P>This plugin provides support for starting an instance of Apache Felix inside a web application, and scanning installed bundles for Struts configuration. An admin bundle is also provided. It can be used with Glassfish 3 as well (Glassfish 3 based on Apache Felix as well), but in such a way <TT>struts.osgi.host</TT> must be defined.</P> <H2><A name="OSGiPlugin-Features"></A>Features</H2> @@ -189,10 +189,6 @@ Import-Package: com.opensymphony.xwork2 <SPAN class="code-tag"><constant name=<SPAN class="code-quote">"struts.objectFactory.delegate"</SPAN> value=<SPAN class="code-quote">"springOsgi"</SPAN> /></SPAN> </PRE> </DIV></DIV></LI> -</OL> - - -<OL> <LI>Configure your <B>web.xml</B> like: <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> <PRE class="code-xml"> @@ -250,10 +246,6 @@ Import-Package: com.opensymphony.xwork2 <SPAN class="code-tag"></web-app></SPAN> </PRE> </DIV></DIV></LI> -</OL> - - -<OL> <LI>Add the Spring OSGi, and Spring Web dependencies to your web app, if you are using maven: <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> <PRE class="code-xml"> @@ -389,6 +381,17 @@ org.springframework.web-2.5.5.A.jar <SPAN class="code-tag"></context-param></SPAN> </PRE> </DIV></DIV> + +<P>If you are running your application on Glassfish 3 (which already contains Apache Felix) you must specify <TT>struts.osgi.host</TT>, like below:</P> +<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> +<PRE class="code-xml"> +<SPAN class="code-tag"><context-param></SPAN> + <SPAN class="code-tag"><param-name></SPAN>struts.osgi.host<SPAN class="code-tag"></param-name></SPAN> + <SPAN class="code-tag"><param-value></SPAN>Glassfish<SPAN class="code-tag"></param-value></SPAN> +<SPAN class="code-tag"></context-param></SPAN> +</PRE> +</DIV></DIV> + <DIV class="table-wrap"> <TABLE class="confluenceTable"><TBODY> <TR> Modified: websites/production/struts/content/development/2.x/docs/parameters-interceptor.html ============================================================================== --- websites/production/struts/content/development/2.x/docs/parameters-interceptor.html (original) +++ websites/production/struts/content/development/2.x/docs/parameters-interceptor.html Wed May 22 09:19:09 2013 @@ -234,6 +234,22 @@ over ParametersInterceptor which means i <P>The best idea is to define very tight restrictions with ParametersInterceptor and relax them per action with @{link ParameterNameAware#acceptableParameterName(String)}</P></TD></TR></TABLE></DIV> +<H2><A name="ParametersInterceptor-Warningonmissingparameters"></A>Warning on missing parameters</H2> + +<P>When there is no setter for given parameter name, a warning message like below will be logged in devMode:</P> + +<DIV class="preformatted panel" style="border-width: 1px;"><DIV class="preformattedContent panelContent"> +<PRE>SEVERE: Developer Notification (set struts.devMode to false to disable this message): +Unexpected Exception caught setting 'search' on 'class demo.ItemSearchAction: Error setting expression 'search' with value ['search', ] +Error setting expression 'search' with value ['search', ] - [unknown location] + at com.opensymphony.xwork2.ognl.OgnlValueStack.handleRuntimeException(OgnlValueStack.java:201) + at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:178) + at com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:152) +</PRE> +</DIV></DIV> + +<P>Thus is expected behaviour to allow developer to spot missing setter or typo in either parameter name or setter.</P> + <H2><A name="ParametersInterceptor-Examples"></A>Examples</H2> <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> Modified: websites/production/struts/content/development/2.x/docs/struts-next.html ============================================================================== --- websites/production/struts/content/development/2.x/docs/struts-next.html (original) +++ websites/production/struts/content/development/2.x/docs/struts-next.html Wed May 22 09:19:09 2013 @@ -170,14 +170,15 @@ under the License. <LI>Drop support for Struts 1 (remove plugin)</LI> <LI>Remove deprecated APIs</LI> <LI>Switch to Java 1.6</LI> + <LI>Rename XWork packages to org.apache.struts.xwork</LI> <LI>Prepare the first release</LI> </OL> <P>Plan for Struts 3</P> <OL> - <LI>Rename XWork packages to org.apache.struts.xwork</LI> <LI>Rename Struts 2 packages to org.apache.struts</LI> + <LI>...</LI> </OL> </DIV>