Class JspC
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.Task
-
- org.apache.jasper.JspC
-
- All Implemented Interfaces:
java.lang.Cloneable,Options
public class JspC extends org.apache.tools.ant.Task implements Options
Shell for the jspc compiler. Handles all options associated with the command line and creates compilation contexts which it then compiles according to the specified options. This version can process files from a _single_ webapp at once, i.e. a single docbase can be specified. It can be used as an Ant task using:<taskdef classname="org.apache.jasper.JspC" name="jasper" > <classpath> <pathelement location="${java.home}/../lib/tools.jar"/> <fileset dir="${ENV.CATALINA_HOME}/lib"> <include name="*.jar"/> </fileset> <path refid="myjars"/> </classpath> </taskdef> <jasper verbose="0" package="my.package" uriroot="${webapps.dir}/${webapp.name}" webXmlFragment="${build.dir}/generated_web.xml" outputDir="${webapp.dir}/${webapp.name}/WEB-INF/src/my/package" />
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanaddWebXmlMappingsFlag to merge generated mappings into existing web.xml.protected static intALL_WEBXMLWeb.xml generation level for complete web.xml.protected intargPosCurrent position in the command-line arguments array.protected java.lang.String[]argsCommand-line arguments passed to JspC.protected booleanblockExternalFlag to block external entities during XML parsing.protected java.util.Map<java.lang.String,TagLibraryInfo>cacheCache for TagLibraryInfo objects.protected booleancachingFlag to enable tag handler caching.protected booleanclassDebugInfoFlag to include debug information in compiled classes.protected java.lang.StringclassPathClasspath for compiling generated servlets.protected booleancompileFlag to compile JSPs to class files.protected java.lang.StringcompilerCompiler implementation to use.protected java.lang.StringcompilerSourceVMSource Java version for compilation.protected java.lang.StringcompilerTargetVMTarget Java VM version for compilation.protected JspCServletContextcontextThe servlet context.protected static intDEFAULT_DIE_LEVELDefault exit code level when a compilation error occurs.protected intdieLevelExit code level on compilation error.protected booleanerrorOnUseBeanInvalidClassAttributeNeeds better documentation, this data member does.protected java.util.List<java.lang.String>extensionsThe file extensions to be handled as JSP files.protected booleanfailFastFlag to stop on first compilation error.protected booleanfailOnErrorThrow an exception if there's a compilation error, or swallow it.protected static intFRG_WEBXMLWeb.xml generation level for web-fragment.protected booleanfullstopFlag indicating the full stop switch was encountered.protected booleangenStringAsCharArrayFlag to generate string literals as char arrays.protected booleanhelpNeededFlag indicating help was requested.protected static intINC_WEBXMLWeb.xml generation level for include fragment.protected static java.util.Set<java.lang.String>insertBeforeSet of XML elements before which generated content should be inserted.protected java.lang.StringjavaEncodingThe java file encoding.protected JspConfigjspConfigJSP configuration parsed from web.xml.protected static java.lang.StringLIST_ERRORSCommand-line switch for listing errors.protected booleanlistErrorsFlag to list compilation errors.protected java.lang.ClassLoaderloaderClassLoader used for JSP compilation.protected java.io.WritermapoutWriter for the generated web.xml output file.protected booleanmappedFileFlag to use mapped file compilation.protected java.io.CharArrayWritermappingoutBuffer for generated servlet-mapping declarations.protected static intNO_DIE_LEVELExit code level indicating no exit on error.protected java.util.List<java.lang.String>pagesThe pages.protected booleanpoolingEnabledFlag to enable tag handler pooling.protected booleanquoteAttributeELFlag to quote EL expressions in attributes.protected JspRuntimeContextrctxtThe runtime context.protected TldScannerscannerScanner for TLD files in the web application.protected java.io.FilescratchDirScratch directory for generated files.protected java.io.CharArrayWriterservletoutBuffer for generated servlet declarations.protected static java.lang.StringSHOW_SUCCESSCommand-line switch for showing success messages.protected booleanshowSuccessFlag to show success messages.protected booleansmapDumpedFlag to dump SMAP files.protected booleansmapSuppressedFlag to suppress SMAP file generation.protected booleanstrictQuoteEscapingFlag for strict quote escaping in attributes.protected static java.lang.StringSWITCH_ADD_WEBAPP_XML_MAPPINGSCommand-line switch for adding web.xml servlet mappings.protected static java.lang.StringSWITCH_CACHECommand-line switch for enabling/disabling caching.protected static java.lang.StringSWITCH_CLASS_NAMECommand-line switch for setting the generated class name.protected static java.lang.StringSWITCH_CLASSPATHCommand-line switch for setting the classpath.protected static java.lang.StringSWITCH_COMPILECommand-line switch for compiling to class files.protected static java.lang.StringSWITCH_DIECommand-line switch prefix for setting the exit code on error.protected static java.lang.StringSWITCH_DUMP_SMAPCommand-line switch for dumping SMAP files.protected static java.lang.StringSWITCH_ENCODINGCommand-line switch for setting the Java file encoding.protected static java.lang.StringSWITCH_FAIL_FASTCommand-line switch for failing on first error.protected static java.lang.StringSWITCH_FILE_WEBAPPCommand-line switch for setting the web application root.protected static java.lang.StringSWITCH_FULL_STOPCommand-line switch indicating the end of options.protected static java.lang.StringSWITCH_HELPCommand-line switch for displaying help.protected static java.lang.StringSWITCH_MAPPEDCommand-line switch for using mapped file compilation.protected static java.lang.StringSWITCH_NO_BLOCK_EXTERNALCommand-line switch for disabling external entity blocking.protected static java.lang.StringSWITCH_NO_QUOTE_ATTRIBUTE_ELCommand-line switch for disabling EL quoting in attributes.protected static java.lang.StringSWITCH_NO_STRICT_QUOTE_ESCAPINGCommand-line switch for disabling strict quote escaping.protected static java.lang.StringSWITCH_OUTPUT_DIRCommand-line switch for setting the output directory.protected static java.lang.StringSWITCH_PACKAGE_NAMECommand-line switch for setting the package name.protected static java.lang.StringSWITCH_POOLINGCommand-line switch for enabling tag handler pooling.protected static java.lang.StringSWITCH_QUOTE_ATTRIBUTE_ELCommand-line switch for enabling EL quoting in attributes.protected static java.lang.StringSWITCH_SMAPCommand-line switch for generating SMAP files.protected static java.lang.StringSWITCH_SOURCECommand-line switch for setting the Java source version.protected static java.lang.StringSWITCH_TARGETCommand-line switch for setting the Java target version.protected static java.lang.StringSWITCH_THREAD_COUNTCommand-line switch for setting the thread count.protected static java.lang.StringSWITCH_TRIM_SPACESCommand-line switch for trimming whitespace in templates.protected static java.lang.StringSWITCH_URI_BASECommand-line switch for setting the URI base.protected static java.lang.StringSWITCH_URI_ROOTCommand-line switch for setting the URI root.protected static java.lang.StringSWITCH_VALIDATE_TLDCommand-line switch for validating TLD files.protected static java.lang.StringSWITCH_VALIDATE_XMLCommand-line switch for validating XML files.protected static java.lang.StringSWITCH_VERBOSECommand-line switch for enabling verbose output.protected static java.lang.StringSWITCH_WEBAPP_FRGCommand-line switch for generating a web-fragment.xml file.protected static java.lang.StringSWITCH_WEBAPP_INCCommand-line switch for generating a web.xml include file.protected static java.lang.StringSWITCH_WEBAPP_XMLCommand-line switch for generating a complete web.xml file.protected static java.lang.StringSWITCH_WEBAPP_XML_ENCODINGCommand-line switch for setting the web.xml encoding.protected static java.lang.StringSWITCH_XPOWERED_BYCommand-line switch for enabling X-Powered-By header.protected TagPluginManagertagPluginManagerManager for tag plugin optimizations.protected java.lang.StringtargetClassNameTarget class name for a single generated servlet.protected java.lang.StringtargetPackageTarget package for generated servlet classes.protected intthreadCountThe number of threads to use; default is one per coreprotected TldCachetldCacheCache for the TLD locationsprotected TrimSpacesOptiontrimSpacesOption for trimming whitespace in template text.protected java.lang.StringuriBaseBase URI for the web application.protected java.lang.StringuriRootRoot directory of the web application.protected java.lang.StringuseNonstandardTagOptimizationsConfiguration for non-standard tag optimizations.protected booleanvalidateTldFlag to validate TLD files.protected booleanvalidateXmlFlag to validate XML files.protected booleanverboseFlag for verbose output.protected java.lang.StringwebxmlEncodingCharacter encoding for generated web.xml files.protected java.lang.StringwebxmlFileOutput file path for generated web.xml content.protected intwebxmlLevelLevel of web.xml generation (include, fragment, or complete).protected booleanxpoweredByFlag to include X-Powered-By response header.
-
Constructor Summary
Constructors Constructor Description JspC()Creates a new JspC instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddExtension(java.lang.String extension)Adds the given file extension to the list of extensions handled as JSP files.protected voidcompleteWebXml()Writes the accumulated servlet declarations and mappings to the web.xml output, then closes the writer.voidexecute()Executes the compilation.voidgenerateWebMapping(java.lang.String file, JspCompilationContext clctxt)Adds servlet declaration and mapping for the JSP page servlet to the generated web.xml fragment.booleangenStringAsCharArray()Indicates whether text strings are to be generated as char arrays.java.util.Map<java.lang.String,TagLibraryInfo>getCache()The web-application wide cache for the TagLibraryInfo tag library descriptors, used ifOptions.isCaching()returnstrue.intgetCheckInterval()In JspC this always returns0.booleangetClassDebugInfo()Returns whether debug information is included in compiled classes.java.lang.StringgetClassPath()Returns the classpath used by the compiler when compiling generated Servlets.java.lang.StringgetCompiler()Compiler to use.java.lang.StringgetCompilerClassName()Returns the fully qualified class name of the Jasper Java compiler implementation to use.java.lang.StringgetCompilerSourceVM()Returns the source Java VM version for the compiler, such as 1.8.java.lang.StringgetCompilerTargetVM()Returns the target Java VM version for the compiler, such as 1.8.booleangetDevelopment()In JspC this always returnsfalse.booleangetDisplaySourceFragment()In JspC this always returnstrue.booleangetErrorOnUseBeanInvalidClassAttribute()Returns true if Jasper issues a compilation error instead of a runtime Instantiation error if the class attribute specified in useBean action is invalid.java.util.List<java.lang.String>getExtensions()Returns the list of file extensions that are treated as JSP files.booleangetFailOnError()Returns whether an exception will be thrown in case of a compilation error.booleangetFork()The boolean flag to tell Ant whether to fork JSP page compilations.booleangetGeneratedJavaAddTimestamp()Should the container include the time the file was generated in the comments at the start of a Java file generated from a JSP or tag.java.lang.StringgetJavaEncoding()Returns the encoding to use for java files.JspConfiggetJspConfig()Returns the JSP configuration information as specified in the web.xml deployment descriptor.intgetJspIdleTimeout()Returns the idle timeout for JSP unloading.booleangetKeepGenerated()In JspC this always returnstrue.booleangetMappedFile()Returns whether HTML mapped Servlets are supported.intgetMaxLoadedJsps()The maximum number of loaded jsps per web-application.intgetModificationTestInterval()In JspC this always returns0.booleangetQuoteAttributeEL()Returns whether quoting rules from JSP.1.6 are applied to EL expressions in attributes.booleangetRecompileOnFail()In JspC this always returnsfalse.java.io.FilegetScratchDir()Returns the scratch directory used as the work folder for temporary compilation files.booleangetStrictQuoteEscaping()Returns whether strict quote escaping is enabled for scriplet expressions.TagPluginManagergetTagPluginManager()Returns the Tag Plugin Manager used for applying tag plugins during JSP compilation.intgetThreadCount()Returns the number of threads to use for compilation.TldCachegetTldCache()The cache that maps URIs, resource paths and parsed TLD files for the various tag libraries 'exposed' by the web application.TrimSpacesOptiongetTrimSpaces()Returns the option for trimming whitespace-only template text.java.lang.StringgetUseNonstandardTagOptimizations()A string containing a comma-separated list of names to which custom tag implementations should be applied.protected java.lang.ClassLoaderinitClassLoader()Initializes the classloader as/if needed for the given compilation context.protected voidinitServletContext(java.lang.ClassLoader classLoader)Initializes the servlet context, TLD scanner, TLD cache, runtime context, JSP config, and tag plugin manager for compilation.protected voidinitTldScanner(JspCServletContext context, java.lang.ClassLoader classLoader)Initializes the TLD scanner for the given servlet context and class loader.protected voidinitWebXml()Initializes the web.xml output writers based on the configured generation level.booleanisBlockExternal()Returns whether external entity blocking is enabled.booleanisCaching()Returns whether caching is enabled for compiled JSP pages, used for precompilation scenarios.booleanisPoolingEnabled()Returns whether tag handler pooling is enabled for improved performance.booleanisSmapDumped()This setting is ignored if suppressSmap() istrue.booleanisSmapSuppressed()Returns whether generation of SMAP (Source Map for Debugging) information is suppressed.booleanisValidateTld()Returns whether TLD validation is enabled.booleanisValidateXml()Returns whether XML validation is enabled.booleanisXpoweredBy()Returns whether the X-Powered-By response header should be generated in HTTP responses.protected voidlocateUriRoot(java.io.File f)Find the WEB-INF dir by looking up in the directory tree.static voidmain(java.lang.String[] arg)Entry point for the JspC command-line tool.protected voidmergeIntoWebXml()Include the generated web.xml inside the webapp's web.xml.protected TldScannernewTldScanner(JspCServletContext context, boolean namespaceAware, boolean validate, boolean blockExternal)Creates a new TLD scanner instance.protected java.lang.StringnextArg()Returns the next command-line argument.protected java.lang.StringnextFile()Returns the next file argument from the command-line.protected voidprocessFile(java.lang.String file)Processes a single JSP file, compiling it and generating the web.xml mapping.protected java.io.FileresolveFile(java.lang.String s)Resolves the relative or absolute pathname correctly in both Ant and command-line situations.voidscanFiles()Locate all jsp files in the webapp.voidsetAddWebXmlMappings(boolean b)Sets the option to merge generated web.xml fragment into the WEB-INF/web.xml file of the web application that we were processing.voidsetArgs(java.lang.String[] arg)Apply command-line arguments.voidsetBlockExternal(boolean b)Sets the option to block external entities during XML parsing.voidsetCaching(boolean caching)Sets the option to enable caching.voidsetClassDebugInfo(boolean b)Sets the option to include debug information in compiled class.voidsetClassName(java.lang.String p)Class name of the generated file ( without package ).voidsetClassPath(java.lang.String s)Sets the classpath used while compiling the servlets generated from JSP filesvoidsetCompile(boolean b)Sets the compile flag.voidsetCompiler(java.lang.String c)Sets the option to determine what compiler to use.voidsetCompilerSourceVM(java.lang.String vm)Sets the compiler source VM.voidsetCompilerTargetVM(java.lang.String vm)Sets the compiler target VM.voidsetErrorOnUseBeanInvalidClassAttribute(boolean b)Sets the option to issue a compilation error if the class attribute specified in useBean action is invalid.voidsetFailOnError(boolean b)Sets the option that throws an exception in case of a compilation error.voidsetFork(boolean fork)Sets the option to fork a separate process for compilation.voidsetGenStringAsCharArray(boolean genStringAsCharArray)Determines whether text strings are to be generated as char arrays, which improves performance in some cases.voidsetJavaEncoding(java.lang.String encodingName)Sets the encoding to use for java files.voidsetJspFiles(java.lang.String jspFiles)Parses comma-separated list of JSP files to be processed.voidsetListErrors(boolean b)Sets the option to list compilation errors.voidsetMappedFile(boolean b)Sets the option to use mapped file compilation.voidsetOutputDir(java.lang.String s)Sets the output directory for generated files.voidsetPackage(java.lang.String p)Sets the package name to be used for the generated servlet classes.voidsetPoolingEnabled(boolean poolingEnabled)Sets the option to enable the tag handler pooling.voidsetQuoteAttributeEL(boolean b)Sets the option to quote EL expressions in attributes.voidsetSmapDumped(boolean smapDumped)Sets smapDumped flag.voidsetSmapSuppressed(boolean smapSuppressed)Sets smapSuppressed flag.voidsetStrictQuoteEscaping(boolean b)Sets the option for strict quote escaping in attributes.voidsetThreadCount(java.lang.String threadCount)Sets the number of threads to use for compilation.voidsetTrimSpaces(boolean trimSpaces)Sets the trim spaces option for backwards compatibility with 8.5.x.voidsetTrimSpaces(java.lang.String ts)Sets the option to control handling of template text that consists entirely of whitespace.voidsetTrimSpaces(TrimSpacesOption trimSpaces)Sets the option to control handling of template text that consists entirely of whitespace.voidsetUriroot(java.lang.String s)Base dir for the webapp.voidsetUseNonstandardTagOptimizations(java.lang.String useNonstandardTagOptimizations)Sets the set of custom tags to use nonstandard optimizations.voidsetValidateTld(boolean b)Sets the option to validate TLD files.voidsetValidateXml(boolean b)Sets the option to validate XML files.voidsetVerbose(int level)Sets the verbosity level.voidsetWebFragmentXml(java.lang.String s)File where we generate a complete web-fragment.xml with the class definitions.voidsetWebXml(java.lang.String s)File where we generate a complete web.xml with the class definitions.voidsetWebXmlEncoding(java.lang.String encoding)Sets the encoding to be used to read and write web.xml files.voidsetWebXmlInclude(java.lang.String s)File where we generate configuration with the class definitions to be included in a web.xml file.voidsetXpoweredBy(boolean xpoweredBy)Sets the option to enable generation of X-Powered-By response header.-
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
-
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.jasper.Options
getGeneratedJspPackageName, getGeneratedTagFilePackageName, getJspPrecompilationQueryParameter, getJspServletBase, getPoolTagsWithExtends, getServiceMethodName, getServletClasspathAttribute, getStrictGetProperty, getStrictWhitespace, getTempVariableNamePrefix, getUseInstanceManagerForTags, getVariableForExpressionFactory, getVariableForInstanceManager
-
-
-
-
Field Detail
-
SWITCH_VERBOSE
protected static final java.lang.String SWITCH_VERBOSE
Command-line switch for enabling verbose output.- See Also:
- Constant Field Values
-
SWITCH_HELP
protected static final java.lang.String SWITCH_HELP
Command-line switch for displaying help.- See Also:
- Constant Field Values
-
SWITCH_OUTPUT_DIR
protected static final java.lang.String SWITCH_OUTPUT_DIR
Command-line switch for setting the output directory.- See Also:
- Constant Field Values
-
SWITCH_PACKAGE_NAME
protected static final java.lang.String SWITCH_PACKAGE_NAME
Command-line switch for setting the package name.- See Also:
- Constant Field Values
-
SWITCH_CACHE
protected static final java.lang.String SWITCH_CACHE
Command-line switch for enabling/disabling caching.- See Also:
- Constant Field Values
-
SWITCH_CLASS_NAME
protected static final java.lang.String SWITCH_CLASS_NAME
Command-line switch for setting the generated class name.- See Also:
- Constant Field Values
-
SWITCH_FULL_STOP
protected static final java.lang.String SWITCH_FULL_STOP
Command-line switch indicating the end of options.- See Also:
- Constant Field Values
-
SWITCH_COMPILE
protected static final java.lang.String SWITCH_COMPILE
Command-line switch for compiling to class files.- See Also:
- Constant Field Values
-
SWITCH_FAIL_FAST
protected static final java.lang.String SWITCH_FAIL_FAST
Command-line switch for failing on first error.- See Also:
- Constant Field Values
-
SWITCH_SOURCE
protected static final java.lang.String SWITCH_SOURCE
Command-line switch for setting the Java source version.- See Also:
- Constant Field Values
-
SWITCH_TARGET
protected static final java.lang.String SWITCH_TARGET
Command-line switch for setting the Java target version.- See Also:
- Constant Field Values
-
SWITCH_URI_BASE
protected static final java.lang.String SWITCH_URI_BASE
Command-line switch for setting the URI base.- See Also:
- Constant Field Values
-
SWITCH_URI_ROOT
protected static final java.lang.String SWITCH_URI_ROOT
Command-line switch for setting the URI root.- See Also:
- Constant Field Values
-
SWITCH_FILE_WEBAPP
protected static final java.lang.String SWITCH_FILE_WEBAPP
Command-line switch for setting the web application root.- See Also:
- Constant Field Values
-
SWITCH_WEBAPP_INC
protected static final java.lang.String SWITCH_WEBAPP_INC
Command-line switch for generating a web.xml include file.- See Also:
- Constant Field Values
-
SWITCH_WEBAPP_FRG
protected static final java.lang.String SWITCH_WEBAPP_FRG
Command-line switch for generating a web-fragment.xml file.- See Also:
- Constant Field Values
-
SWITCH_WEBAPP_XML
protected static final java.lang.String SWITCH_WEBAPP_XML
Command-line switch for generating a complete web.xml file.- See Also:
- Constant Field Values
-
SWITCH_WEBAPP_XML_ENCODING
protected static final java.lang.String SWITCH_WEBAPP_XML_ENCODING
Command-line switch for setting the web.xml encoding.- See Also:
- Constant Field Values
-
SWITCH_ADD_WEBAPP_XML_MAPPINGS
protected static final java.lang.String SWITCH_ADD_WEBAPP_XML_MAPPINGS
Command-line switch for adding web.xml servlet mappings.- See Also:
- Constant Field Values
-
SWITCH_MAPPED
protected static final java.lang.String SWITCH_MAPPED
Command-line switch for using mapped file compilation.- See Also:
- Constant Field Values
-
SWITCH_XPOWERED_BY
protected static final java.lang.String SWITCH_XPOWERED_BY
Command-line switch for enabling X-Powered-By header.- See Also:
- Constant Field Values
-
SWITCH_TRIM_SPACES
protected static final java.lang.String SWITCH_TRIM_SPACES
Command-line switch for trimming whitespace in templates.- See Also:
- Constant Field Values
-
SWITCH_CLASSPATH
protected static final java.lang.String SWITCH_CLASSPATH
Command-line switch for setting the classpath.- See Also:
- Constant Field Values
-
SWITCH_DIE
protected static final java.lang.String SWITCH_DIE
Command-line switch prefix for setting the exit code on error.- See Also:
- Constant Field Values
-
SWITCH_POOLING
protected static final java.lang.String SWITCH_POOLING
Command-line switch for enabling tag handler pooling.- See Also:
- Constant Field Values
-
SWITCH_ENCODING
protected static final java.lang.String SWITCH_ENCODING
Command-line switch for setting the Java file encoding.- See Also:
- Constant Field Values
-
SWITCH_SMAP
protected static final java.lang.String SWITCH_SMAP
Command-line switch for generating SMAP files.- See Also:
- Constant Field Values
-
SWITCH_DUMP_SMAP
protected static final java.lang.String SWITCH_DUMP_SMAP
Command-line switch for dumping SMAP files.- See Also:
- Constant Field Values
-
SWITCH_VALIDATE_TLD
protected static final java.lang.String SWITCH_VALIDATE_TLD
Command-line switch for validating TLD files.- See Also:
- Constant Field Values
-
SWITCH_VALIDATE_XML
protected static final java.lang.String SWITCH_VALIDATE_XML
Command-line switch for validating XML files.- See Also:
- Constant Field Values
-
SWITCH_NO_BLOCK_EXTERNAL
protected static final java.lang.String SWITCH_NO_BLOCK_EXTERNAL
Command-line switch for disabling external entity blocking.- See Also:
- Constant Field Values
-
SWITCH_NO_STRICT_QUOTE_ESCAPING
protected static final java.lang.String SWITCH_NO_STRICT_QUOTE_ESCAPING
Command-line switch for disabling strict quote escaping.- See Also:
- Constant Field Values
-
SWITCH_QUOTE_ATTRIBUTE_EL
protected static final java.lang.String SWITCH_QUOTE_ATTRIBUTE_EL
Command-line switch for enabling EL quoting in attributes.- See Also:
- Constant Field Values
-
SWITCH_NO_QUOTE_ATTRIBUTE_EL
protected static final java.lang.String SWITCH_NO_QUOTE_ATTRIBUTE_EL
Command-line switch for disabling EL quoting in attributes.- See Also:
- Constant Field Values
-
SWITCH_THREAD_COUNT
protected static final java.lang.String SWITCH_THREAD_COUNT
Command-line switch for setting the thread count.- See Also:
- Constant Field Values
-
SHOW_SUCCESS
protected static final java.lang.String SHOW_SUCCESS
Command-line switch for showing success messages.- See Also:
- Constant Field Values
-
LIST_ERRORS
protected static final java.lang.String LIST_ERRORS
Command-line switch for listing errors.- See Also:
- Constant Field Values
-
INC_WEBXML
protected static final int INC_WEBXML
Web.xml generation level for include fragment.- See Also:
- Constant Field Values
-
FRG_WEBXML
protected static final int FRG_WEBXML
Web.xml generation level for web-fragment.- See Also:
- Constant Field Values
-
ALL_WEBXML
protected static final int ALL_WEBXML
Web.xml generation level for complete web.xml.- See Also:
- Constant Field Values
-
DEFAULT_DIE_LEVEL
protected static final int DEFAULT_DIE_LEVEL
Default exit code level when a compilation error occurs.- See Also:
- Constant Field Values
-
NO_DIE_LEVEL
protected static final int NO_DIE_LEVEL
Exit code level indicating no exit on error.- See Also:
- Constant Field Values
-
insertBefore
protected static final java.util.Set<java.lang.String> insertBefore
Set of XML elements before which generated content should be inserted.
-
classPath
protected java.lang.String classPath
Classpath for compiling generated servlets.
-
loader
protected java.lang.ClassLoader loader
ClassLoader used for JSP compilation.
-
trimSpaces
protected TrimSpacesOption trimSpaces
Option for trimming whitespace in template text.
-
genStringAsCharArray
protected boolean genStringAsCharArray
Flag to generate string literals as char arrays.
-
validateTld
protected boolean validateTld
Flag to validate TLD files.
-
validateXml
protected boolean validateXml
Flag to validate XML files.
-
blockExternal
protected boolean blockExternal
Flag to block external entities during XML parsing.
-
strictQuoteEscaping
protected boolean strictQuoteEscaping
Flag for strict quote escaping in attributes.
-
quoteAttributeEL
protected boolean quoteAttributeEL
Flag to quote EL expressions in attributes.
-
xpoweredBy
protected boolean xpoweredBy
Flag to include X-Powered-By response header.
-
mappedFile
protected boolean mappedFile
Flag to use mapped file compilation.
-
poolingEnabled
protected boolean poolingEnabled
Flag to enable tag handler pooling.
-
scratchDir
protected java.io.File scratchDir
Scratch directory for generated files.
-
targetPackage
protected java.lang.String targetPackage
Target package for generated servlet classes.
-
targetClassName
protected java.lang.String targetClassName
Target class name for a single generated servlet.
-
uriBase
protected java.lang.String uriBase
Base URI for the web application.
-
uriRoot
protected java.lang.String uriRoot
Root directory of the web application.
-
dieLevel
protected int dieLevel
Exit code level on compilation error.
-
helpNeeded
protected boolean helpNeeded
Flag indicating help was requested.
-
compile
protected boolean compile
Flag to compile JSPs to class files.
-
failFast
protected boolean failFast
Flag to stop on first compilation error.
-
smapSuppressed
protected boolean smapSuppressed
Flag to suppress SMAP file generation.
-
smapDumped
protected boolean smapDumped
Flag to dump SMAP files.
-
caching
protected boolean caching
Flag to enable tag handler caching.
-
cache
protected final java.util.Map<java.lang.String,TagLibraryInfo> cache
Cache for TagLibraryInfo objects.
-
compiler
protected java.lang.String compiler
Compiler implementation to use.
-
compilerTargetVM
protected java.lang.String compilerTargetVM
Target Java VM version for compilation.
-
compilerSourceVM
protected java.lang.String compilerSourceVM
Source Java version for compilation.
-
classDebugInfo
protected boolean classDebugInfo
Flag to include debug information in compiled classes.
-
failOnError
protected boolean failOnError
Throw an exception if there's a compilation error, or swallow it. Default is true to preserve old behavior.
-
extensions
protected java.util.List<java.lang.String> extensions
The file extensions to be handled as JSP files. Default list is .jsp and .jspx.
-
pages
protected final java.util.List<java.lang.String> pages
The pages.
-
errorOnUseBeanInvalidClassAttribute
protected boolean errorOnUseBeanInvalidClassAttribute
Needs better documentation, this data member does. True by default.
-
javaEncoding
protected java.lang.String javaEncoding
The java file encoding. Default is UTF-8. Added per bugzilla 19622.
-
threadCount
protected int threadCount
The number of threads to use; default is one per core
-
webxmlFile
protected java.lang.String webxmlFile
Output file path for generated web.xml content.
-
webxmlLevel
protected int webxmlLevel
Level of web.xml generation (include, fragment, or complete).
-
webxmlEncoding
protected java.lang.String webxmlEncoding
Character encoding for generated web.xml files.
-
addWebXmlMappings
protected boolean addWebXmlMappings
Flag to merge generated mappings into existing web.xml.
-
mapout
protected java.io.Writer mapout
Writer for the generated web.xml output file.
-
servletout
protected java.io.CharArrayWriter servletout
Buffer for generated servlet declarations.
-
mappingout
protected java.io.CharArrayWriter mappingout
Buffer for generated servlet-mapping declarations.
-
context
protected JspCServletContext context
The servlet context.
-
rctxt
protected JspRuntimeContext rctxt
The runtime context. Maintain a dummy JspRuntimeContext for compiling tag files.
-
tldCache
protected TldCache tldCache
Cache for the TLD locations
-
jspConfig
protected JspConfig jspConfig
JSP configuration parsed from web.xml.
-
tagPluginManager
protected TagPluginManager tagPluginManager
Manager for tag plugin optimizations.
-
scanner
protected TldScanner scanner
Scanner for TLD files in the web application.
-
verbose
protected boolean verbose
Flag for verbose output.
-
listErrors
protected boolean listErrors
Flag to list compilation errors.
-
showSuccess
protected boolean showSuccess
Flag to show success messages.
-
argPos
protected int argPos
Current position in the command-line arguments array.
-
fullstop
protected boolean fullstop
Flag indicating the full stop switch was encountered.
-
args
protected java.lang.String[] args
Command-line arguments passed to JspC.
-
useNonstandardTagOptimizations
protected java.lang.String useNonstandardTagOptimizations
Configuration for non-standard tag optimizations.
-
-
Method Detail
-
main
public static void main(java.lang.String[] arg)
Entry point for the JspC command-line tool.- Parameters:
arg- Command-line arguments
-
setArgs
public void setArgs(java.lang.String[] arg) throws JasperExceptionApply command-line arguments.- Parameters:
arg- The arguments- Throws:
JasperException- JSPC error
-
getKeepGenerated
public boolean getKeepGenerated()
In JspC this always returnstrue. Returns whether the generated Java source files should be kept after compilation.- Specified by:
getKeepGeneratedin interfaceOptions- Returns:
trueto keep the generated source
-
getTrimSpaces
public TrimSpacesOption getTrimSpaces()
Description copied from interface:OptionsReturns the option for trimming whitespace-only template text.- Specified by:
getTrimSpacesin interfaceOptions- Returns:
TrimSpacesOption.TRUEto remove template text that consists only of whitespace from the output completely,TrimSpacesOption.SINGLEto replace such template text with a single space,TrimSpacesOption.FALSEto leave such template text unchanged orTrimSpacesOption.EXTENDEDto remove template text that consists only of whitespace and to replace any sequence of whitespace and new lines within template text with a single new line.
-
setTrimSpaces
public void setTrimSpaces(TrimSpacesOption trimSpaces)
Sets the option to control handling of template text that consists entirely of whitespace.- Parameters:
trimSpaces- New value
-
setTrimSpaces
public void setTrimSpaces(java.lang.String ts)
Sets the option to control handling of template text that consists entirely of whitespace.- Parameters:
ts- New value
-
setTrimSpaces
public void setTrimSpaces(boolean trimSpaces)
Sets the trim spaces option for backwards compatibility with 8.5.x.- Parameters:
trimSpaces- New value
-
isPoolingEnabled
public boolean isPoolingEnabled()
Description copied from interface:OptionsReturns whether tag handler pooling is enabled for improved performance.- Specified by:
isPoolingEnabledin interfaceOptions- Returns:
trueif tag handler pooling is enabled,falseotherwise.
-
setPoolingEnabled
public void setPoolingEnabled(boolean poolingEnabled)
Sets the option to enable the tag handler pooling.- Parameters:
poolingEnabled- New value
-
isXpoweredBy
public boolean isXpoweredBy()
Description copied from interface:OptionsReturns whether the X-Powered-By response header should be generated in HTTP responses.- Specified by:
isXpoweredByin interfaceOptions- Returns:
trueto generate a X-Powered-By response header.
-
setXpoweredBy
public void setXpoweredBy(boolean xpoweredBy)
Sets the option to enable generation of X-Powered-By response header.- Parameters:
xpoweredBy- New value
-
getDisplaySourceFragment
public boolean getDisplaySourceFragment()
In JspC this always returnstrue. Returns whether a source fragment should be included in exception messages for debugging.- Specified by:
getDisplaySourceFragmentin interfaceOptions- Returns:
trueto include a source fragment in exception messages.
-
getMaxLoadedJsps
public int getMaxLoadedJsps()
Description copied from interface:OptionsThe maximum number of loaded jsps per web-application. If there are more jsps loaded, they will be unloaded. If unset or less than 0, no jsps are unloaded.- Specified by:
getMaxLoadedJspsin interfaceOptions- Returns:
- The JSP count
-
getJspIdleTimeout
public int getJspIdleTimeout()
Description copied from interface:OptionsReturns the idle timeout for JSP unloading.- Specified by:
getJspIdleTimeoutin interfaceOptions- Returns:
- the idle time in seconds after which a JSP is unloaded. If unset or less or equal than 0, no jsps are unloaded.
-
getErrorOnUseBeanInvalidClassAttribute
public boolean getErrorOnUseBeanInvalidClassAttribute()
Description copied from interface:OptionsReturns true if Jasper issues a compilation error instead of a runtime Instantiation error if the class attribute specified in useBean action is invalid.- Specified by:
getErrorOnUseBeanInvalidClassAttributein interfaceOptions- Returns:
trueto get an error
-
setErrorOnUseBeanInvalidClassAttribute
public void setErrorOnUseBeanInvalidClassAttribute(boolean b)
Sets the option to issue a compilation error if the class attribute specified in useBean action is invalid.- Parameters:
b- New value
-
getMappedFile
public boolean getMappedFile()
Description copied from interface:OptionsReturns whether HTML mapped Servlets are supported.- Specified by:
getMappedFilein interfaceOptions- Returns:
trueif HTML mapped Servlets are supported.
-
setMappedFile
public void setMappedFile(boolean b)
Sets the option to use mapped file compilation.- Parameters:
b- New value
-
setClassDebugInfo
public void setClassDebugInfo(boolean b)
Sets the option to include debug information in compiled class.- Parameters:
b- New value
-
getClassDebugInfo
public boolean getClassDebugInfo()
Description copied from interface:OptionsReturns whether debug information is included in compiled classes.- Specified by:
getClassDebugInfoin interfaceOptions- Returns:
trueif debug information in included in compiled classes.
-
isCaching
public boolean isCaching()
Description copied from interface:OptionsReturns whether caching is enabled for compiled JSP pages, used for precompilation scenarios.
-
setCaching
public void setCaching(boolean caching)
Sets the option to enable caching.- Parameters:
caching- New value- See Also:
Options.isCaching()
-
getCache
public java.util.Map<java.lang.String,TagLibraryInfo> getCache()
Description copied from interface:OptionsThe web-application wide cache for the TagLibraryInfo tag library descriptors, used ifOptions.isCaching()returnstrue.Using this cache avoids the cost of repeating the parsing of a tag library descriptor XML file (performed by TagLibraryInfoImpl.parseTLD).
-
getCheckInterval
public int getCheckInterval()
In JspC this always returns0. Returns the interval in seconds at which the background compile thread checks for modified JSP files.- Specified by:
getCheckIntervalin interfaceOptions- Returns:
- background compile thread check interval in seconds
-
getModificationTestInterval
public int getModificationTestInterval()
In JspC this always returns0. Returns the interval in seconds between modification tests for JSP files.- Specified by:
getModificationTestIntervalin interfaceOptions- Returns:
- modification test interval in seconds.
-
getRecompileOnFail
public boolean getRecompileOnFail()
In JspC this always returnsfalse. Returns whether the JSP engine should attempt re-compilation when an initial compilation fails.- Specified by:
getRecompileOnFailin interfaceOptions- Returns:
trueif re-compile will occur on a failure.
-
getDevelopment
public boolean getDevelopment()
In JspC this always returnsfalse. Main development flag, which enables detailed error reports with sources, as well automatic recompilation of JSPs and tag files. This setting should usually befalsewhen running in production.- Specified by:
getDevelopmentin interfaceOptions- Returns:
trueif Jasper is in development mode
-
isSmapSuppressed
public boolean isSmapSuppressed()
Description copied from interface:OptionsReturns whether generation of SMAP (Source Map for Debugging) information is suppressed.- Specified by:
isSmapSuppressedin interfaceOptions- Returns:
trueto suppress generation of SMAP info for JSR45 debugging.
-
setSmapSuppressed
public void setSmapSuppressed(boolean smapSuppressed)
Sets smapSuppressed flag.- Parameters:
smapSuppressed- New value
-
isSmapDumped
public boolean isSmapDumped()
Description copied from interface:OptionsThis setting is ignored if suppressSmap() istrue.- Specified by:
isSmapDumpedin interfaceOptions- Returns:
trueto write SMAP info for JSR45 debugging to a file.
-
setSmapDumped
public void setSmapDumped(boolean smapDumped)
Sets smapDumped flag.- Parameters:
smapDumped- New value- See Also:
Options.isSmapDumped()
-
setGenStringAsCharArray
public void setGenStringAsCharArray(boolean genStringAsCharArray)
Determines whether text strings are to be generated as char arrays, which improves performance in some cases.- Parameters:
genStringAsCharArray- true if text strings are to be generated as char arrays, false otherwise
-
genStringAsCharArray
public boolean genStringAsCharArray()
Description copied from interface:OptionsIndicates whether text strings are to be generated as char arrays.- Specified by:
genStringAsCharArrayin interfaceOptions- Returns:
trueif text strings are to be generated as char arrays,falseotherwise
-
getScratchDir
public java.io.File getScratchDir()
Description copied from interface:OptionsReturns the scratch directory used as the work folder for temporary compilation files.- Specified by:
getScratchDirin interfaceOptions- Returns:
- the work folder
-
getCompiler
public java.lang.String getCompiler()
Description copied from interface:OptionsCompiler to use.If
null(the default), the java compiler from Eclipse JDT project, bundled with Tomcat, will be used. Otherwise, thejavactask from Apache Ant will be used to call an external java compiler and the value of this option will be passed to it. See Apache Ant documentation for the possible values.- Specified by:
getCompilerin interfaceOptions- Returns:
- the compiler name
-
setCompiler
public void setCompiler(java.lang.String c)
Sets the option to determine what compiler to use.- Parameters:
c- New value- See Also:
Options.getCompiler()
-
getCompilerClassName
public java.lang.String getCompilerClassName()
Description copied from interface:OptionsReturns the fully qualified class name of the Jasper Java compiler implementation to use.- Specified by:
getCompilerClassNamein interfaceOptions- Returns:
- Jasper Java compiler class to use.
-
getCompilerTargetVM
public java.lang.String getCompilerTargetVM()
Description copied from interface:OptionsReturns the target Java VM version for the compiler, such as 1.8.- Specified by:
getCompilerTargetVMin interfaceOptions- Returns:
- the compiler target VM, e.g. 1.8.
-
setCompilerTargetVM
public void setCompilerTargetVM(java.lang.String vm)
Sets the compiler target VM.- Parameters:
vm- New value- See Also:
Options.getCompilerTargetVM()
-
getCompilerSourceVM
public java.lang.String getCompilerSourceVM()
Description copied from interface:OptionsReturns the source Java VM version for the compiler, such as 1.8.- Specified by:
getCompilerSourceVMin interfaceOptions- Returns:
- the compiler source VM, e.g. 1.8.
-
setCompilerSourceVM
public void setCompilerSourceVM(java.lang.String vm)
Sets the compiler source VM.- Parameters:
vm- New value- See Also:
Options.getCompilerSourceVM()
-
getTldCache
public TldCache getTldCache()
Description copied from interface:OptionsThe cache that maps URIs, resource paths and parsed TLD files for the various tag libraries 'exposed' by the web application. A tag library is 'exposed' either explicitly in web.xml or implicitly via the uri tag in the TLD of a taglib deployed in a jar file (WEB-INF/lib).- Specified by:
getTldCachein interfaceOptions- Returns:
- the instance of the TldCache for the web-application.
-
getJavaEncoding
public java.lang.String getJavaEncoding()
Returns the encoding to use for java files. The default is UTF-8.- Specified by:
getJavaEncodingin interfaceOptions- Returns:
- String The encoding
-
setJavaEncoding
public void setJavaEncoding(java.lang.String encodingName)
Sets the encoding to use for java files.- Parameters:
encodingName- The name, e.g. "UTF-8"
-
getFork
public boolean getFork()
Description copied from interface:OptionsThe boolean flag to tell Ant whether to fork JSP page compilations.Is used only when Jasper uses an external java compiler (wrapped through a
javacApache Ant task).
-
setFork
public void setFork(boolean fork)
Sets the option to fork a separate process for compilation.- Parameters:
fork- New value
-
getClassPath
public java.lang.String getClassPath()
Description copied from interface:OptionsReturns the classpath used by the compiler when compiling generated Servlets.- Specified by:
getClassPathin interfaceOptions- Returns:
- the classpath used to compile generated Servlets
-
setClassPath
public void setClassPath(java.lang.String s)
Sets the classpath used while compiling the servlets generated from JSP files- Parameters:
s- New value
-
getExtensions
public java.util.List<java.lang.String> getExtensions()
Returns the list of file extensions that are treated as JSP files.- Returns:
- The list of extensions
-
addExtension
protected void addExtension(java.lang.String extension)
Adds the given file extension to the list of extensions handled as JSP files.- Parameters:
extension- The extension to add, e.g. "myjsp"
-
setUriroot
public void setUriroot(java.lang.String s)
Base dir for the webapp. Used to generate class names and resolve includes.- Parameters:
s- New value
-
setJspFiles
public void setJspFiles(java.lang.String jspFiles)
Parses comma-separated list of JSP files to be processed. If the argument is null, nothing is done.Each file is interpreted relative to uriroot, unless it is absolute, in which case it must start with uriroot.
- Parameters:
jspFiles- Comma-separated list of JSP files to be processed
-
setCompile
public void setCompile(boolean b)
Sets the compile flag.- Parameters:
b- Flag value
-
setVerbose
public void setVerbose(int level)
Sets the verbosity level. The actual number doesn't matter: if it's greater than zero, the verbose flag will be true.- Parameters:
level- Positive means verbose
-
setValidateTld
public void setValidateTld(boolean b)
Sets the option to validate TLD files.- Parameters:
b- New value
-
isValidateTld
public boolean isValidateTld()
Returns whether TLD validation is enabled.- Returns:
trueif TLD validation is enabled
-
setValidateXml
public void setValidateXml(boolean b)
Sets the option to validate XML files.- Parameters:
b- New value
-
isValidateXml
public boolean isValidateXml()
Returns whether XML validation is enabled.- Returns:
trueif XML validation is enabled
-
setBlockExternal
public void setBlockExternal(boolean b)
Sets the option to block external entities during XML parsing.- Parameters:
b- New value
-
isBlockExternal
public boolean isBlockExternal()
Returns whether external entity blocking is enabled.- Returns:
trueif external entity blocking is enabled
-
setStrictQuoteEscaping
public void setStrictQuoteEscaping(boolean b)
Sets the option for strict quote escaping in attributes.- Parameters:
b- New value
-
getStrictQuoteEscaping
public boolean getStrictQuoteEscaping()
Description copied from interface:OptionsReturns whether strict quote escaping is enabled for scriplet expressions.- Specified by:
getStrictQuoteEscapingin interfaceOptions- Returns:
trueif the quote escaping required by section JSP.1.6 of the JSP specification should be applied to scriplet expression.
-
setQuoteAttributeEL
public void setQuoteAttributeEL(boolean b)
Sets the option to quote EL expressions in attributes.- Parameters:
b- New value
-
getQuoteAttributeEL
public boolean getQuoteAttributeEL()
Description copied from interface:OptionsReturns whether quoting rules from JSP.1.6 are applied to EL expressions in attributes.- Specified by:
getQuoteAttributeELin interfaceOptions- Returns:
trueif EL expressions used within attributes should have the quoting rules in JSP.1.6 applied to the expression.
-
getThreadCount
public int getThreadCount()
Returns the number of threads to use for compilation.- Returns:
- the thread count
-
setThreadCount
public void setThreadCount(java.lang.String threadCount)
Sets the number of threads to use for compilation. Accepts an integer value or a multiplier suffix 'C' for cores (e.g., "2C" means twice the available processors).- Parameters:
threadCount- Thread count string
-
setListErrors
public void setListErrors(boolean b)
Sets the option to list compilation errors.- Parameters:
b- New value
-
setOutputDir
public void setOutputDir(java.lang.String s)
Sets the output directory for generated files.- Parameters:
s- Output directory path
-
setPackage
public void setPackage(java.lang.String p)
Sets the package name to be used for the generated servlet classes.- Parameters:
p- New value
-
setClassName
public void setClassName(java.lang.String p)
Class name of the generated file ( without package ). Can only be used if a single file is converted. XXX Do we need this feature ?- Parameters:
p- New value
-
setWebXmlInclude
public void setWebXmlInclude(java.lang.String s)
File where we generate configuration with the class definitions to be included in a web.xml file.- Parameters:
s- New value
-
setWebFragmentXml
public void setWebFragmentXml(java.lang.String s)
File where we generate a complete web-fragment.xml with the class definitions.- Parameters:
s- New value
-
setWebXml
public void setWebXml(java.lang.String s)
File where we generate a complete web.xml with the class definitions.- Parameters:
s- New value
-
setWebXmlEncoding
public void setWebXmlEncoding(java.lang.String encoding)
Sets the encoding to be used to read and write web.xml files.If not specified, defaults to UTF-8.
- Parameters:
encoding- Encoding, e.g. "UTF-8".
-
setAddWebXmlMappings
public void setAddWebXmlMappings(boolean b)
Sets the option to merge generated web.xml fragment into the WEB-INF/web.xml file of the web application that we were processing.- Parameters:
b-trueto merge the fragment into the existing web.xml file of the processed web application ({uriroot}/WEB-INF/web.xml),falseto keep the generated web.xml fragment
-
setFailOnError
public void setFailOnError(boolean b)
Sets the option that throws an exception in case of a compilation error.- Parameters:
b- New value
-
setUseNonstandardTagOptimizations
public void setUseNonstandardTagOptimizations(java.lang.String useNonstandardTagOptimizations)
Sets the set of custom tags to use nonstandard optimizations.- Parameters:
useNonstandardTagOptimizations- which tags to override
-
getFailOnError
public boolean getFailOnError()
Returns whether an exception will be thrown in case of a compilation error.- Returns:
trueif an exception will be thrown in case of a compilation error.
-
getJspConfig
public JspConfig getJspConfig()
Description copied from interface:OptionsReturns the JSP configuration information as specified in the web.xml deployment descriptor.- Specified by:
getJspConfigin interfaceOptions- Returns:
- JSP configuration information specified in web.xml.
-
getTagPluginManager
public TagPluginManager getTagPluginManager()
Description copied from interface:OptionsReturns the Tag Plugin Manager used for applying tag plugins during JSP compilation.- Specified by:
getTagPluginManagerin interfaceOptions- Returns:
- a Tag Plugin Manager
-
getGeneratedJavaAddTimestamp
public boolean getGeneratedJavaAddTimestamp()
Should the container include the time the file was generated in the comments at the start of a Java file generated from a JSP or tag. Defaults totrue.Hard-coded to
falsefor pre-compiled code to enable repeatable builds.- Specified by:
getGeneratedJavaAddTimestampin interfaceOptions- Returns:
trueto include the timestamp, otherwise don't include it
-
generateWebMapping
public void generateWebMapping(java.lang.String file, JspCompilationContext clctxt) throws java.io.IOExceptionAdds servlet declaration and mapping for the JSP page servlet to the generated web.xml fragment.- Parameters:
file- Context-relative path to the JSP file, e.g./index.jspclctxt- Compilation context of the servlet- Throws:
java.io.IOException- An IO error occurred
-
mergeIntoWebXml
protected void mergeIntoWebXml() throws java.io.IOExceptionInclude the generated web.xml inside the webapp's web.xml.- Throws:
java.io.IOException- An IO error occurred
-
processFile
protected void processFile(java.lang.String file) throws JasperExceptionProcesses a single JSP file, compiling it and generating the web.xml mapping.- Parameters:
file- Context-relative path to the JSP file- Throws:
JasperException- If a compilation error occurs
-
scanFiles
public void scanFiles()
Locate all jsp files in the webapp. Used if no explicit jsps are specified. Scan is performed via the ServletContext and will include any JSPs located in resource JARs.
-
execute
public void execute()
Executes the compilation.- Overrides:
executein classorg.apache.tools.ant.Task
-
nextArg
protected java.lang.String nextArg()
Returns the next command-line argument.- Returns:
- the next argument, or
nullif no more arguments
-
nextFile
protected java.lang.String nextFile()
Returns the next file argument from the command-line.- Returns:
- the next file argument, or
nullif no more arguments
-
initWebXml
protected void initWebXml() throws JasperExceptionInitializes the web.xml output writers based on the configured generation level.- Throws:
JasperException- If an I/O error occurs
-
completeWebXml
protected void completeWebXml()
Writes the accumulated servlet declarations and mappings to the web.xml output, then closes the writer.
-
initTldScanner
protected void initTldScanner(JspCServletContext context, java.lang.ClassLoader classLoader)
Initializes the TLD scanner for the given servlet context and class loader.- Parameters:
context- The servlet contextclassLoader- The class loader to use
-
newTldScanner
protected TldScanner newTldScanner(JspCServletContext context, boolean namespaceAware, boolean validate, boolean blockExternal)
Creates a new TLD scanner instance.- Parameters:
context- The servlet contextnamespaceAware- Whether to enable namespace awarenessvalidate- Whether to validate TLD filesblockExternal- Whether to block external entities- Returns:
- the new TLD scanner
-
initServletContext
protected void initServletContext(java.lang.ClassLoader classLoader) throws java.io.IOException, JasperExceptionInitializes the servlet context, TLD scanner, TLD cache, runtime context, JSP config, and tag plugin manager for compilation.- Parameters:
classLoader- The class loader to use- Throws:
java.io.IOException- If an I/O error occursJasperException- If a JSP error occurs
-
initClassLoader
protected java.lang.ClassLoader initClassLoader() throws java.io.IOExceptionInitializes the classloader as/if needed for the given compilation context.- Returns:
- the classloader that will be used
- Throws:
java.io.IOException- If an error occurs
-
locateUriRoot
protected void locateUriRoot(java.io.File f)
Find the WEB-INF dir by looking up in the directory tree. This is used if no explicit docbase is set, but only files.- Parameters:
f- The path from which it will start looking
-
resolveFile
protected java.io.File resolveFile(java.lang.String s)
Resolves the relative or absolute pathname correctly in both Ant and command-line situations. If Ant launched us, we should use the basedir of the current project to resolve relative paths. See Bugzilla 35571.- Parameters:
s- The file- Returns:
- The file resolved
-
getUseNonstandardTagOptimizations
public java.lang.String getUseNonstandardTagOptimizations()
Description copied from interface:OptionsA string containing a comma-separated list of names to which custom tag implementations should be applied. Unknown or unused tag entries are harmless. Generally defined via an init parameter on the JspServlet.- Specified by:
getUseNonstandardTagOptimizationsin interfaceOptions- Returns:
- which tags to use
-
-