Class JspC
java.lang.Object
org.apache.jasper.JspC
- All Implemented Interfaces:
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="jasper2" >
<classpath>
<pathelement location="${java.home}/../lib/tools.jar"/>
<fileset dir="${ENV.CATALINA_HOME}/server/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${ENV.CATALINA_HOME}/common/lib">
<include name="*.jar"/>
</fileset>
<path refid="myjars"/>
</classpath>
</taskdef>
<jasper2 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" />
- Author:
- Danno Ferrin, Pierre Delisle, Costin Manolache
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()voidgenerateWebMapping(String file, JspCompilationContext clctxt) booleanAre text strings to be generated as byte arrays, if the page is unbuffered?booleanIndicates whether text strings are to be generated as char arrays.intBackground compilation check intervals in secondsbooleanShould we include debug information in compiled class?What classpath should I use while compiling the servlets generated from JSP files?Compiler to use.The name of class that implements JavaCompiler, used for Java compilations.Compiler source VM, e.g. 1.3, 1.4, or 1.5.The compiler target VM, e.g. 1.1, 1.2, 1.3, 1.4, or 1.5.booleanIs Jasper being used in development mode?intbooleanReturns true if Jasper issues a compilation error instead of a runtime Instantiation error if the class attribute specified in useBean action is invalid.booleanbooleangetFork()boolean flag to tell Ant whether to fork JSP page compilations.Gets the class-id value that is sent to Internet Explorer when using invalid input: '<'jsp:plugin> tags.intGets initial capacity of HashMap which maps JSPs to their corresponding servlets.Returns the encoding to use for java files.Gets the list of JSP compilation errors caught during the most recent invocation of this instance'sexecutemethod when failOnError has been set to FALSE.Obtain JSP configuration informantion specified in web.xml.booleanAre we keeping generated code around?booleanAre we supporting HTML mapped servlets?intModification test interval.booleanIf class files are generated as byte arrays, should they be saved to disk at the end of compilations?What is my scratch dir?booleanShould errors be sent to client or thrown into stderr?Gets the system class path.Obtain a Tag Plugin ManagerintThe cache for the location of the TLD's for the various tag libraries 'exposed' by the web application.booleanShould white spaces between directives or actions be trimmed?booleanReturns the value of the usePrecompiled (or use-precompiled) init param.booleanIf the buffer attribute for the page directive is not specified, is the default "none"?booleanReturns true if tag handler pooling is enabled, false otherwise.booleanShould SMAP info for JSR45 debugging be dumped to a file?booleanIs the generation of SMAP info for JSR45 debugging suppressed?booleanbooleanIs generation of X-Powered-By response header enabled/disabled?static voidprotected voidInclude the generated web.xml inside the webapp's web.xml.voidLocate all jsp files in the webapp.voidsetAddWebXmlMappings(boolean b) voidvoidsetClassDebugInfo(boolean b) voidClass name of the generated file ( without package ).voidvoidsetCompile(boolean b) voidvoidvoidvoidsetDefaultBufferNone(boolean defaultBufferNone) static voidsetDtdResourcePrefix(String prefix) Sets the path prefix for .dtd resourcesvoidsetErrorOnUseBeanInvalidClassAttribute(boolean b) voidsetFailOnError(boolean b) Set the option that throws an exception in case of a compilation error.voidsetGenStringAsByteArray(boolean genStringAsByteArray) voidsetGenStringAsCharArray(boolean genStringAsCharArray) Determines whether text strings are to be generated as char arrays, which improves performance in some cases.voidsetIeClassId(String ieClassId) Sets the class-id value to be sent to Internet Explorer when using invalid input: '<'jsp:plugin> tags.voidsetIgnoreJspFragmentErrors(boolean ignore) voidsetIsValidationEnabled(boolean b) voidsetJavaEncoding(String encodingName) Sets the encoding to use for java files.voidsetJspFiles(String jspFiles) voidsetListErrors(boolean b) voidvoidsetPackage(String p) voidsetPoolingEnabled(boolean poolingEnabled) static voidsetSchemaResourcePrefix(String prefix) Sets the path prefix for .xsd resourcesvoidsetSmapDumped(boolean smapDumped) Set smapSuppressed flag.voidsetSmapSuppressed(boolean smapSuppressed) Set smapSuppressed flag.voidSets the system class path.voidsetTrimSpaces(boolean ts) voidsetUriroot(String s) Base dir for the webapp.voidsetValidateXml(boolean b) voidsetVerbose(int level) voidFile where we generate a complete web.xml with the class definitions.voidFile where we generate a web.xml fragment with the class definitions.voidsetXpoweredBy(boolean xpoweredBy)
-
Field Details
-
DEFAULT_IE_CLASS_ID
- See Also:
-
-
Constructor Details
-
JspC
public JspC()
-
-
Method Details
-
main
-
setArgs
- Throws:
JasperException
-
getDieLevel
public int getDieLevel() -
getKeepGenerated
public boolean getKeepGenerated()Description copied from interface:OptionsAre we keeping generated code around?- Specified by:
getKeepGeneratedin interfaceOptions
-
getSaveBytecode
public boolean getSaveBytecode()Description copied from interface:OptionsIf class files are generated as byte arrays, should they be saved to disk at the end of compilations?- Specified by:
getSaveBytecodein interfaceOptions
-
getTrimSpaces
public boolean getTrimSpaces()Description copied from interface:OptionsShould white spaces between directives or actions be trimmed?- Specified by:
getTrimSpacesin interfaceOptions
-
setTrimSpaces
public void setTrimSpaces(boolean ts) -
isPoolingEnabled
public boolean isPoolingEnabled()Description copied from interface:OptionsReturns true if tag handler pooling is enabled, false otherwise.- Specified by:
isPoolingEnabledin interfaceOptions
-
setPoolingEnabled
public void setPoolingEnabled(boolean poolingEnabled) -
isXpoweredBy
public boolean isXpoweredBy()Description copied from interface:OptionsIs generation of X-Powered-By response header enabled/disabled?- Specified by:
isXpoweredByin interfaceOptions
-
setXpoweredBy
public void setXpoweredBy(boolean xpoweredBy) -
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
-
setErrorOnUseBeanInvalidClassAttribute
public void setErrorOnUseBeanInvalidClassAttribute(boolean b) -
getTagPoolSize
public int getTagPoolSize() -
getInitialCapacity
public int getInitialCapacity()Gets initial capacity of HashMap which maps JSPs to their corresponding servlets.- Specified by:
getInitialCapacityin interfaceOptions
-
getMappedFile
public boolean getMappedFile()Are we supporting HTML mapped servlets?- Specified by:
getMappedFilein interfaceOptions
-
getProtectionDomain
-
getSendErrorToClient
public boolean getSendErrorToClient()Description copied from interface:OptionsShould errors be sent to client or thrown into stderr?- Specified by:
getSendErrorToClientin interfaceOptions
-
setClassDebugInfo
public void setClassDebugInfo(boolean b) -
getClassDebugInfo
public boolean getClassDebugInfo()Description copied from interface:OptionsShould we include debug information in compiled class?- Specified by:
getClassDebugInfoin interfaceOptions
-
getCheckInterval
public int getCheckInterval()Background compilation check intervals in seconds- Specified by:
getCheckIntervalin interfaceOptions
-
getModificationTestInterval
public int getModificationTestInterval()Modification test interval.- Specified by:
getModificationTestIntervalin interfaceOptions
-
getDevelopment
public boolean getDevelopment()Is Jasper being used in development mode?- Specified by:
getDevelopmentin interfaceOptions
-
getUsePrecompiled
public boolean getUsePrecompiled()Description copied from interface:OptionsReturns the value of the usePrecompiled (or use-precompiled) init param.- Specified by:
getUsePrecompiledin interfaceOptions
-
isSmapSuppressed
public boolean isSmapSuppressed()Is the generation of SMAP info for JSR45 debugging suppressed?- Specified by:
isSmapSuppressedin interfaceOptions
-
setSmapSuppressed
public void setSmapSuppressed(boolean smapSuppressed) Set smapSuppressed flag. -
isSmapDumped
public boolean isSmapDumped()Should SMAP info for JSR45 debugging be dumped to a file?- Specified by:
isSmapDumpedin interfaceOptions
-
setSmapDumped
public void setSmapDumped(boolean smapDumped) Set smapSuppressed flag. -
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()Indicates whether text strings are to be generated as char arrays.- Specified by:
genStringAsCharArrayin interfaceOptions- Returns:
- true if text strings are to be generated as char arrays, false otherwise
-
setGenStringAsByteArray
public void setGenStringAsByteArray(boolean genStringAsByteArray) -
genStringAsByteArray
public boolean genStringAsByteArray()Description copied from interface:OptionsAre text strings to be generated as byte arrays, if the page is unbuffered?- Specified by:
genStringAsByteArrayin interfaceOptions
-
isDefaultBufferNone
public boolean isDefaultBufferNone()Description copied from interface:OptionsIf the buffer attribute for the page directive is not specified, is the default "none"?- Specified by:
isDefaultBufferNonein interfaceOptions
-
setDefaultBufferNone
public void setDefaultBufferNone(boolean defaultBufferNone) -
setIeClassId
Sets the class-id value to be sent to Internet Explorer when using invalid input: '<'jsp:plugin> tags.- Parameters:
ieClassId- Class-id value
-
getIeClassId
Gets the class-id value that is sent to Internet Explorer when using invalid input: '<'jsp:plugin> tags.- Specified by:
getIeClassIdin interfaceOptions- Returns:
- Class-id value
-
getScratchDir
Description copied from interface:OptionsWhat is my scratch dir?- Specified by:
getScratchDirin interfaceOptions
-
getJspCompilerPlugin
-
getJspCompilerPath
-
getCompiler
-
setCompiler
-
getCompilerTargetVM
Description copied from interface:OptionsThe compiler target VM, e.g. 1.1, 1.2, 1.3, 1.4, or 1.5.- Specified by:
getCompilerTargetVMin interfaceOptions- See Also:
-
setCompilerTargetVM
-
getCompilerSourceVM
Description copied from interface:OptionsCompiler source VM, e.g. 1.3, 1.4, or 1.5.- Specified by:
getCompilerSourceVMin interfaceOptions
-
setCompilerSourceVM
-
getCompilerClassName
Description copied from interface:OptionsThe name of class that implements JavaCompiler, used for Java compilations.- Specified by:
getCompilerClassNamein interfaceOptions
-
getTldScanner
Description copied from interface:OptionsThe cache for the location of the TLD's for the various tag libraries 'exposed' by the web application. A tag library is 'exposed' either explicitely in web.xml or implicitely via the uri tag in the TLD of a taglib deployed in a jar file (WEB-INF/lib).- Specified by:
getTldScannerin interfaceOptions- Returns:
- the instance of the TldScanner 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
-
getClassPath
Description copied from interface:OptionsWhat classpath should I use while compiling the servlets generated from JSP files?- Specified by:
getClassPathin interfaceOptions
-
setClassPath
-
getSystemClassPath
Gets the system class path.- Specified by:
getSystemClassPathin interfaceOptions- Returns:
- The system class path
-
setSystemClassPath
Sets the system class path.- Parameters:
s- The system class path to use
-
setUriroot
Base dir for the webapp. Used to generate class names and resolve includes -
setSchemaResourcePrefix
Sets the path prefix for .xsd resources -
setDtdResourcePrefix
Sets the path prefix for .dtd resources -
setJspFiles
-
setCompile
public void setCompile(boolean b) -
setVerbose
public void setVerbose(int level) -
setValidateXml
public void setValidateXml(boolean b) -
setIsValidationEnabled
public void setIsValidationEnabled(boolean b) -
isValidationEnabled
public boolean isValidationEnabled()- Specified by:
isValidationEnabledin interfaceOptions
-
setListErrors
public void setListErrors(boolean b) -
setOutputDir
-
setPackage
-
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 ? -
setWebXmlFragment
File where we generate a web.xml fragment with the class definitions. -
setWebXml
File where we generate a complete web.xml with the class definitions. -
setAddWebXmlMappings
public void setAddWebXmlMappings(boolean b) -
setFailOnError
public void setFailOnError(boolean b) Set the option that throws an exception in case of a compilation error. -
getFailOnError
public boolean getFailOnError() -
setIgnoreJspFragmentErrors
public void setIgnoreJspFragmentErrors(boolean ignore) -
getJspConfig
Obtain JSP configuration informantion specified in web.xml.- Specified by:
getJspConfigin interfaceOptions
-
getTagPluginManager
Description copied from interface:OptionsObtain a Tag Plugin Manager- Specified by:
getTagPluginManagerin interfaceOptions
-
generateWebMapping
- Throws:
IOException
-
getJSPCompilationErrors
Gets the list of JSP compilation errors caught during the most recent invocation of this instance'sexecutemethod when failOnError has been set to FALSE. Each error error in the list is represented by an instance of org.apache.jasper.JasperException.- Returns:
- List of JSP compilation errors caught during most recent
invocation of this instance's
executemethod, or an empty list if no errors were encountered or this instance's failOnError property was set to TRUE
-
mergeIntoWebXml
Include the generated web.xml inside the webapp's web.xml.- Throws:
IOException
-
scanFiles
Locate all jsp files in the webapp. Used if no explicit jsps are specified.- Throws:
JasperException
-
execute
- Throws:
JasperException
-