You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by dm...@apache.org on 2002/11/04 01:26:49 UTC

cvs commit: jakarta-struts/contrib/struts-el/web/exercise-taglib/WEB-INF struts-config.xml

dmkarr      2002/11/03 16:26:48

  Modified:    contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise
                        HtmlSettersAction.java TestBean.java
               contrib/struts-el/web/exercise-taglib html-button.jsp
                        index.jsp
               contrib/struts-el/web/exercise-taglib/WEB-INF
                        struts-config.xml
  Added:       contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise
                        Coord.java
               contrib/struts-el/web/exercise-taglib html-indexed.jsp
                        T1.gif T2.gif
  Log:
  Added new struts-el exercise page to test the "indexed" feature of
  "logic:iterate" and of "text" and "image" (mostly to prove to myself that
  ImageTag was broken in this respect).
  
  Revision  Changes    Path
  1.2       +114 -111  jakarta-struts/contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise/HtmlSettersAction.java
  
  Index: HtmlSettersAction.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise/HtmlSettersAction.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HtmlSettersAction.java	26 Sep 2002 04:54:39 -0000	1.1
  +++ HtmlSettersAction.java	4 Nov 2002 00:26:48 -0000	1.2
  @@ -1,111 +1,114 @@
  -/*
  - * $Header$
  - * $Revision$
  - * $Date$
  - *
  - * ====================================================================
  - *
  - * The Apache Software License, Version 1.1
  - *
  - * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
  - * reserved.
  - *
  - * Redistribution and use in source and binary forms, with or without
  - * modification, are permitted provided that the following conditions
  - * are met:
  - *
  - * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer.
  - *
  - * 2. Redistributions in binary form must reproduce the above copyright
  - *    notice, this list of conditions and the following disclaimer in
  - *    the documentation and/or other materials provided with the
  - *    distribution.
  - *
  - * 3. The end-user documentation included with the redistribution, if
  - *    any, must include the following acknowlegement:
  - *       "This product includes software developed by the
  - *        Apache Software Foundation (http://www.apache.org/)."
  - *    Alternately, this acknowlegement may appear in the software itself,
  - *    if and wherever such third-party acknowlegements normally appear.
  - *
  - * 4. The names "The Jakarta Project", "Struts", and "Apache Software
  - *    Foundation" must not be used to endorse or promote products derived
  - *    from this software without prior written permission. For written
  - *    permission, please contact apache@apache.org.
  - *
  - * 5. Products derived from this software may not be called "Apache"
  - *    nor may "Apache" appear in their names without prior written
  - *    permission of the Apache Group.
  - *
  - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  - * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  - * SUCH DAMAGE.
  - * ====================================================================
  - *
  - * This software consists of voluntary contributions made by many
  - * individuals on behalf of the Apache Software Foundation.  For more
  - * information on the Apache Software Foundation, please see
  - * <http://www.apache.org/>.
  - *
  - */
  -
  -
  -package org.apache.struts.webapp.exercise;
  -
  -
  -import javax.servlet.http.HttpServletRequest;
  -import javax.servlet.http.HttpServletResponse;
  -import org.apache.struts.action.Action;
  -import org.apache.struts.action.ActionForm;
  -import org.apache.struts.action.ActionForward;
  -import org.apache.struts.action.ActionMapping;
  -
  -
  -/**
  - * Do-nothing action that accepts the changes made automatically in our form
  - * bean, and then returns control to the input form (if "Save" was pressed)
  - * or the main menu (if "Cancel" was pressed).
  - *
  - * @author Craig R. McClanahan
  - * @version $Revision$ $Date$
  - */
  -
  -public class HtmlSettersAction extends Action {
  -
  -
  -    /**
  -     * Forward to the input form if "Save" was pressed or the main menu
  -     * if "Cancel" was pressed.
  -     *
  -     * @param mapping The ActionMapping used to select this instance
  -     * @param actionForm The optional ActionForm bean for this request
  -     * @param request The servlet request we are processing
  -     * @param response The servlet response we are creating
  -     *
  -     * @exception Exception if business logic throws an exception
  -     */
  -    public ActionForward execute(ActionMapping mapping,
  -                                 ActionForm form,
  -                                 HttpServletRequest request,
  -                                 HttpServletResponse response)
  -        throws Exception {
  -
  -        if (isCancelled(request))
  -            return (mapping.findForward("index"));
  -        else
  -            return (mapping.findForward("input"));
  -
  -    }
  -
  -
  -}
  +/*
  + * $Header$
  + * $Revision$
  + * $Date$
  + *
  + * ====================================================================
  + *
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowlegement may appear in the software itself,
  + *    if and wherever such third-party acknowlegements normally appear.
  + *
  + * 4. The names "The Jakarta Project", "Struts", and "Apache Software
  + *    Foundation" must not be used to endorse or promote products derived
  + *    from this software without prior written permission. For written
  + *    permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache"
  + *    nor may "Apache" appear in their names without prior written
  + *    permission of the Apache Group.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + *
  + */
  +
  +
  +package org.apache.struts.webapp.exercise;
  +
  +
  +import javax.servlet.http.HttpServletRequest;
  +import javax.servlet.http.HttpServletResponse;
  +import org.apache.struts.action.Action;
  +import org.apache.struts.action.ActionForm;
  +import org.apache.struts.action.ActionForward;
  +import org.apache.struts.action.ActionMapping;
  +import java.util.Map;
  +import java.util.Set;
  +import java.util.Iterator;
  +
  +
  +/**
  + * Do-nothing action that accepts the changes made automatically in our form
  + * bean, and then returns control to the input form (if "Save" was pressed)
  + * or the main menu (if "Cancel" was pressed).
  + *
  + * @author Craig R. McClanahan
  + * @version $Revision$ $Date$
  + */
  +
  +public class HtmlSettersAction extends Action {
  +
  +
  +    /**
  +     * Forward to the input form if "Save" was pressed or the main menu
  +     * if "Cancel" was pressed.
  +     *
  +     * @param mapping The ActionMapping used to select this instance
  +     * @param actionForm The optional ActionForm bean for this request
  +     * @param request The servlet request we are processing
  +     * @param response The servlet response we are creating
  +     *
  +     * @exception Exception if business logic throws an exception
  +     */
  +    public ActionForward execute(ActionMapping mapping,
  +                                 ActionForm form,
  +                                 HttpServletRequest request,
  +                                 HttpServletResponse response)
  +        throws Exception {
  +
  +        if (isCancelled(request))
  +            return (mapping.findForward("index"));
  +        else
  +            return (mapping.findForward("input"));
  +
  +    }
  +
  +
  +}
  
  
  
  1.2       +40 -4     jakarta-struts/contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise/TestBean.java
  
  Index: TestBean.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise/TestBean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestBean.java	26 Sep 2002 04:54:39 -0000	1.1
  +++ TestBean.java	4 Nov 2002 00:26:48 -0000	1.2
  @@ -359,7 +359,14 @@
           stringIndexed[index] = value;
       }
   
  +    private String   indexedStrings[]  =
  +    { "alpha", "beta", "gamma", "delta", "epsilon" };
   
  +    public String[] getIndexedStrings()
  +    {
  +        return (indexedStrings);
  +    }
  +    
       private String stringMultibox[] = new String[0];
   
       public String[] getStringMultibox() {
  @@ -396,7 +403,36 @@
           this.emptyStringProperty = emptyStringProperty;
       }
   
  +    /**
  +     * A list of coordinate objects.
  +     */
  +    private Coord[]  coords   =
  +    { new Coord(0, 0), new Coord(0, 1), new Coord(1, 1), new Coord(2, 0),
  +      new Coord(2, 1) 
  +    };
  +
  +    public  Coord[]  getCoords() { return (coords); }
  +    
  +    public  Coord getCoord(int index) { return (coords[index]); }
  +
  +    public  void  setCoord(int index, Coord coord) { coords[index]   = coord; }
  +
  +    /**
  +     * A list of images.
  +     */
  +    public  String   images[] = {"T1.gif", "T2.gif"};
  +
  +    public  String[] getImages() { return (images); }
  +
  +    private Coord[]  imageCoords = { new Coord(0, 0),  new Coord(0, 0) };
  +
  +    public  Coord[]  getImageCoords() { return (imageCoords); }
  +
  +    public  Coord getImageCoord(int index) { return (imageCoords[index]); }
   
  +    public  void  setImageCoord(int index, Coord coord)
  +    { imageCoords[index] = coord; }
  +    
       /**
        * A property that allows a null value but is still used in a SELECT.
        */
  
  
  
  1.1                  jakarta-struts/contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise/Coord.java
  
  Index: Coord.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-struts/contrib/struts-el/src/exercise-taglib/org/apache/struts/webapp/exercise/Coord.java,v 1.1 2002/11/04 00:26:48 dmkarr Exp $
   * $Revision: 1.1 $
   * $Date: 2002/11/04 00:26:48 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Struts", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */
  
  package org.apache.struts.webapp.exercise;
  
  /**
   * Simple bean to use for testing indexed tags.
   */
  public class Coord implements java.io.Serializable
  {
      private int   x;
      private int   y;
      
      public Coord() {}
      
      public Coord(int x, int y)
      {
          this.x = x;
          this.y = y;
      }
      
      public  int   getX() { return (x); }
      public  int   getY() { return (y); }
  
      public  void  setX(int x) { this.x = x; }
      public  void  setY(int y) { this.y = y; }
  
      public  String   toString()
      { return ("Coord[" + "x=" + x + ";y=" + y + "]"); }
  }
  
  
  
  1.3       +1 -1      jakarta-struts/contrib/struts-el/web/exercise-taglib/html-button.jsp
  
  Index: html-button.jsp
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-el/web/exercise-taglib/html-button.jsp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- html-button.jsp	15 Oct 2002 03:12:41 -0000	1.2
  +++ html-button.jsp	4 Nov 2002 00:26:48 -0000	1.3
  @@ -29,7 +29,7 @@
       <tr>
        <td>
         <logic-el:iterate collection="${pageScope}" id="item">
  -       <html-el:button property="stringProperty" indexed="${!empty pageScope}"/>
  +       <html-el:button property="stringIndexed" indexed="${!empty pageScope}"/>
         </logic-el:iterate>
        </td>
       </tr>
  
  
  
  1.7       +1 -0      jakarta-struts/contrib/struts-el/web/exercise-taglib/index.jsp
  
  Index: index.jsp
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-el/web/exercise-taglib/index.jsp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- index.jsp	1 Nov 2002 04:54:47 -0000	1.6
  +++ index.jsp	4 Nov 2002 00:26:48 -0000	1.7
  @@ -29,6 +29,7 @@
   <li><a href="html-input.jsp">&lt;html:input&gt;</a>[<a href="showSource.jsp?path=/html-input.jsp">Source</a>]</li>
   <li><a href="html-select.jsp">&lt;html:select&gt;</a>[<a href="showSource.jsp?path=/html-select.jsp">Source</a>]</li>
   <li><a href="html-setters.jsp">Scalar Setters</a>[<a href="showSource.jsp?path=/html-setters.jsp">Source</a>]</li>
  +<li><a href="html-indexed.jsp">Indexed Tags</a>[<a href="showSource.jsp?path=/html-indexed.jsp">Source</a>]</li>
   </ul>
   
   <h3>LOGIC Tags</h3>
  
  
  
  1.1                  jakarta-struts/contrib/struts-el/web/exercise-taglib/html-indexed.jsp
  
  Index: html-indexed.jsp
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <%@ page language="java"%>
  <%@ taglib uri="/WEB-INF/struts-bean-el.tld" prefix="bean-el" %>
  <%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html-el" %>
  <%@ taglib uri="/WEB-INF/struts-logic-el.tld" prefix="logic-el" %>
  <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
  <html-el:html>
   <head>
    <title>Test indexed HTML tags</title>
   </head>
   <body bgcolor="white">
    <div align="center">
    <h1>Test indexed HTML tags</h1>
    </div>
  
    <html-el:form action="html-indexed.do">
     <table>
      <logic-el:iterate collection="${testbean.coords}"
                        id="coord" indexId="ctr">
       <tr>
        <td>
         X:<html-el:text name="coord" property="x" indexed="true"/>
        </td>
        <td>
         Y:<html-el:text name="coord" property="y" indexed="true"/>
        </td>
       </tr>
      </logic-el:iterate>
      <tr>
       <td>
        <html-el:submit property="submitValue">
         Submit Changes
        </html-el:submit>
       </td>
      </tr>
     </table>
     (
     <logic-el:iterate collection="${testbean.coords}"
                       id="coord" indexId="ctr">
      [<c:out value="${coord.x}"/>,<c:out value="${coord.y}"/>]
     </logic-el:iterate>
     )
     <table>
      <tr>
       <logic-el:iterate collection="${testbean.images}" id="image" indexId="ctr">
        <td>
         <html-el:image src="${image}" property="imageCoords" indexed="true"/>
        </td>
       </logic-el:iterate>
      </tr>
      <tr>
       <logic-el:iterate collection="${testbean.imageCoords}" id="coord"
                         indexId="ctr">
        <td>
         (<c:out value="${coord.x}"/>,<c:out value="${coord.y}"/>)
        </td>
       </logic-el:iterate>
      </tr>
     </table>
    </html-el:form>
   </body>
  </html-el:html>
  
  
  
  1.1                  jakarta-struts/contrib/struts-el/web/exercise-taglib/T1.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-struts/contrib/struts-el/web/exercise-taglib/T2.gif
  
  	<<Binary file>>
  
  
  1.5       +7 -0      jakarta-struts/contrib/struts-el/web/exercise-taglib/WEB-INF/struts-config.xml
  
  Index: struts-config.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/contrib/struts-el/web/exercise-taglib/WEB-INF/struts-config.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- struts-config.xml	1 Nov 2002 04:54:47 -0000	1.4
  +++ struts-config.xml	4 Nov 2002 00:26:48 -0000	1.5
  @@ -97,6 +97,13 @@
              validate="false">
         <forward name="success"                path="/bean-dyna.jsp"/>
       </action>
  +    <action    path="/html-indexed"
  +				   type="org.apache.struts.webapp.exercise.HtmlSettersAction"
  +               name="testbean"
  +              scope="session"
  +           validate="false">
  +      <forward name="input"                path="/html-indexed.jsp"/>
  +    </action>
     </action-mappings>
   
     <message-resources
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>