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"><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>