Class JspC
<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
FieldsModifier and TypeFieldDescriptionprotected booleanFlag to merge generated mappings into existing web.xml.protected static final intWeb.xml generation level for complete web.xml.protected intCurrent position in the command-line arguments array.protected String[]Command-line arguments passed to JspC.protected booleanFlag to block external entities during XML parsing.protected final Map<String, TagLibraryInfo> Cache for TagLibraryInfo objects.protected booleanFlag to enable tag handler caching.protected booleanFlag to include debug information in compiled classes.protected StringClasspath for compiling generated servlets.protected booleanFlag to compile JSPs to class files.protected StringCompiler implementation to use.protected StringSource Java version for compilation.protected StringTarget Java VM version for compilation.protected JspCServletContextThe servlet context.protected static final intDefault exit code level when a compilation error occurs.protected intExit code level on compilation error.protected booleanNeeds better documentation, this data member does.The file extensions to be handled as JSP files.protected booleanFlag to stop on first compilation error.protected booleanThrow an exception if there's a compilation error, or swallow it.protected static final intWeb.xml generation level for web-fragment.protected booleanFlag indicating the full stop switch was encountered.protected booleanFlag to generate string literals as char arrays.protected booleanFlag indicating help was requested.protected static final intWeb.xml generation level for include fragment.Set of XML elements before which generated content should be inserted.protected StringThe java file encoding.protected JspConfigJSP configuration parsed from web.xml.protected static final StringCommand-line switch for listing errors.protected booleanFlag to list compilation errors.protected ClassLoaderClassLoader used for JSP compilation.protected WriterWriter for the generated web.xml output file.protected booleanFlag to use mapped file compilation.protected CharArrayWriterBuffer for generated servlet-mapping declarations.protected static final intExit code level indicating no exit on error.The pages.protected booleanFlag to enable tag handler pooling.protected booleanFlag to quote EL expressions in attributes.protected JspRuntimeContextThe runtime context.protected TldScannerScanner for TLD files in the web application.protected FileScratch directory for generated files.protected CharArrayWriterBuffer for generated servlet declarations.protected static final StringCommand-line switch for showing success messages.protected booleanFlag to show success messages.protected booleanFlag to dump SMAP files.protected booleanFlag to suppress SMAP file generation.protected booleanFlag for strict quote escaping in attributes.protected static final StringCommand-line switch for adding web.xml servlet mappings.protected static final StringCommand-line switch for enabling/disabling caching.protected static final StringCommand-line switch for setting the generated class name.protected static final StringCommand-line switch for setting the classpath.protected static final StringCommand-line switch for compiling to class files.protected static final StringCommand-line switch prefix for setting the exit code on error.protected static final StringCommand-line switch for dumping SMAP files.protected static final StringCommand-line switch for setting the Java file encoding.protected static final StringCommand-line switch for failing on first error.protected static final StringCommand-line switch for setting the web application root.protected static final StringCommand-line switch indicating the end of options.protected static final StringCommand-line switch for displaying help.protected static final StringCommand-line switch for using mapped file compilation.protected static final StringCommand-line switch for disabling external entity blocking.protected static final StringCommand-line switch for disabling EL quoting in attributes.protected static final StringCommand-line switch for disabling strict quote escaping.protected static final StringCommand-line switch for setting the output directory.protected static final StringCommand-line switch for setting the package name.protected static final StringCommand-line switch for enabling tag handler pooling.protected static final StringCommand-line switch for enabling EL quoting in attributes.protected static final StringCommand-line switch for generating SMAP files.protected static final StringCommand-line switch for setting the Java source version.protected static final StringCommand-line switch for setting the Java target version.protected static final StringCommand-line switch for setting the thread count.protected static final StringCommand-line switch for trimming whitespace in templates.protected static final StringCommand-line switch for setting the URI base.protected static final StringCommand-line switch for setting the URI root.protected static final StringCommand-line switch for validating TLD files.protected static final StringCommand-line switch for validating XML files.protected static final StringCommand-line switch for enabling verbose output.protected static final StringCommand-line switch for generating a web-fragment.xml file.protected static final StringCommand-line switch for generating a web.xml include file.protected static final StringCommand-line switch for generating a complete web.xml file.protected static final StringCommand-line switch for setting the web.xml encoding.protected static final StringCommand-line switch for enabling X-Powered-By header.protected TagPluginManagerManager for tag plugin optimizations.protected StringTarget class name for a single generated servlet.protected StringTarget package for generated servlet classes.protected intThe number of threads to use; default is one per coreprotected TldCacheCache for the TLD locationsprotected TrimSpacesOptionOption for trimming whitespace in template text.protected StringBase URI for the web application.protected StringRoot directory of the web application.protected StringConfiguration for non-standard tag optimizations.protected booleanFlag to validate TLD files.protected booleanFlag to validate XML files.protected booleanFlag for verbose output.protected StringCharacter encoding for generated web.xml files.protected StringOutput file path for generated web.xml content.protected intLevel of web.xml generation (include, fragment, or complete).protected booleanFlag to include X-Powered-By response header.Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapperFields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddExtension(String extension) Adds the given file extension to the list of extensions handled as JSP files.protected voidWrites the accumulated servlet declarations and mappings to the web.xml output, then closes the writer.voidexecute()Executes the compilation.voidgenerateWebMapping(String file, JspCompilationContext clctxt) Adds servlet declaration and mapping for the JSP page servlet to the generated web.xml fragment.booleanIndicates whether text strings are to be generated as char arrays.getCache()The web-application wide cache for the TagLibraryInfo tag library descriptors, used ifOptions.isCaching()returnstrue.intIn JspC this always returns0.booleanReturns whether debug information is included in compiled classes.Returns the classpath used by the compiler when compiling generated Servlets.Compiler to use.Returns the fully qualified class name of the Jasper Java compiler implementation to use.Returns the source Java VM version for the compiler, such as 1.8.Returns the target Java VM version for the compiler, such as 1.8.booleanIn JspC this always returnsfalse.booleanIn JspC this always returnstrue.booleanReturns true if Jasper issues a compilation error instead of a runtime Instantiation error if the class attribute specified in useBean action is invalid.Returns the list of file extensions that are treated as JSP files.booleanReturns 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.booleanShould 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.Returns the encoding to use for java files.Returns the JSP configuration information as specified in the web.xml deployment descriptor.intReturns the idle timeout for JSP unloading.booleanIn JspC this always returnstrue.booleanReturns whether HTML mapped Servlets are supported.intThe maximum number of loaded jsps per web-application.intIn JspC this always returns0.booleanReturns whether quoting rules from JSP.1.6 are applied to EL expressions in attributes.booleanIn JspC this always returnsfalse.Returns the scratch directory used as the work folder for temporary compilation files.booleanReturns whether strict quote escaping is enabled for scriplet expressions.Returns the Tag Plugin Manager used for applying tag plugins during JSP compilation.intReturns the number of threads to use for compilation.The cache that maps URIs, resource paths and parsed TLD files for the various tag libraries 'exposed' by the web application.Returns the option for trimming whitespace-only template text.A string containing a comma-separated list of names to which custom tag implementations should be applied.protected ClassLoaderInitializes the classloader as/if needed for the given compilation context.protected voidinitServletContext(ClassLoader classLoader) Initializes the servlet context, TLD scanner, TLD cache, runtime context, JSP config, and tag plugin manager for compilation.protected voidinitTldScanner(JspCServletContext context, ClassLoader classLoader) Initializes the TLD scanner for the given servlet context and class loader.protected voidInitializes the web.xml output writers based on the configured generation level.booleanReturns whether external entity blocking is enabled.booleanReturns whether caching is enabled for compiled JSP pages, used for precompilation scenarios.booleanReturns whether tag handler pooling is enabled for improved performance.booleanThis setting is ignored if suppressSmap() istrue.booleanReturns whether generation of SMAP (Source Map for Debugging) information is suppressed.booleanReturns whether TLD validation is enabled.booleanReturns whether XML validation is enabled.booleanReturns whether the X-Powered-By response header should be generated in HTTP responses.protected voidFind the WEB-INF dir by looking up in the directory tree.static voidEntry point for the JspC command-line tool.protected voidInclude 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 StringnextArg()Returns the next command-line argument.protected StringnextFile()Returns the next file argument from the command-line.protected voidprocessFile(String file) Processes a single JSP file, compiling it and generating the web.xml mapping.protected FileResolves the relative or absolute pathname correctly in both Ant and command-line situations.voidLocate 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.voidApply 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.voidClass name of the generated file ( without package ).voidSets the classpath used while compiling the servlets generated from JSP filesvoidsetCompile(boolean b) Sets the compile flag.voidSets the option to determine what compiler to use.voidSets the compiler source VM.voidSets 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(String encodingName) Sets the encoding to use for java files.voidsetJspFiles(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.voidSets the output directory for generated files.voidsetPackage(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(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(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(String s) Base dir for the webapp.voidsetUseNonstandardTagOptimizations(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.voidFile where we generate a complete web-fragment.xml with the class definitions.voidFile where we generate a complete web.xml with the class definitions.voidsetWebXmlEncoding(String encoding) Sets the encoding to be used to read and write web.xml files.voidFile 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, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Options
getGeneratedJspPackageName, getGeneratedTagFilePackageName, getJspPrecompilationQueryParameter, getJspServletBase, getPoolTagsWithExtends, getServiceMethodName, getServletClasspathAttribute, getStrictGetProperty, getStrictWhitespace, getTempVariableNamePrefix, getUseInstanceManagerForTags, getVariableForExpressionFactory, getVariableForInstanceManager
-
Field Details
-
SWITCH_VERBOSE
Command-line switch for enabling verbose output.- See Also:
-
SWITCH_HELP
-
SWITCH_OUTPUT_DIR
Command-line switch for setting the output directory.- See Also:
-
SWITCH_PACKAGE_NAME
Command-line switch for setting the package name.- See Also:
-
SWITCH_CACHE
Command-line switch for enabling/disabling caching.- See Also:
-
SWITCH_CLASS_NAME
Command-line switch for setting the generated class name.- See Also:
-
SWITCH_FULL_STOP
Command-line switch indicating the end of options.- See Also:
-
SWITCH_COMPILE
Command-line switch for compiling to class files.- See Also:
-
SWITCH_FAIL_FAST
Command-line switch for failing on first error.- See Also:
-
SWITCH_SOURCE
Command-line switch for setting the Java source version.- See Also:
-
SWITCH_TARGET
Command-line switch for setting the Java target version.- See Also:
-
SWITCH_URI_BASE
Command-line switch for setting the URI base.- See Also:
-
SWITCH_URI_ROOT
Command-line switch for setting the URI root.- See Also:
-
SWITCH_FILE_WEBAPP
Command-line switch for setting the web application root.- See Also:
-
SWITCH_WEBAPP_INC
Command-line switch for generating a web.xml include file.- See Also:
-
SWITCH_WEBAPP_FRG
Command-line switch for generating a web-fragment.xml file.- See Also:
-
SWITCH_WEBAPP_XML
Command-line switch for generating a complete web.xml file.- See Also:
-
SWITCH_WEBAPP_XML_ENCODING
Command-line switch for setting the web.xml encoding.- See Also:
-
SWITCH_ADD_WEBAPP_XML_MAPPINGS
Command-line switch for adding web.xml servlet mappings.- See Also:
-
SWITCH_MAPPED
Command-line switch for using mapped file compilation.- See Also:
-
SWITCH_XPOWERED_BY
Command-line switch for enabling X-Powered-By header.- See Also:
-
SWITCH_TRIM_SPACES
Command-line switch for trimming whitespace in templates.- See Also:
-
SWITCH_CLASSPATH
Command-line switch for setting the classpath.- See Also:
-
SWITCH_DIE
Command-line switch prefix for setting the exit code on error.- See Also:
-
SWITCH_POOLING
Command-line switch for enabling tag handler pooling.- See Also:
-
SWITCH_ENCODING
Command-line switch for setting the Java file encoding.- See Also:
-
SWITCH_SMAP
-
SWITCH_DUMP_SMAP
Command-line switch for dumping SMAP files.- See Also:
-
SWITCH_VALIDATE_TLD
Command-line switch for validating TLD files.- See Also:
-
SWITCH_VALIDATE_XML
Command-line switch for validating XML files.- See Also:
-
SWITCH_NO_BLOCK_EXTERNAL
Command-line switch for disabling external entity blocking.- See Also:
-
SWITCH_NO_STRICT_QUOTE_ESCAPING
Command-line switch for disabling strict quote escaping.- See Also:
-
SWITCH_QUOTE_ATTRIBUTE_EL
Command-line switch for enabling EL quoting in attributes.- See Also:
-
SWITCH_NO_QUOTE_ATTRIBUTE_EL
Command-line switch for disabling EL quoting in attributes.- See Also:
-
SWITCH_THREAD_COUNT
Command-line switch for setting the thread count.- See Also:
-
SHOW_SUCCESS
Command-line switch for showing success messages.- See Also:
-
LIST_ERRORS
-
INC_WEBXML
protected static final int INC_WEBXMLWeb.xml generation level for include fragment.- See Also:
-
FRG_WEBXML
protected static final int FRG_WEBXMLWeb.xml generation level for web-fragment.- See Also:
-
ALL_WEBXML
protected static final int ALL_WEBXMLWeb.xml generation level for complete web.xml.- See Also:
-
DEFAULT_DIE_LEVEL
protected static final int DEFAULT_DIE_LEVELDefault exit code level when a compilation error occurs.- See Also:
-
NO_DIE_LEVEL
protected static final int NO_DIE_LEVELExit code level indicating no exit on error.- See Also:
-
insertBefore
-
classPath
Classpath for compiling generated servlets. -
loader
ClassLoader used for JSP compilation. -
trimSpaces
Option for trimming whitespace in template text. -
genStringAsCharArray
protected boolean genStringAsCharArrayFlag to generate string literals as char arrays. -
validateTld
protected boolean validateTldFlag to validate TLD files. -
validateXml
protected boolean validateXmlFlag to validate XML files. -
blockExternal
protected boolean blockExternalFlag to block external entities during XML parsing. -
strictQuoteEscaping
protected boolean strictQuoteEscapingFlag for strict quote escaping in attributes. -
quoteAttributeEL
protected boolean quoteAttributeELFlag to quote EL expressions in attributes. -
xpoweredBy
protected boolean xpoweredByFlag to include X-Powered-By response header. -
mappedFile
protected boolean mappedFileFlag to use mapped file compilation. -
poolingEnabled
protected boolean poolingEnabledFlag to enable tag handler pooling. -
scratchDir
Scratch directory for generated files. -
targetPackage
Target package for generated servlet classes. -
targetClassName
Target class name for a single generated servlet. -
uriBase
Base URI for the web application. -
uriRoot
Root directory of the web application. -
dieLevel
protected int dieLevelExit code level on compilation error. -
helpNeeded
protected boolean helpNeededFlag indicating help was requested. -
compile
protected boolean compileFlag to compile JSPs to class files. -
failFast
protected boolean failFastFlag to stop on first compilation error. -
smapSuppressed
protected boolean smapSuppressedFlag to suppress SMAP file generation. -
smapDumped
protected boolean smapDumpedFlag to dump SMAP files. -
caching
protected boolean cachingFlag to enable tag handler caching. -
cache
Cache for TagLibraryInfo objects. -
compiler
Compiler implementation to use. -
compilerTargetVM
Target Java VM version for compilation. -
compilerSourceVM
Source Java version for compilation. -
classDebugInfo
protected boolean classDebugInfoFlag to include debug information in compiled classes. -
failOnError
protected boolean failOnErrorThrow an exception if there's a compilation error, or swallow it. Default is true to preserve old behavior. -
extensions
-
pages
-
errorOnUseBeanInvalidClassAttribute
protected boolean errorOnUseBeanInvalidClassAttributeNeeds better documentation, this data member does. True by default. -
javaEncoding
The java file encoding. Default is UTF-8. Added per bugzilla 19622. -
threadCount
protected int threadCountThe number of threads to use; default is one per core -
webxmlFile
Output file path for generated web.xml content. -
webxmlLevel
protected int webxmlLevelLevel of web.xml generation (include, fragment, or complete). -
webxmlEncoding
Character encoding for generated web.xml files. -
addWebXmlMappings
protected boolean addWebXmlMappingsFlag to merge generated mappings into existing web.xml. -
mapout
Writer for the generated web.xml output file. -
servletout
Buffer for generated servlet declarations. -
mappingout
Buffer for generated servlet-mapping declarations. -
context
The servlet context. -
rctxt
The runtime context. Maintain a dummy JspRuntimeContext for compiling tag files. -
tldCache
Cache for the TLD locations -
jspConfig
JSP configuration parsed from web.xml. -
tagPluginManager
Manager for tag plugin optimizations. -
scanner
Scanner for TLD files in the web application. -
verbose
protected boolean verboseFlag for verbose output. -
listErrors
protected boolean listErrorsFlag to list compilation errors. -
showSuccess
protected boolean showSuccessFlag to show success messages. -
argPos
protected int argPosCurrent position in the command-line arguments array. -
fullstop
protected boolean fullstopFlag indicating the full stop switch was encountered. -
args
Command-line arguments passed to JspC. -
useNonstandardTagOptimizations
Configuration for non-standard tag optimizations.
-
-
Constructor Details
-
JspC
public JspC()Creates a new JspC instance.
-
-
Method Details
-
main
Entry point for the JspC command-line tool.- Parameters:
arg- Command-line arguments
-
setArgs
Apply 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
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
Sets the option to control handling of template text that consists entirely of whitespace.- Parameters:
trimSpaces- New value
-
setTrimSpaces
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
-
setCaching
public void setCaching(boolean caching) Sets the option to enable caching.- Parameters:
caching- New value- See Also:
-
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:
-
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
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
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
Sets the option to determine what compiler to use.- Parameters:
c- New value- See Also:
-
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
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
Sets the compiler target VM.- Parameters:
vm- New value- See Also:
-
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
Sets the compiler source VM.- Parameters:
vm- New value- See Also:
-
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
Returns the encoding to use for java files. The default is UTF-8.- Specified by:
getJavaEncodingin interfaceOptions- Returns:
- String The encoding
-
setJavaEncoding
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
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
Sets the classpath used while compiling the servlets generated from JSP files- Parameters:
s- New value
-
getExtensions
-
addExtension
Adds the given file extension to the list of extensions handled as JSP files.- Parameters:
extension- The extension to add, e.g. "myjsp"
-
setUriroot
Base dir for the webapp. Used to generate class names and resolve includes.- Parameters:
s- New value
-
setJspFiles
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
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
Sets the output directory for generated files.- Parameters:
s- Output directory path
-
setPackage
Sets the package name to be used for the generated servlet classes.- Parameters:
p- New value
-
setClassName
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
File where we generate configuration with the class definitions to be included in a web.xml file.- Parameters:
s- New value
-
setWebFragmentXml
File where we generate a complete web-fragment.xml with the class definitions.- Parameters:
s- New value
-
setWebXml
File where we generate a complete web.xml with the class definitions.- Parameters:
s- New value
-
setWebXmlEncoding
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
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
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
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
Adds 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:
IOException- An IO error occurred
-
mergeIntoWebXml
Include the generated web.xml inside the webapp's web.xml.- Throws:
IOException- An IO error occurred
-
processFile
Processes 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
Returns the next command-line argument.- Returns:
- the next argument, or
nullif no more arguments
-
nextFile
Returns the next file argument from the command-line.- Returns:
- the next file argument, or
nullif no more arguments
-
initWebXml
Initializes 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
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
Initializes 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:
IOException- If an I/O error occursJasperException- If a JSP error occurs
-
initClassLoader
Initializes the classloader as/if needed for the given compilation context.- Returns:
- the classloader that will be used
- Throws:
IOException- If an error occurs
-
locateUriRoot
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
-
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
-