You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2013/05/22 11:19:09 UTC

svn commit: r862717 - in /websites/production/struts/content/development/2.x/docs: osgi-plugin.html parameters-interceptor.html struts-next.html

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">&lt;constant name=<SPAN class="code-quote">&quot;struts.objectFactory.delegate&quot;</SPAN> value=<SPAN class="code-quote">&quot;springOsgi&quot;</SPAN> /&gt;</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">&lt;/web-app&gt;</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">&lt;/context-param&gt;</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">&lt;context-param&gt;</SPAN>
+    <SPAN class="code-tag">&lt;param-name&gt;</SPAN>struts.osgi.host<SPAN class="code-tag">&lt;/param-name&gt;</SPAN>
+    <SPAN class="code-tag">&lt;param-value&gt;</SPAN>Glassfish<SPAN class="code-tag">&lt;/param-value&gt;</SPAN>
+<SPAN class="code-tag">&lt;/context-param&gt;</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>