You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by gv...@apache.org on 2005/11/22 23:24:00 UTC

svn commit: r348272 - in /struts/shale/trunk: clay-plugin/src/conf/ clay-plugin/src/java/org/apache/shale/clay/component/ clay-plugin/src/java/org/apache/shale/clay/component/chain/ clay-plugin/src/java/org/apache/shale/clay/config/ clay-plugin/src/jav...

Author: gvanmatre
Date: Tue Nov 22 14:23:39 2005
New Revision: 348272

URL: http://svn.apache.org/viewcvs?rev=348272&view=rev
Log:
Changed the manage bean name symbol to have a consistent delimiter with the other symbols.  Modified the symbol replacement to handle an empty or null value.

Modified:
    struts/shale/trunk/clay-plugin/src/conf/clay-config.xml
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/Clay.java
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayXmlParser.java
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/faces/ClayViewHandler.java
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/taglib/ClayTag.java
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate1.html
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate2.html
    struts/shale/trunk/use-cases/src/java/org/apache/shale/usecases/rolodex/Rolodex.java
    struts/shale/trunk/use-cases/src/web/WEB-INF/clay-config.xml
    struts/shale/trunk/use-cases/src/web/rolodex/hrolodex.html
    struts/shale/trunk/use-cases/src/web/rolodex/xhrolodex.html

Modified: struts/shale/trunk/clay-plugin/src/conf/clay-config.xml
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/conf/clay-config.xml?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/conf/clay-config.xml (original)
+++ struts/shale/trunk/clay-plugin/src/conf/clay-config.xml Tue Nov 22 14:23:39 2005
@@ -51,6 +51,9 @@
         <set name="styleClass" value="@class"/>
 
       </attributes>
+      <symbols>
+        <set name="class"/>
+      </symbols>
    </component>
    
    
@@ -552,7 +555,7 @@
     <attributes>
       <set name="rendered" bindingType="VB" />    
       <set name="clayJsfid" bindingType="VB" value="RUNTIME"/>
-      <set name="managedBeanName" bindingType="VB"/>
+      <set name="managedBeanName" bindingType="Early"/>
       <set name="shapeValidator" bindingType="None"/> 
     </attributes>
   </component>	

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/Clay.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/Clay.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/Clay.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/Clay.java Tue Nov 22 14:23:39 2005
@@ -123,14 +123,6 @@
      */
     private String jsfid = null;
     
-    /**
-     * <p>
-     * The logical name used to access a managed bean. The value will be replace
-     * all occurrences of "managed-bean-name" in the binding component attribute
-     * expressions.
-     * </p>
-     */
-    private String managedBeanName = null;
     
     /**
      * <p>
@@ -219,29 +211,21 @@
     /**
      * <p>
      * Returns the logical bean name that replaces any occurance of
-     * "managed-bean-name" within a binding expression.
+     * "@managed-bean-name" within a binding expression.
      * </p>
      */
     public String getManagedBeanName() {
-       
-        if(managedBeanName != null)
-            return managedBeanName;
-        ValueBinding valuebinding = getValueBinding("managedBeanName");
-        if(valuebinding != null)
-            return (String)valuebinding.getValue(getFacesContext());
-        else
-            return null;
-
+        return (String) symbols.get(Globals.MANAGED_BEAN_MNEMONIC);
     }
     
     /**
      * <p>
      * Sets the logical bean name that replaces any occurrences of
-     * "managed-bean-name" within a binding expression.
+     * "@managed-bean-name" within a binding expression.
      * </p>
      */
     public void setManagedBeanName(String mbeanMnemonic) {
-        this.managedBeanName = mbeanMnemonic;
+        symbols.put(Globals.MANAGED_BEAN_MNEMONIC, mbeanMnemonic);
     }
     
     /**
@@ -299,11 +283,10 @@
                 ClayContext clayContext = new ClayContext();
                 
                 Map symbolTable = new TreeMap();
-                symbolTable.put(Globals.MANAGED_BEAN_MNEMONIC, getManagedBeanName());
                 symbolTable.putAll(getSymbols());
                 clayContext.setSymbols(symbolTable);
 
-                //resolve the literal "managed-bean-name"
+                //resolve the literal "@managed-bean-name"
                 String expr = AbstractCommand.replaceMnemonic(clayContext, getShapeValidator());
                 Class[] methodSignature = {
                         javax.faces.context.FacesContext.class,
@@ -450,10 +433,9 @@
         super.restoreState(context, aobj[0]);
         
         jsfid = ((String) aobj[1]);
-        managedBeanName = ((String) aobj[2]);
-        shapeValidator = ((String) aobj[3]);
-        displayElementRoot = ((ComponentBean) aobj[4]);
-        symbols = ((Map) aobj[5]); 
+        shapeValidator = ((String) aobj[2]);
+        displayElementRoot = ((ComponentBean) aobj[3]);
+        symbols = ((Map) aobj[4]); 
         
     }
     
@@ -465,13 +447,12 @@
      * @see javax.faces.component.StateHolder#saveState(javax.faces.context.FacesContext)
      */
     public Object saveState(FacesContext context) {
-        Object[] aobj = new Object[6];
+        Object[] aobj = new Object[5];
         aobj[0] = super.saveState(context);
         aobj[1] = jsfid;
-        aobj[2] = managedBeanName;
-        aobj[3] = shapeValidator;
-        aobj[4] = displayElementRoot;
-        aobj[5] = symbols;
+        aobj[2] = shapeValidator;
+        aobj[3] = displayElementRoot;
+        aobj[4] = symbols;
         
         return aobj;
     }

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java Tue Nov 22 14:23:39 2005
@@ -102,7 +102,7 @@
         while (si.hasNext()) {
             Map.Entry e = (Map.Entry) si.next();
             String key = (String) e.getKey();
-            String value = (String) e.getValue();
+            String value = (String) (e.getValue() == null ? "" : e.getValue());
             int i = 0;
             while (i <= (buff.length() - key.length())) {
                 String token = buff.substring(i, i + key.length());

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java Tue Nov 22 14:23:39 2005
@@ -90,8 +90,6 @@
             symbolTable.putAll(clayContext.getSymbols());
             symbolTable.putAll(childDisplayElement.getSymbols());
             if (parent instanceof Clay) {
-                if (((Clay) parent).getManagedBeanName() != null)
-                   symbolTable.put(Globals.MANAGED_BEAN_MNEMONIC, ((Clay) parent).getManagedBeanName());
                 symbolTable.putAll(((Clay) parent).getSymbols());
             }
 

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java Tue Nov 22 14:23:39 2005
@@ -85,7 +85,11 @@
 
         // replace all symbols returning the target attribute value       
         String expr = replaceMnemonic(clayContext);
-
+        
+        //exit if null or empty string
+        if (expr == null || expr.length() == 0)
+           return isFinal;
+        
         //when using the html templating, javascript and css will have matching curly braces {}.
         //and pound sign # too.  
         int pound = -1;

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayXmlParser.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayXmlParser.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayXmlParser.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayXmlParser.java Tue Nov 22 14:23:39 2005
@@ -120,7 +120,7 @@
            if (b != null && attributes != null) {
                  String key = attributes.getValue("name");
                  String value = attributes.getValue("value");
-                 if (name != null && value != null) {
+                 if (name != null) {
                     StringBuffer tmp = new StringBuffer(key);
                     if (tmp.charAt(0) != '@')
                       tmp.insert(0, '@');

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java Tue Nov 22 14:23:39 2005
@@ -30,7 +30,7 @@
      * mapped ViewController bean before the expression is evaluated.
      *</p>
      */
-    public static final String MANAGED_BEAN_MNEMONIC = "managed-bean-name";
+    public static final String MANAGED_BEAN_MNEMONIC = "@managed-bean-name";
     
     /**
      *<p>Name of the initialization param in the web deployment descriptor

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/faces/ClayViewHandler.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/faces/ClayViewHandler.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/faces/ClayViewHandler.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/faces/ClayViewHandler.java Tue Nov 22 14:23:39 2005
@@ -418,7 +418,7 @@
     }    
     
     /**
-     * <p>Returns the managed-bean-name the view controller is registered under.  The
+     * <p>Returns the "@managed-bean-name" the view controller is registered under.  The
      * assumed mapping will be the same as in core Shale.</p>
      */
     protected String getManagedBeanName(FacesContext context, String viewId) {

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/taglib/ClayTag.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/taglib/ClayTag.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/taglib/ClayTag.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/taglib/ClayTag.java Tue Nov 22 14:23:39 2005
@@ -39,7 +39,7 @@
     
     /**
      * <p>The name of the managed bean instance in the faces configuration file that
-     * should be bound to this view composition.  The literal "managed-bean-name"
+     * should be bound to this view composition.  The literal "@managed-bean-name"
      * in the component metadata will be replaced with this value before the
      * binding of the expression is created.
      * </p>

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java Tue Nov 22 14:23:39 2005
@@ -214,7 +214,7 @@
              new Object[] {"street1","javax.faces.HtmlOutputText", null, null, 
                      new Object[] {new String[] {"size", "35"}, 
                                    new String[] {"maxlength", "50"},
-                                   new String[] {"value", "#{managed-bean-name.address1}"},  
+                                   new String[] {"value", "#{@managed-bean-name.address1}"},  
                                    new String[] {"required", "true"}}
              , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}                      
              },  
@@ -232,7 +232,7 @@
              new Object[] {"street2","javax.faces.HtmlInputText", null, null, 
                      new Object[] {new String[] {"size", "35"}, 
                         new String[] {"maxlength", "50"},
-                        new String[] {"value", "#{managed-bean-name.address2}"},  
+                        new String[] {"value", "#{@managed-bean-name.address2}"},  
                         new String[] {"required", "true"}}
              , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}                      
              },  
@@ -244,8 +244,8 @@
             new Object[] {"zip","javax.faces.HtmlInputText", null, null, 
                      new Object[] {new String[] {"size", "5"}, 
                         new String[] {"maxlength", "9"},
-                        new String[] {"value", "#{managed-bean-name.zip}"},  
-                        new String[] {"valueChangeListener", "#{managed-bean-name.zipValueChange}"}}
+                        new String[] {"value", "#{@managed-bean-name.zip}"},  
+                        new String[] {"valueChangeListener", "#{@managed-bean-name.zipValueChange}"}}
             , new Integer[] {new Integer(1), new Integer(0), new Integer(1), new Integer(0), new Integer(1)}                      
             }, 
             new Object[] {"integerConverter","javax.faces.Integer", null, null, 
@@ -263,8 +263,8 @@
             },
             new Object[] {"saveCommand","javax.faces.HtmlCommandButton", null, null, 
                      new Object[] {new String[] {"value", "Save"}, 
-                        new String[] {"action", "#{managed-bean-name.save}"},
-                        new String[] {"actionListener", "#{managed-bean-name.saveAction}"}}  
+                        new String[] {"action", "#{@managed-bean-name.save}"},
+                        new String[] {"actionListener", "#{@managed-bean-name.saveAction}"}}  
             , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(1), new Integer(0)}                      
              },
             new Object[] {"testActionListener","org.apache.shale.clay.config.TestActionListener", null, null, 
@@ -287,7 +287,7 @@
              new Object[] {"street1","javax.faces.HtmlInputText", null, null, 
                      new Object[] {new String[] {"size", "45"}, 
                                    new String[] {"maxlength", "50"},
-                                   new String[] {"value", "#{managed-bean-name.address1}"},  
+                                   new String[] {"value", "#{@managed-bean-name.address1}"},  
                                    new String[] {"required", "true"}}
              , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}
              },  
@@ -305,7 +305,7 @@
             new Object[] {"street2","javax.faces.HtmlInputText", null, null, 
                      new Object[] {new String[] {"size", "45"}, 
                         new String[] {"maxlength", "50"},
-                        new String[] {"value", "#{managed-bean-name.address2}"},  
+                        new String[] {"value", "#{@managed-bean-name.address2}"},  
                         new String[] {"required", "true"}}
             , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}
             },  
@@ -317,8 +317,8 @@
             new Object[] {"zip","javax.faces.HtmlInputText", null, null, 
                      new Object[] {new String[] {"size", "9"}, 
                         new String[] {"maxlength", "9"},
-                        new String[] {"value", "#{managed-bean-name.zip}"},  
-                        new String[] {"valueChangeListener", "#{managed-bean-name.zipValueChange}"}}
+                        new String[] {"value", "#{@managed-bean-name.zip}"},  
+                        new String[] {"valueChangeListener", "#{@managed-bean-name.zipValueChange}"}}
             , new Integer[] {new Integer(1), new Integer(0), new Integer(1), new Integer(0), new Integer(1)}
             }, 
             new Object[] {"integerConverter","javax.faces.Integer", null, null, 
@@ -336,8 +336,8 @@
             },
             new Object[] {"saveCommand","javax.faces.HtmlCommandButton", null, null, 
                      new Object[] {new String[] {"value", "Save"}, 
-                        new String[] {"action", "#{managed-bean-name.save}"},
-                        new String[] {"actionListener", "#{managed-bean-name.saveAction}"}}  
+                        new String[] {"action", "#{@managed-bean-name.save}"},
+                        new String[] {"actionListener", "#{@managed-bean-name.saveAction}"}}  
             , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(1), new Integer(0)}
             },
             new Object[] {"testActionListener","org.apache.shale.clay.config.TestActionListener", null, null, 
@@ -658,6 +658,45 @@
            isFinal = command.execute(clayContext);
            assertEquals("command finished", isFinal, true);       
            assertEquals("value = 10", child.getValue(), "10");
+
+           
+           // test a symbol value with a null value
+           child = (javax.faces.component.html.HtmlOutputText) facesContext.getApplication().createComponent("javax.faces.HtmlOutputText"); 
+           assertNotNull("javax.faces.HtmlOutputText", child);
+
+           displayElement.addSymbol("@value", null);
+           attr.setBindingType(AttributeBean.BINDING_TYPE_EARLY);
+          
+           clayContext.setFacesContext(facesContext);
+           clayContext.setChild(child);
+           clayContext.setAttribute(attr);
+           clayContext.setDisplayElement(displayElement);
+           // normally done in the AssignChildrenCommand
+           clayContext.setSymbols(displayElement.getSymbols());
+           
+           isFinal = command.execute(clayContext);
+           assertEquals("command finished", isFinal, true);       
+           assertEquals("value = null", child.getValue(), null);
+
+
+           // test a symbol value with an empty value 
+           child = (javax.faces.component.html.HtmlOutputText) facesContext.getApplication().createComponent("javax.faces.HtmlOutputText"); 
+           assertNotNull("javax.faces.HtmlOutputText", child);
+
+           displayElement.addSymbol("@value", "");
+           attr.setBindingType(AttributeBean.BINDING_TYPE_EARLY);
+          
+           clayContext.setFacesContext(facesContext);
+           clayContext.setChild(child);
+           clayContext.setAttribute(attr);
+           clayContext.setDisplayElement(displayElement);
+           // normally done in the AssignChildrenCommand
+           clayContext.setSymbols(displayElement.getSymbols());
+           
+           isFinal = command.execute(clayContext);
+           assertEquals("command finished", isFinal, true);       
+           assertEquals("value = null", child.getValue(), null);
+
            
            
     }
@@ -738,7 +777,7 @@
             }
         }
         
-        
+               
     }
 
     

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml Tue Nov 22 14:23:39 2005
@@ -16,7 +16,7 @@
 	</component>
 	<component jsfid="baseMessage" extends="message" allowBody="false">
 	   <attributes>
-	       <set name="style" value="color:red"/>
+	       <set name="style" value="color:red"/>	       
 	   </attributes>
 	</component>
 	
@@ -28,7 +28,7 @@
 	</component>				
 	<component jsfid="city" extends="inputText" id="city"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.city}" />		
+		      <set name="value" value="#{@managed-bean-name.city}" />		
 			  <set name="size" value="20" />
 			  <set name="maxlength" value="30" />
 			  <set name="required" value="true" />
@@ -49,7 +49,7 @@
 	</component>				
 	<component jsfid="state" extends="selectOneMenu" id="state"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.state}" />
+	      <set name="value" value="#{@managed-bean-name.state}" />
 		  <set name="required" value="true" />	      
  	   </attributes>
  
@@ -81,10 +81,10 @@
 	</component>					
 	<component jsfid="zip" id="zip" extends="inputText"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.zip}" />
+	      <set name="value" value="#{@managed-bean-name.zip}" />
 		  <set name="maxlength" value="9" />
 		  <set name="size" value="5"/>
-		  <set name="valueChangeListener" value="#{managed-bean-name.zipValueChange}" />
+		  <set name="valueChangeListener" value="#{@managed-bean-name.zipValueChange}" />
 		</attributes>
 	
 		<converter jsfid="integerConverter" />
@@ -120,7 +120,7 @@
 	</component>				
 	<component jsfid="street1" extends="streetInput" id="street1"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.address1}" />		
+		   <set name="value" value="#{@managed-bean-name.address1}" />		
 		   <set name="required" value="true"  />		
 		</attributes>
 	</component>
@@ -139,7 +139,7 @@
 	</component>				
 	<component jsfid="street2" extends="streetInput" id="street2"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.address2}" />		
+		   <set name="value" value="#{@managed-bean-name.address2}" />		
 		   <set name="required" value="true"  />		
 		</attributes>
 	</component>
@@ -153,8 +153,8 @@
     <component jsfid="saveCommand" extends="commandButton"> 
 	   <attributes>
 	      <set name="value" value="Save" />		
-		  <set name="action" value="#{managed-bean-name.save}"  />	
-		  <set name="actionListener" value="#{managed-bean-name.saveAction}"  />			   	
+		  <set name="action" value="#{@managed-bean-name.save}"  />	
+		  <set name="actionListener" value="#{@managed-bean-name.saveAction}"  />			   	
 	   </attributes>
 	   <actionListener jsfid="testActionListener" />
     </component>
@@ -240,9 +240,13 @@
     <component jsfid="baseSymbolLabel" extends="outputLabel" allowBody="false">
 	   <attributes>
 	       <set name="style" value="@mystyle"/>
+	       <set name="styleClass" value="@class"/>
+	       <set name="size" value="@size"/>
 	   </attributes>
 	   <symbols>
 	       <set name="mystyle" value="color:blue"/>
+	       <set name="class"/>	       
+	       <set name="size"/>	       	       
 	   </symbols>
 	   	   
 	</component>

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate1.html
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate1.html?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate1.html (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate1.html Tue Nov 22 14:23:39 2005
@@ -1,3 +1,3 @@
-<input id=street1 value="#{managed-bean-name.street1}" type=text size=45>
-<input id=street1 value="#{managed-bean-name.street1}" type=text size=45>
+<input id=street1 value="#{@managed-bean-name.street1}" type=text size=45>
+<input id=street1 value="#{@managed-bean-name.street1}" type=text size=45>
 

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate2.html
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate2.html?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate2.html (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/duplicate2.html Tue Nov 22 14:23:39 2005
@@ -1,13 +1,13 @@
-<input id=street1 value="#{managed-bean-name.street1}" type=text size=45>
+<input id=street1 value="#{@managed-bean-name.street1}" type=text size=45>
 <form>
-    <input id=street1 value="#{managed-bean-name.street1}" type=text size=45>
+    <input id=street1 value="#{@managed-bean-name.street1}" type=text size=45>
     <span jsfid="clay" allowBody="true">
-       <input id=street1 value="#{managed-bean-name.street1}" type=text size=45>
+       <input id=street1 value="#{@managed-bean-name.street1}" type=text size=45>
     </span>
     <span jsfid="subview" allowBody="true">
-       <input id=street1 value="#{managed-bean-name.street1}" type=text size=45>    
-       <input id=@myId value="#{managed-bean-name.street1}" type=text size=45> 
-       <input id=@myId value="#{managed-bean-name.street1}" type=text size=45>    
+       <input id=street1 value="#{@managed-bean-name.street1}" type=text size=45>    
+       <input id=@myId value="#{@managed-bean-name.street1}" type=text size=45> 
+       <input id=@myId value="#{@managed-bean-name.street1}" type=text size=45>    
       
     </span>
 </form>

Modified: struts/shale/trunk/use-cases/src/java/org/apache/shale/usecases/rolodex/Rolodex.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/java/org/apache/shale/usecases/rolodex/Rolodex.java?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/java/org/apache/shale/usecases/rolodex/Rolodex.java (original)
+++ struts/shale/trunk/use-cases/src/java/org/apache/shale/usecases/rolodex/Rolodex.java Tue Nov 22 14:23:39 2005
@@ -139,7 +139,7 @@
         // add a action method binding event when the link is clicked
         attr = new AttributeBean();
         attr.setName("action");
-        attr.setValue("#{managed-bean-name.changeTab}");
+        attr.setValue("#{@managed-bean-name.changeTab}");
         link.addAttribute(attr);
 
         // create a parameter
@@ -321,9 +321,9 @@
             root.addChild(createVerbatimMetadata("<li id=\"", context));
 
             root.addChild(createVerbatimMetadata("nav-sel",
-                    "#{managed-bean-name.selectedTab == " + i + "}", context));
+                    "#{@managed-bean-name.selectedTab == " + i + "}", context));
             root.addChild(createVerbatimMetadata("nav",
-                    "#{managed-bean-name.selectedTab != " + i + "}", context));
+                    "#{@managed-bean-name.selectedTab != " + i + "}", context));
 
             root.addChild(createVerbatimMetadata("\">", context));
             root.addChild(createCommandLinkMetadata(item, context));

Modified: struts/shale/trunk/use-cases/src/web/WEB-INF/clay-config.xml
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/web/WEB-INF/clay-config.xml?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/web/WEB-INF/clay-config.xml (original)
+++ struts/shale/trunk/use-cases/src/web/WEB-INF/clay-config.xml Tue Nov 22 14:23:39 2005
@@ -34,7 +34,7 @@
     <element renderId="2" jsfid="commandLink">
       <attributes>
         <set name="value" value="#{e.name}" />
-        <set name="action" value="#{managed-bean-name.selectContact}" />
+        <set name="action" value="#{@managed-bean-name.selectContact}" />
         <set name="immediate" value="true"/>
       </attributes>
 
@@ -50,7 +50,7 @@
 
   <component jsfid="contactTable" extends="dataTable" allowBody="false">
     <attributes>
-      <set name="value" value="#{managed-bean-name.contactsForTab}"/>
+      <set name="value" value="#{@managed-bean-name.contactsForTab}"/>
       <set name="var"   value="e"/>
       <set name="rows"  value="100"/> 
       <set name="first"  value="0"/> 
@@ -83,7 +83,7 @@
 	</component>				
 	<component jsfid="city" extends="inputText" id="city"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.city}" />		
+		      <set name="value" value="#{@managed-bean-name.city}" />		
 			  <set name="size" value="20" />
 			  <set name="maxlength" value="30" />
 			  <set name="required" value="true" />
@@ -104,7 +104,7 @@
 	</component>				
 	<component jsfid="province" extends="inputText" id="province"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.province}" />		
+		      <set name="value" value="#{@managed-bean-name.province}" />		
 			  <set name="size" value="20" />
 			  <set name="maxlength" value="30" />
 			  <set name="required" value="false" />
@@ -125,7 +125,7 @@
 	</component>				
 	<component jsfid="state" extends="selectOneMenu" id="state" allowBody="false"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.state}" />
+	      <set name="value" value="#{@managed-bean-name.state}" />
 		  <set name="required" value="true" />	      
  	   </attributes>
  
@@ -152,7 +152,7 @@
 	</component>				
 	<component jsfid="country" extends="selectOneMenu" id="country"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.country}" />
+	      <set name="value" value="#{@managed-bean-name.country}" />
 		  <set name="required" value="true" />	      
  	   </attributes>
  
@@ -179,7 +179,7 @@
 	</component>					
 	<component jsfid="zip" id="zip" extends="inputText"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.zip}" />
+	      <set name="value" value="#{@managed-bean-name.zip}" />
 		  <set name="maxlength" value="9" />
 		  <set name="size" value="5"/>
 		</attributes>	
@@ -208,7 +208,7 @@
 	</component>				
 	<component jsfid="street1" extends="streetInput" id="street1"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.street1}" />		
+		   <set name="value" value="#{@managed-bean-name.street1}" />		
 		   <set name="required" value="false"  />		
 		</attributes>
 	</component>
@@ -227,7 +227,7 @@
 	</component>				
 	<component jsfid="street2" extends="streetInput" id="street2"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.street2}" />		
+		   <set name="value" value="#{@managed-bean-name.street2}" />		
 		   <set name="required" value="false"  />		
 		</attributes>
 	</component>
@@ -248,7 +248,7 @@
     <component jsfid="saveCommand" extends="baseCommand"> 
 	   <attributes>
 	      <set name="value" value="#{messages['rolodex.button.save']}" />		
-		  <set name="action" value="#{managed-bean-name.saveContact}"  />	
+		  <set name="action" value="#{@managed-bean-name.saveContact}"  />	
 	   </attributes>
     </component>
 
@@ -256,7 +256,7 @@
     <component jsfid="deleteCommand" extends="baseCommand"> 
 	   <attributes>
 	      <set name="value" value="#{messages['rolodex.button.delete']}" />		
-		  <set name="action" value="#{managed-bean-name.deleteContact}"  />	
+		  <set name="action" value="#{@managed-bean-name.deleteContact}"  />	
 	   </attributes>
     </component>
 
@@ -271,7 +271,7 @@
 	</component>				
 	<component jsfid="name" extends="inputText" id="name"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.name}" />		
+		      <set name="value" value="#{@managed-bean-name.name}" />		
 			  <set name="size" value="40" />
 			  <set name="maxlength" value="50" />
 			  <set name="required" value="true" />
@@ -292,7 +292,7 @@
 	</component>				
 	<component jsfid="email" extends="inputText" id="email"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.email}" />		
+		      <set name="value" value="#{@managed-bean-name.email}" />		
 			  <set name="size" value="30" />
 			  <set name="maxlength" value="50" />
 			  <set name="required" value="false" />
@@ -313,7 +313,7 @@
 	</component>				
 	<component jsfid="residentialPhone" extends="inputText" id="residentialPhone"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.residentialPhone}" />		
+		      <set name="value" value="#{@managed-bean-name.residentialPhone}" />		
 			  <set name="required" value="false" />
 		   </attributes>
 	</component>
@@ -332,7 +332,7 @@
 	</component>				
 	<component jsfid="businessPhone" extends="inputText" id="businessPhone"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.businessPhone}" />		
+		      <set name="value" value="#{@managed-bean-name.businessPhone}" />		
 			  <set name="required" value="false" />
 		   </attributes>
 	</component>
@@ -434,20 +434,20 @@
 		<element renderId="0" jsfid="baseCommand"> 
 	      <attributes>
 	         <set name="value" value="#{messages['rolodex.button.new']}" />		
-		     <set name="action" value="#{managed-bean-name.newContact}"  />	
+		     <set name="action" value="#{@managed-bean-name.newContact}"  />	
              <set name="immediate" value="true"/>    
 	      </attributes>
         </element>
 
 		<element renderId="1" jsfid="saveCommand">
 		   <attributes>
-              <set name="rendered" value="#{!empty managed-bean-name.selectedContact}"/>
+              <set name="rendered" value="#{!empty @managed-bean-name.selectedContact}"/>
 		   </attributes>
         </element>  
 
 		<element renderId="2" jsfid="deleteCommand">
 		   <attributes>
-              <set name="rendered" value="#{!empty managed-bean-name.selectedContact}"/>
+              <set name="rendered" value="#{!empty @managed-bean-name.selectedContact}"/>
 		   </attributes>
         </element>
 
@@ -473,15 +473,15 @@
 		<attributes>
             <set name="jsfid" value="RUNTIME"/>
             <set name="managedBeanName" value="rolodex$hrolodex"/>
-            <set name="shapeValidator" value="#{managed-bean-name.createTabs}"/> 
+            <set name="shapeValidator" value="#{@managed-bean-name.createTabs}"/> 
 		</attributes>
     </component>	
 
     <!-- submit button to save a contact -->
     <component jsfid="contactSaveCommand" extends="commandButton"> 
 	   <attributes>
-		  <set name="action" value="#{managed-bean-name.saveContact}"/>	
-          <set name="rendered" value="#{!empty managed-bean-name.selectedContact}"/>
+		  <set name="action" value="#{@managed-bean-name.saveContact}"/>	
+          <set name="rendered" value="#{!empty @managed-bean-name.selectedContact}"/>
 	      <set name="value" value="#{messages['rolodex.button.save']}" />
 	   </attributes>
     </component>
@@ -489,8 +489,8 @@
     <!-- submit button to delete a contact -->
     <component jsfid="contactDeleteCommand" extends="commandButton"> 
 	   <attributes>
-		  <set name="action" value="#{managed-bean-name.deleteContact}"/>
-          <set name="rendered" value="#{!empty managed-bean-name.selectedContact}"/>	
+		  <set name="action" value="#{@managed-bean-name.deleteContact}"/>
+          <set name="rendered" value="#{!empty @managed-bean-name.selectedContact}"/>	
 	      <set name="value" value="#{messages['rolodex.button.delete']}" />
 	   </attributes>
     </component>
@@ -498,7 +498,7 @@
     <!-- submit button to new a contact -->
     <component jsfid="contactNewCommand" extends="commandButton"> 
 	   <attributes>
-		  <set name="action" value="#{managed-bean-name.newContact}"  />	
+		  <set name="action" value="#{@managed-bean-name.newContact}"  />	
           <set name="immediate" value="true"/>    
 	      <set name="value" value="#{messages['rolodex.button.new']}" />
 	   </attributes>
@@ -514,7 +514,7 @@
 	</component>				
 	<component jsfid="contactName" extends="inputText" id="contactName"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.selectedContact.name}" />		
+		      <set name="value" value="#{@managed-bean-name.selectedContact.name}" />		
 			  <set name="required" value="true" />
 		   </attributes>
 	</component>
@@ -533,7 +533,7 @@
 	</component>				
 	<component jsfid="contactEmail" extends="inputText" id="contactEmail"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.selectedContact.email}" />		
+		      <set name="value" value="#{@managed-bean-name.selectedContact.email}" />		
 			  <set name="required" value="false" />
 		   </attributes>
 	</component>
@@ -552,7 +552,7 @@
 	</component>				
 	<component jsfid="residentialCity" extends="inputText" id="residentialCity"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.selectedContact.residentialAddress.city}" />		
+		      <set name="value" value="#{@managed-bean-name.selectedContact.residentialAddress.city}" />		
 			  <set name="required" value="true" />
 		   </attributes>
 	</component>
@@ -572,7 +572,7 @@
 	</component>				
 	<component jsfid="businessCity" extends="inputText" id="businessCity"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.selectedContact.businessAddress.city}" />		
+		      <set name="value" value="#{@managed-bean-name.selectedContact.businessAddress.city}" />		
 			  <set name="required" value="true" />
 		   </attributes>
 	</component>
@@ -592,7 +592,7 @@
 	</component>				
 	<component jsfid="residentialStreet1" extends="inputText" id="residentialStreet1"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.selectedContact.residentialAddress.street1}" />		
+		   <set name="value" value="#{@managed-bean-name.selectedContact.residentialAddress.street1}" />		
 		   <set name="required" value="false"  />		
 		</attributes>
 	</component>
@@ -611,7 +611,7 @@
 	</component>				
 	<component jsfid="businessStreet1" extends="inputText" id="businessStreet1"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.selectedContact.businessAddress.street1}" />		
+		   <set name="value" value="#{@managed-bean-name.selectedContact.businessAddress.street1}" />		
 		   <set name="required" value="false"  />		
 		</attributes>
 	</component>
@@ -631,7 +631,7 @@
 	</component>				
 	<component jsfid="residentialStreet2" extends="inputText" id="residentialStreet2"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.selectedContact.residentialAddress.street2}" />		
+		   <set name="value" value="#{@managed-bean-name.selectedContact.residentialAddress.street2}" />		
 		   <set name="required" value="false"  />		
 		</attributes>
 	</component>
@@ -650,7 +650,7 @@
 	</component>				
 	<component jsfid="businessStreet2" extends="inputText" id="businessStreet2"> 
         <attributes>
-		   <set name="value" value="#{managed-bean-name.selectedContact.businessAddress.street2}" />		
+		   <set name="value" value="#{@managed-bean-name.selectedContact.businessAddress.street2}" />		
 		   <set name="required" value="false"  />		
 		</attributes>
 	</component>
@@ -670,7 +670,7 @@
 	</component>				
 	<component jsfid="residentialState" extends="selectOneMenu" id="residentialState" allowBody="false"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.selectedContact.residentialAddress.state}" />
+	      <set name="value" value="#{@managed-bean-name.selectedContact.residentialAddress.state}" />
 		  <set name="required" value="true" />	      
  	   </attributes>
  
@@ -696,7 +696,7 @@
 	</component>				
 	<component jsfid="businessState" extends="selectOneMenu" id="businessState" allowBody="false"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.selectedContact.businessAddress.state}" />
+	      <set name="value" value="#{@managed-bean-name.selectedContact.businessAddress.state}" />
 		  <set name="required" value="true" />	      
  	   </attributes>
  
@@ -722,7 +722,7 @@
 	</component>					
 	<component jsfid="residentialZip" id="residentialZip" extends="inputText"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.selectedContact.residentialAddress.zip}" />
+	      <set name="value" value="#{@managed-bean-name.selectedContact.residentialAddress.zip}" />
 		</attributes>	
 		<converter jsfid="integerConverter" />
 	</component> 
@@ -741,7 +741,7 @@
 	</component>					
 	<component jsfid="businessZip" id="businessZip" extends="inputText"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.selectedContact.businessAddress.zip}" />
+	      <set name="value" value="#{@managed-bean-name.selectedContact.businessAddress.zip}" />
 		</attributes>	
 		<converter jsfid="integerConverter" />
 	</component> 
@@ -762,7 +762,7 @@
 	</component>				
 	<component jsfid="contactResidentialPhone" extends="inputText" id="contactResidentialPhone"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.selectedContact.residentialPhone}" />		
+		      <set name="value" value="#{@managed-bean-name.selectedContact.residentialPhone}" />		
 			  <set name="required" value="false" />
 		   </attributes>
 	</component>
@@ -781,7 +781,7 @@
 	</component>				
 	<component jsfid="contactBusinessPhone" extends="inputText" id="contactBusinessPhone"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.selectedContact.businessPhone}" />		
+		      <set name="value" value="#{@managed-bean-name.selectedContact.businessPhone}" />		
 			  <set name="required" value="false" />
 		   </attributes>
 	</component>
@@ -801,7 +801,7 @@
 	</component>				
 	<component jsfid="businessProvince" extends="inputText" id="businessProvince"> 
 		   <attributes>
-		      <set name="value" value="#{managed-bean-name.selectedContact.businessAddress.province}" />		
+		      <set name="value" value="#{@managed-bean-name.selectedContact.businessAddress.province}" />		
 			  <set name="required" value="false" />
 		   </attributes>
 	</component>
@@ -821,7 +821,7 @@
 	</component>				
 	<component jsfid="businessCountry" extends="selectOneMenu" id="businessCountry" allowBody="false"> 
        <attributes>
-	      <set name="value" value="#{managed-bean-name.selectedContact.businessAddress.country}" />
+	      <set name="value" value="#{@managed-bean-name.selectedContact.businessAddress.country}" />
 		  <set name="required" value="true" />	      
  	   </attributes>
  

Modified: struts/shale/trunk/use-cases/src/web/rolodex/hrolodex.html
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/web/rolodex/hrolodex.html?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/web/rolodex/hrolodex.html (original)
+++ struts/shale/trunk/use-cases/src/web/rolodex/hrolodex.html Tue Nov 22 14:23:39 2005
@@ -158,9 +158,9 @@
         </table>
      </td>
      <td>             
-        <input styleClass="button" class="button" class="button" type="submit" jsfid="contactSaveCommand"><br>
-        <input styleClass="button" class="button" type="submit" jsfid="contactDeleteCommand"><br>
-        <input styleClass="button" class="button" type="submit" jsfid="contactNewCommand"><br>     
+        <input class="button" type="submit" jsfid="contactSaveCommand"><br>
+        <input class="button" type="submit" jsfid="contactDeleteCommand"><br>
+        <input class="button" type="submit" jsfid="contactNewCommand"><br>     
      </td>
     </tr>
     <tr>

Modified: struts/shale/trunk/use-cases/src/web/rolodex/xhrolodex.html
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/web/rolodex/xhrolodex.html?rev=348272&r1=348271&r2=348272&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/web/rolodex/xhrolodex.html (original)
+++ struts/shale/trunk/use-cases/src/web/rolodex/xhrolodex.html Tue Nov 22 14:23:39 2005
@@ -110,7 +110,7 @@
 <body class="section-1">
 <form id="rolodex">
 <a jsfid=commandLink action=home allowBody=true immediate=true>Back</a><br><br>
-<span jsfid="clay" allowBody="false" managedBeanName="rolodex$xhrolodex" shapeValidator="#{managed-bean-name.createTabs}">
+<span jsfid="clay" allowBody="false" managedBeanName="rolodex$xhrolodex" shapeValidator="#{@managed-bean-name.createTabs}">
 <ul id="menu">
    <li id="nav"><a href="#">Tab 1</a></li>
    <li id="nav-sel"><a href="#">Tab 2</a></li>
@@ -121,12 +121,12 @@
 <table border="0">
    <tr>
       <td rowspan="3">
-              <table jsfid="dataTable" class="contacts" styleClass="contacts" value="#{managed-bean-name.contactsForTab}" var="e" rows="100" first="0" headerClass="contactsHeader" rowClasses="contactsRow1, contactsRow2" allowBody="true">
-                  <tbody id="name" jsfid="column" styleClass="contactsHeader" allowBody="true">
+              <table jsfid="dataTable" class="contacts" value="#{@managed-bean-name.contactsForTab}" var="e" rows="100" first="0" headerClass="contactsHeader" rowClasses="contactsRow1, contactsRow2" allowBody="true">
+                  <tbody id="name" jsfid="column" class="contactsHeader" allowBody="true">
                      <th jsfid="outputText" facetName="header"  allowBody="false" value="#{messages['rolodex.contactTable.nameColumn.title']}">
                            Contacts
                      </th>
-                     <tr jsfid="commandLink" value="#{e.name}" action="#{managed-bean-name.selectContact}" immediate="true" allowBody="true">
+                     <tr jsfid="commandLink" value="#{e.name}" action="#{@managed-bean-name.selectContact}" immediate="true" allowBody="true">
                           <td jsfid="param" name="selectedName" value="#{e.encodedName}" allowBody="false">
                               <a href="#">ABC Company</a>
                           </td>
@@ -140,23 +140,23 @@
         
         <table border="0">
           <tr>
-              <td><label id="contactNameLabel" style="color:#99CC66" styleClass="color:#99CC66" allowBody="false" for="contactName" value="#{messages['rolodex.name']}">Name:</label></td>
-              <td><input id="contactName" type=text size="40" maxlength="50" value="#{managed-bean-name.selectedContact.name}" required="true"></td>
-              <td><span id="contactNameMessage" style="color:red" styleClass="color:red" jsfid="message" allowBody="false" for="contactName">Mock Error Name</span></td>
+              <td><label id="contactNameLabel" style="color:#99CC66"  allowBody="false" for="contactName" value="#{messages['rolodex.name']}">Name:</label></td>
+              <td><input id="contactName" type=text size="40" maxlength="50" value="#{@managed-bean-name.selectedContact.name}" required="true"></td>
+              <td><span id="contactNameMessage" style="color:red" jsfid="message" allowBody="false" for="contactName">Mock Error Name</span></td>
           </tr>
           <tr>
-              <td><label id=contactEmailLabel style="color:#99CC66" styleClass="color:#99CC66" allowBody="false" for="contactEmail" value="#{messages['rolodex.email']}">Email:</label></td>
-              <td><input type=text size="30" maxlength="50" id="contactEmail" value="#{managed-bean-name.selectedContact.email}" required=false></td>
-              <td><span  id="contactEmailMessage" style="color:red" styleClass="color:red" jsfid="message" allowBody="false" for="contactEmail">Mock Error Email</span></td>
+              <td><label id=contactEmailLabel style="color:#99CC66" allowBody="false" for="contactEmail" value="#{messages['rolodex.email']}">Email:</label></td>
+              <td><input type=text size="30" maxlength="50" id="contactEmail" value="#{@managed-bean-name.selectedContact.email}" required=false></td>
+              <td><span  id="contactEmailMessage" style="color:red" jsfid="message" allowBody="false" for="contactEmail">Mock Error Email</span></td>
           </tr>
         </table>
        
      </td>
      <td>    
                  
-        <input styleClass="button" class="button" class="button" type="submit" action="#{managed-bean-name.saveContact}" rendered="#{!empty managed-bean-name.selectedContact}" value="#{messages['rolodex.button.save']}"><br>
-        <input styleClass="button" class="button" type="submit" action="#{managed-bean-name.deleteContact}" rendered="#{!empty managed-bean-name.selectedContact}" value="#{messages['rolodex.button.delete']}"><br>
-        <input styleClass="button" class="button" type="submit" action="#{managed-bean-name.newContact}" immediate="true" value="#{messages['rolodex.button.new']}"><br> 
+        <input class="button" class="button" type="submit" action="#{@managed-bean-name.saveContact}" rendered="#{!empty @managed-bean-name.selectedContact}" value="#{messages['rolodex.button.save']}"><br>
+        <input class="button" type="submit" action="#{@managed-bean-name.deleteContact}" rendered="#{!empty @managed-bean-name.selectedContact}" value="#{messages['rolodex.button.delete']}"><br>
+        <input class="button" type="submit" action="#{@managed-bean-name.newContact}" immediate="true" value="#{messages['rolodex.button.new']}"><br> 
            
      </td>
     </tr>
@@ -169,22 +169,22 @@
            </tr>
            <tr>
                 <td><label style="color:#99CC66"  allowBody="false" for="residentialStreet1" value="#{messages['rolodex.address.street1']}">Address 1:</label></td>
-                <td><input id=residentialStreet1 value="#{managed-bean-name.selectedContact.residentialAddress.street1}" required="false" type=text size="35" maxlength="50"></td>
+                <td><input id=residentialStreet1 value="#{@managed-bean-name.selectedContact.residentialAddress.street1}" required="false" type=text size="35" maxlength="50"></td>
                 <td><span style="color:red"  jsfid="message" allowBody="false" for="residentialStreet1">Mock Error Address 1</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66"   for=residentialStreet2 value="#{messages['rolodex.address.street2']}" allowBody="false">Address 2:</label></td>
-                <td><input id="residentialStreet2" type=text size="35" maxlength="50" required="false" value="#{managed-bean-name.selectedContact.residentialAddress.street2}"></td>
+                <td><input id="residentialStreet2" type=text size="35" maxlength="50" required="false" value="#{@managed-bean-name.selectedContact.residentialAddress.street2}"></td>
                 <td><span style="color:red" jsfid="message" for=residentialStreet2 allowBody=false>Mock Error Address 2</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66"  allowBody="false" for="residentialCity" value="#{messages['rolodex.address.city']}">City:</label></td>
-                <td><input id="residentialCity" type=text size="20" maxlength="30" value="#{managed-bean-name.selectedContact.residentialAddress.city}" required=true></td>
+                <td><input id="residentialCity" type=text size="20" maxlength="30" value="#{@managed-bean-name.selectedContact.residentialAddress.city}" required=true></td>
                 <td><span style="color:red"  jsfid="message" allowBody="false" for="residentialCity">Mock Error City</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66"  for=residentialState value="#{messages['rolodex.address.state']}" allowBody="false">State:</label></td>
-                <td><select id="residentialState" value="#{managed-bean-name.selectedContact.residentialAddress.state}" required=true allowBody=true>
+                <td><select id="residentialState" value="#{@managed-bean-name.selectedContact.residentialAddress.state}" required=true allowBody=true>
                        <option value="#{rolodexDao.states}"/>
                     </select>
                 </td>
@@ -192,12 +192,12 @@
            </tr>
            <tr>
                 <td><label style="color:#99CC66" for="residentialZip allowBody=false value="#{messages['rolodex.address.zip']}">Zip:</label></td>
-                <td><input id="residentialZip" type=text size="5" maxlength="9" value="#{managed-bean-name.selectedContact.residentialAddress.zip}" converter="javax.faces.Integer"></td>
+                <td><input id="residentialZip" type=text size="5" maxlength="9" value="#{@managed-bean-name.selectedContact.residentialAddress.zip}" converter="javax.faces.Integer"></td>
                 <td><span style="color:red" jsfid=message for="residentialZip" allowBody=false>Mock Error Zip</span></td>
            </tr>  
            <tr>
                 <td><label style="color:#99CC66" for="contactResidentialPhone" allowBody=false value="#{messages['rolodex.address.phone']}">Phone:</label></td>
-                <td><input id="contactResidentialPhone" type=text size="20" maxlength="50" value="#{managed-bean-name.selectedContact.residentialPhone}"/></td>
+                <td><input id="contactResidentialPhone" type=text size="20" maxlength="50" value="#{@managed-bean-name.selectedContact.residentialPhone}"/></td>
                 <td><span style="color:red" jsfid=message for="contactResidentialPhone" allowBody="false" >Mock Error Phone</span></td>
            </tr>
            <tr>
@@ -217,22 +217,22 @@
            </tr>
            <tr>
                 <td><label style="color:#99CC66" for=businessStreet1 allowBody=false value="#{messages['rolodex.address.street1']}">Address 1:</label></td>
-                <td><input id="businessStreet1" type=text size="35" maxlength="50" value="#{managed-bean-name.selectedContact.businessAddress.street1}" required=false></td>
+                <td><input id="businessStreet1" type=text size="35" maxlength="50" value="#{@managed-bean-name.selectedContact.businessAddress.street1}" required=false></td>
                 <td><span style="color:red" for="businessStreet1" allowBody=false jsfid=message>Mock Error Address 1</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66" for=businessStreet2 value="#{messages['rolodex.address.street2']}" allowBody=false>Address 2:</label></td>
-                <td><input id="businessStreet2" type=text size="35" maxlength="50" required=false value="#{managed-bean-name.selectedContact.businessAddress.street2}"></td>
+                <td><input id="businessStreet2" type=text size="35" maxlength="50" required=false value="#{@managed-bean-name.selectedContact.businessAddress.street2}"></td>
                 <td><span style="color:red" for="businessStreet2" allowBody=false jsfid=message>Mock Error Address 2</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66" for="businessCity" allowBody=false value="#{messages['rolodex.address.city']}">City:</label></td>
-                <td><input id="businessCity" type=text size="20" maxlength="30" value="#{managed-bean-name.selectedContact.businessAddress.city}" required=true></td>
+                <td><input id="businessCity" type=text size="20" maxlength="30" value="#{@managed-bean-name.selectedContact.businessAddress.city}" required=true></td>
                 <td><span style="color:red" jsfid=message for="businessCity" allowBody=false>Mock Error City</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66" allowBody=false for="businessState" value="#{messages['rolodex.address.state']}">State:</label></td>
-                <td><select id="businessState" allowBody=true value="#{managed-bean-name.selectedContact.businessAddress.state}" >
+                <td><select id="businessState" allowBody=true value="#{@managed-bean-name.selectedContact.businessAddress.state}" >
                        <option value="#{rolodexDao.states}"/>
                     </select>
                 </td>
@@ -240,17 +240,17 @@
            </tr>
            <tr>
                 <td><label style="color:#99CC66" for="businessProvince" allowBody=false value="#{messages['rolodex.address.province']}">Province:</label></td>
-                <td><input id="businessProvince" type=text size="20" maxlength="30" value="#{managed-bean-name.selectedContact.businessAddress.province}"></td>
+                <td><input id="businessProvince" type=text size="20" maxlength="30" value="#{@managed-bean-name.selectedContact.businessAddress.province}"></td>
                 <td><span style="color:red" jsfid=message for="businessProvince" allowBody=false>Mock Error Province</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66" for="businessZip" allowBody=false value="#{messages['rolodex.address.zip']}">Zip:</label></td>
-                <td><input id="businessZip" type=text size="5" maxlength="9" value="#{managed-bean-name.selectedContact.businessAddress.zip}" converter="javax.faces.Integer"/></td>
+                <td><input id="businessZip" type=text size="5" maxlength="9" value="#{@managed-bean-name.selectedContact.businessAddress.zip}" converter="javax.faces.Integer"/></td>
                 <td><span style="color:red" jsfid=message for="businessZip" allowBody=false>Mock Error Zip</span></td>
            </tr>
            <tr>
                 <td><label style="color:#99CC66" allowBody=false for="businessCountry" value="#{messages['rolodex.address.country']}">Country:</label></td>
-                <td><select id="businessCountry" value="#{managed-bean-name.selectedContact.businessAddress.country}" required=true allowBody=true>
+                <td><select id="businessCountry" value="#{@managed-bean-name.selectedContact.businessAddress.country}" required=true allowBody=true>
                        <option value="#{rolodexDao.countries}"/>
                     </select>
                 </td>
@@ -258,7 +258,7 @@
            </tr>
            <tr>
                 <td><label style="color:#99CC66" for="contactBusinessPhone" allowBody=true>#{messages['rolodex.address.phone']}</label></td>
-                <td><input id="contactBusinessPhone" type="text" size="20" maxlength="50" value="#{managed-bean-name.selectedContact.businessPhone}" required=false/></td>
+                <td><input id="contactBusinessPhone" type="text" size="20" maxlength="50" value="#{@managed-bean-name.selectedContact.businessPhone}" required=false/></td>
                 <td><span style="color:red" for="contactBusinessPhone" allowBody=false jsfid=message>Mock Error Phone</span></td>
            </tr>                    
         </table>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org