You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/12/03 06:34:53 UTC
svn commit: r351894 - in /beehive/trunk/samples/netui-samples:
src/org/apache/beehive/samples/netui/actioninterceptors/ web/ web/WEB-INF/
web/actioninterceptors/ web/advanced/ web/advanced/actioninterceptors/
web/advanced/actioninterceptors/interceptme...
Author: rich
Date: Fri Dec 2 21:34:36 2005
New Revision: 351894
URL: http://svn.apache.org/viewcvs?rev=351894&view=rev
Log:
- Added an example of using DynaActionForms with page flows.
- Moved the "Action Interceptors" sample to an "Advanced" section on the index page and in the app.
Added:
beehive/trunk/samples/netui-samples/web/advanced/
beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/
- copied from r344396, beehive/trunk/samples/netui-samples/web/actioninterceptors/
beehive/trunk/samples/netui-samples/web/advanced/dynaforms/
beehive/trunk/samples/netui-samples/web/advanced/dynaforms/Controller.java (with props)
beehive/trunk/samples/netui-samples/web/advanced/dynaforms/input.jsp (with props)
beehive/trunk/samples/netui-samples/web/advanced/dynaforms/merge-struts-config-dynaforms.xml (with props)
beehive/trunk/samples/netui-samples/web/advanced/dynaforms/output.jsp (with props)
Removed:
beehive/trunk/samples/netui-samples/web/actioninterceptors/
Modified:
beehive/trunk/samples/netui-samples/src/org/apache/beehive/samples/netui/actioninterceptors/MyInterceptor.java
beehive/trunk/samples/netui-samples/web/WEB-INF/beehive-netui-config.xml
beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/Controller.java
beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/interceptme/Controller.java
beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/nested/Controller.java
beehive/trunk/samples/netui-samples/web/index.jsp
Modified: beehive/trunk/samples/netui-samples/src/org/apache/beehive/samples/netui/actioninterceptors/MyInterceptor.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/src/org/apache/beehive/samples/netui/actioninterceptors/MyInterceptor.java?rev=351894&r1=351893&r2=351894&view=diff
==============================================================================
--- beehive/trunk/samples/netui-samples/src/org/apache/beehive/samples/netui/actioninterceptors/MyInterceptor.java (original)
+++ beehive/trunk/samples/netui-samples/src/org/apache/beehive/samples/netui/actioninterceptors/MyInterceptor.java Fri Dec 2 21:34:36 2005
@@ -39,7 +39,7 @@
throws InterceptorException
{
System.out.println("in preAction() in " + getClass().getName());
- InterceptorForward fwd = new InterceptorForward("/actioninterceptors/nested/Controller.jpf");
+ InterceptorForward fwd = new InterceptorForward("/advanced/actioninterceptors/nested/Controller.jpf");
setOverrideForward(fwd, context);
chain.continueChain();
}
Modified: beehive/trunk/samples/netui-samples/web/WEB-INF/beehive-netui-config.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/WEB-INF/beehive-netui-config.xml?rev=351894&r1=351893&r2=351894&view=diff
==============================================================================
--- beehive/trunk/samples/netui-samples/web/WEB-INF/beehive-netui-config.xml (original)
+++ beehive/trunk/samples/netui-samples/web/WEB-INF/beehive-netui-config.xml Fri Dec 2 21:34:36 2005
@@ -13,11 +13,11 @@
<!-- This block is used by the "actioninterceptors" sample. -->
<pageflow-action-interceptors>
<per-pageflow>
- <pageflow-uri>/actioninterceptors/interceptme/Controller.jpf</pageflow-uri>
+ <pageflow-uri>/advanced/actioninterceptors/interceptme/Controller.jpf</pageflow-uri>
<per-action>
<action-name>begin</action-name>
<simple-action-interceptor>
- <intercept-path>/actioninterceptors/nested/Controller.jpf</intercept-path>
+ <intercept-path>/advanced/actioninterceptors/nested/Controller.jpf</intercept-path>
</simple-action-interceptor>
</per-action>
<per-action>
Modified: beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/Controller.java?rev=351894&r1=344396&r2=351894&view=diff
==============================================================================
--- beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/Controller.java (original)
+++ beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/Controller.java Fri Dec 2 21:34:36 2005
@@ -15,7 +15,7 @@
*
* $Header:$
*/
-package actioninterceptors;
+package advanced.actioninterceptors;
import org.apache.beehive.netui.pageflow.annotations.Jpf;
import org.apache.beehive.netui.pageflow.PageFlowController;
Modified: beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/interceptme/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/interceptme/Controller.java?rev=351894&r1=344396&r2=351894&view=diff
==============================================================================
--- beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/interceptme/Controller.java (original)
+++ beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/interceptme/Controller.java Fri Dec 2 21:34:36 2005
@@ -15,7 +15,7 @@
*
* $Header:$
*/
-package actioninterceptors.interceptme;
+package advanced.actioninterceptors.interceptme;
import org.apache.beehive.netui.pageflow.annotations.Jpf;
import org.apache.beehive.netui.pageflow.PageFlowController;
Modified: beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/nested/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/nested/Controller.java?rev=351894&r1=344396&r2=351894&view=diff
==============================================================================
--- beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/nested/Controller.java (original)
+++ beehive/trunk/samples/netui-samples/web/advanced/actioninterceptors/nested/Controller.java Fri Dec 2 21:34:36 2005
@@ -15,7 +15,7 @@
*
* $Header:$
*/
-package actioninterceptors.nested;
+package advanced.actioninterceptors.nested;
import org.apache.beehive.netui.pageflow.annotations.Jpf;
import org.apache.beehive.netui.pageflow.PageFlowController;
Added: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/advanced/dynaforms/Controller.java?rev=351894&view=auto
==============================================================================
--- beehive/trunk/samples/netui-samples/web/advanced/dynaforms/Controller.java (added)
+++ beehive/trunk/samples/netui-samples/web/advanced/dynaforms/Controller.java Fri Dec 2 21:34:36 2005
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+package advanced.dynaforms;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+import org.apache.struts.action.DynaActionForm;
+
+// Note: the merge file "merge-struts-config-dynaforms.xml" is in this directory
+// mainly to make the example more encapsulated. It could also reside in WEB-INF,
+// and be referenced as "/WEB-INF/merge-struts-config-dynaforms.xml".
+
+@Jpf.Controller(
+ strutsMerge="merge-struts-config-dynaforms.xml",
+ simpleActions={
+ @Jpf.SimpleAction(name="begin", path="input.jsp")
+ }
+)
+public class Controller extends PageFlowController
+{
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="output", path="output.jsp")
+ },
+ // Note: the validation annotations are optional!
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ displayName="The name", // could use displayNameKey for internationalization
+ propertyName="name",
+ validateRequired=@Jpf.ValidateRequired(),
+ validateMinLength=@Jpf.ValidateMinLength(chars=2),
+ validateMask=@Jpf.ValidateMask(regex="^[A-Za-z ]*$")
+ ),
+ @Jpf.ValidatableProperty(
+ displayName="The age", // could use displayNameKey for internationalization
+ propertyName="age",
+ validateRequired=@Jpf.ValidateRequired(),
+ validateRange=@Jpf.ValidateRange(minInt=1, maxInt=150)
+ )
+ },
+ validationErrorForward=@Jpf.Forward(name="failure", path="input.jsp")
+ )
+ public Forward submit(DynaActionForm form)
+ {
+ Forward fwd = new Forward("output");
+ fwd.addActionOutput( "name", form.get( "name" ) );
+ fwd.addActionOutput( "age", form.get( "age" ) );
+ return fwd;
+ }
+}
Propchange: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/Controller.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/input.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/advanced/dynaforms/input.jsp?rev=351894&view=auto
==============================================================================
--- beehive/trunk/samples/netui-samples/web/advanced/dynaforms/input.jsp (added)
+++ beehive/trunk/samples/netui-samples/web/advanced/dynaforms/input.jsp Fri Dec 2 21:34:36 2005
@@ -0,0 +1,46 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%>
+<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%>
+
+
+<netui-template:template templatePage="/resources/template/template.jsp">
+ <netui-template:setAttribute name="sampleTitle" value="DynaForms"/>
+ <netui-template:section name="main">
+
+ <p>
+ The form bean for the <code>submit</code> action is a DynaActionForm defined in
+ merge-struts-config-dynaforms.xml. This file contains the form bean definition (notice
+ that the form bean type is <code>org.apache.beehive.netui.pageflow.DynaFormData</code>)
+ and the addition of <code>name="myDynaForm"</code> to the <code>submit</code> action.
+ </p>
+ <p>
+ The merge-struts-config-dynaforms.xml file is merged into the page flow controller
+ through the <code>strutsMerge</code> attribute on <code>@Jpf.Controller</code> in
+ Controller.java.
+ </p>
+ <p>
+ In this sample, we have added validation annotations on the action that apply to
+ properties on the DynaActionForm. This of course is optional.
+ </p>
+
+ <hr/>
+ <netui:form action="submit">
+ <table>
+ <tr>
+ <td>Name (at least 2 chars, only letters/spaces):</td>
+ <td><netui:textBox dataSource="actionForm.name"/></td>
+ <td><span style="color:red"><netui:error key="name"/></span></td>
+ </tr>
+ <tr>
+ <td>Age (must be within the range 1-150):</td>
+ <td><netui:textBox dataSource="actionForm.age"/></td>
+ <td><span style="color:red"><netui:error key="age"/></span></td>
+ </tr>
+ </table>
+ <br/>
+ <netui:button value="submit"/>
+ </netui:form>
+
+ </netui-template:section>
+</netui-template:template>
Propchange: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/input.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/merge-struts-config-dynaforms.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/advanced/dynaforms/merge-struts-config-dynaforms.xml?rev=351894&view=auto
==============================================================================
--- beehive/trunk/samples/netui-samples/web/advanced/dynaforms/merge-struts-config-dynaforms.xml (added)
+++ beehive/trunk/samples/netui-samples/web/advanced/dynaforms/merge-struts-config-dynaforms.xml Fri Dec 2 21:34:36 2005
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!DOCTYPE struts-config PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
+ "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+<struts-config>
+
+ <form-beans>
+ <form-bean name="myDynaForm" type="org.apache.beehive.netui.pageflow.DynaFormData">
+ <form-property name="name" type="java.lang.String"/>
+ <form-property name="age" type="java.lang.String"/>
+ </form-bean>
+ </form-beans>
+ <action-mappings>
+ <action path="/submit" name="myDynaForm"/>
+ </action-mappings>
+
+</struts-config>
Propchange: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/merge-struts-config-dynaforms.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/output.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/advanced/dynaforms/output.jsp?rev=351894&view=auto
==============================================================================
--- beehive/trunk/samples/netui-samples/web/advanced/dynaforms/output.jsp (added)
+++ beehive/trunk/samples/netui-samples/web/advanced/dynaforms/output.jsp Fri Dec 2 21:34:36 2005
@@ -0,0 +1,21 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%>
+<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%>
+
+<netui-data:declarePageInput name="name" type="java.lang.String" required="true"/>
+<netui-data:declarePageInput name="age" type="java.lang.String" required="true"/>
+
+<netui-template:template templatePage="/resources/template/template.jsp">
+ <netui-template:setAttribute name="sampleTitle" value="DynaForms"/>
+ <netui-template:section name="main">
+
+ Name: <b>${pageInput.name}</b>
+ <br/>
+ Age: <b>${pageInput.age}</b>
+ <br/>
+ <br/>
+ <netui:anchor action="begin">start over</netui:anchor>
+
+ </netui-template:section>
+</netui-template:template>
Propchange: beehive/trunk/samples/netui-samples/web/advanced/dynaforms/output.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/samples/netui-samples/web/index.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/samples/netui-samples/web/index.jsp?rev=351894&r1=351893&r2=351894&view=diff
==============================================================================
--- beehive/trunk/samples/netui-samples/web/index.jsp (original)
+++ beehive/trunk/samples/netui-samples/web/index.jsp Fri Dec 2 21:34:36 2005
@@ -31,11 +31,6 @@
<b>NetUI Page Flow Core</b>
<br/>
<dl>
- <dt><netui:anchor href="actioninterceptors/Controller.jpf" value="Action Interceptors"/></dt>
- <dd>Demonstrates Page Flow action interceptors, which can be configured to run before or
- after all actions (or specific actions), and can change an action's destination.</dd>
- </dl>
- <dl>
<dt><netui:anchor href="basicNesting/main/MainFlow.jpf" value="Basic Nested Page Flow"/></dt>
<dd>Demonstrates the most basic nested page flow.</dd>
</dl>
@@ -120,5 +115,17 @@
<dt><netui:anchor href="ui/formintagfile/Controller.jpf" value="JSP Tag File as a Form"/></dt>
<dd>Demonstrates how to use a JSP 2.0 .tag file to contain a NetUI form</dd>
</dl>
+ <br/>
+ <b>Advanced / Specialty</b>
+ <dl>
+ <dt><netui:anchor href="advanced/actioninterceptors/Controller.jpf" value="Action Interceptors"/></dt>
+ <dd>Demonstrates Page Flow action interceptors, which can be configured to run before or
+ after all actions (or specific actions), and can change an action's destination.</dd>
+ </dl>
+ <dl>
+ <dt><netui:anchor href="advanced/dynaforms/Controller.jpf" value="DynaForms"/></dt>
+ <dd>Demonstrates the use of Struts DynaActionForms in page flows</dd>
+ </dl>
+ <br/>
</netui-template:section>
</netui-template:template>