You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/03/14 15:46:54 UTC
DO NOT REPLY [Bug 17997] New: -
JspC's webapp switch does not expand package names
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17997>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17997
JspC's webapp switch does not expand package names
Summary: JspC's webapp switch does not expand package names
Product: Tomcat 4
Version: 4.1.18
Platform: All
OS/Version: All
Status: NEW
Severity: Minor
Priority: Other
Component: Jasper
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: saument@yahoo.com
I've noticed that when using JspC with the -webapp
switch with a web application containing code in
subdirectories, JspC places the generated java files
in the correct subdirectory beneath the given output
directory.
For example:
If I run:
JspC -p com.company.myapp
-d ./src/com/company/myapp
-webapp ./jsp/myapp
For file:
myapp/mysubdir/myfile.jsp
this file is generated:
./src/com/company/myapp/mysubdir/myfile_jsp.java
but the package name is still:
com.company.myapp
rather than what I expected:
com.company.myapp.musubdir
This is fine and dandy so long as I don't also have a
file named myfile.jsp in the myapp directory or the
myapp/myothersubdir directory.
Is there a reason that I'm overlooking as to why this
should work this way?
I've applied the following changes to my copy of
JspC.java to discover whether the package name needs
extending similarly to the output directory.
Let me know what you guys think about this change.
thanks,
Stephen Aument
This refers to the JspC in 4.1.12.
522,532d521
< public static String getPackageSuffix( String
jspUri ) {
< StringBuffer suffix = new StringBuffer();
< int lastIndex = jspUri.lastIndexOf( '/' );
< if ( lastIndex > 0 ) {
< suffix.append( "." );
< suffix.append( jspUri.substring( 1,
lastIndex ) );
< }
<
< return suffix.toString();
< }
<
539,540c528
< this.setOutputDir( baseDir
< + jspUri.substring( 0,
jspUri.lastIndexOf( '/' ) ) );
---
> this.setOutputDir( baseDir +
jspUri.substring( 0, jspUri.lastIndexOf( '/' ) ) );
549,564c537,539
<
< /*
< * Here's what's different from the base
class. We generate a
< * tmpTargetPackage name from the
targetPackage and the uri of the
< * jsp page and set that as the servlet
package name.
< */
< String tmpTargetPackage
< = targetPackage +
getPackageSuffix( jspUri );
<
< if (tmpTargetPackage != null) {
<
clctxt.setServletPackageName(tmpTargetPackage);
< }
< /*
< * End of changes.
< */
<
---
> if (targetPackage != null) {
>
clctxt.setServletPackageName(targetPackage);
> }
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org