dgraham     2003/01/16 22:09:17

  Modified:    src/share/org/apache/struts/taglib/html
                        JavascriptValidatorTag.java
  Log:
  Added cdata attribute to javascript tag for xhtml.
  
  Revision  Changes    Path
  1.21      +37 -1     
jakarta-struts/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java
  
  Index: JavascriptValidatorTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- JavascriptValidatorTag.java       16 Jan 2003 03:55:09 -0000      1.20
  +++ JavascriptValidatorTag.java       17 Jan 2003 06:09:17 -0000      1.21
  @@ -1,4 +1,10 @@
   /*
  + * $Header$
  + * $Revision$
  + * $Date$
  + *
  + * ====================================================================
  + *
    * The Apache Software License, Version 1.1
    *
    * Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
  @@ -144,6 +150,11 @@
        * The JavaScript methods will enclosed with html comments if this is set to 
"true".
        */
       protected String htmlComment = "true";
  +    
  +    /**
  +     * Hide JavaScript methods in a CDATA section for XHTML when "true".
  +     */
  +    protected String cdata = "true";
   
       private String htmlBeginComment = "\n<!-- Begin \n";
   
  @@ -515,6 +526,7 @@
           staticJavascript = "true";
           dynamicJavascript = "true";
           htmlComment = "true";
  +        cdata = "true";
           src = null;
       }
   
  @@ -528,6 +540,10 @@
   
           sb.append(this.getStartElement());
           
  +        if (this.isXhtml() && "true".equalsIgnoreCase(this.cdata)) {
  +            sb.append("<![CDATA[\r\n");
  +        }
  +        
           if ("true".equals(htmlComment)) {
               sb.append(htmlBeginComment);
           }
  @@ -589,6 +605,10 @@
               sb.append(htmlEndComment);
           }
           
  +        if (this.isXhtml() && "true".equalsIgnoreCase(this.cdata)) {
  +            sb.append("]]>\r\n");
  +        }
  +        
           sb.append("</script>\n\n");
   
           return sb.toString();
  @@ -669,6 +689,22 @@
               (String) this.pageContext.getAttribute(Globals.XHTML_KEY, 
this.pageContext.PAGE_SCOPE);
   
           return ("true".equalsIgnoreCase(xhtml));
  +    }
  +
  +    /**
  +     * Returns the cdata setting "true" or "false".
  +     * @return String - "true" if JavaScript will be hidden in a CDATA section
  +     */
  +    public String getCdata() {
  +        return cdata;
  +    }
  +
  +    /**
  +     * Sets the cdata status.
  +     * @param cdata The cdata to set
  +     */
  +    public void setCdata(String cdata) {
  +        this.cdata = cdata;
       }
   
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to