kinman      01/10/03 16:45:02

  Modified:    jasper/src/share/org/apache/jasper/compiler Tag:
                        tomcat_40_branch JspCompiler.java
  Log:
  PR: Bugzilla 3892
  If the name of a .jsp file does not start with a legal Java identifier
  letter, prepend the generated class name with a '$' to make it a legal
  Java id name.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.7.2.1   +5 -0      
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspCompiler.java
  
  Index: JspCompiler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspCompiler.java,v
  retrieving revision 1.7
  retrieving revision 1.7.2.1
  diff -u -r1.7 -r1.7.2.1
  --- JspCompiler.java  2001/09/07 22:51:26     1.7
  +++ JspCompiler.java  2001/10/03 23:45:02     1.7.2.1
  @@ -132,6 +132,11 @@
           int iSep = jsp.lastIndexOf('/') + 1;
           int iEnd = jsp.length();
           StringBuffer modifiedClassName = new StringBuffer(jsp.length() - iSep);
  +     if (!Character.isJavaIdentifierStart(jsp.charAt(iSep))) {
  +         // If the first char is not a legal Java letter or digit,
  +         // prepend a '$'.
  +         modifiedClassName.append('$');
  +     }
           for (int i = iSep; i < iEnd; i++) {
               char ch = jsp.charAt(i);
               if (Character.isLetterOrDigit(ch))
  
  
  


Reply via email to