JavaServer Pages specific Web container custom properties

You can configure name-value pairs of data, where the name is a property key and the value is a string value that you can use to set internal system configuration properties. Defining a new property enables you to configure a setting beyond what is available in the administrative console. The following is a list of the available JavaServer Pages custom properties. The JavaServer Pages custom properties are case sensitive.




Related tasks
Modifying the default Web container configuration
Related reference
JSP engine configuration parameters
Web container custom properties
Related information
IBM Bindings and Extensions Conversion Tool for Multi-Platforms.

com.ibm.wsspi.jsp.allowjspoutputelementmismatch

CTS requirements in previous releases was not applicable to the product, therefore the JSP container supported multiple occurrences of properties in the jsp:output element. In the current release, CTS compliance requires that the JSP container strictly enforces rules about multiple occurrences of properties in the jsp:output element. You can use the com.ibm.wsspi.jsp.allowjspoutputelementmismatch custom property to relax the enforcement of the rule for backward compatibility.

Name Value
com.ibm.wsspi.jsp.allowjspoutputelementmismatch true

com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition

CTS compliance requires that a tag library directive that defines a prefix must occur before that prefix is used in a custom tag. Because CTS requirements in previous releases were not required, this rule was not enforced; however, you can use the com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition custom property to relax the enforcement of the rule for backward compatibility.

Name Value
com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition true

com.ibm.wsspi.jsp.allowtaglibprefixredefinition

CTS compliance requires that if a tag library prefix is already defined with a different URI within a JSP, the product must create a translation error. Because CTS requirements in previous releases were not required, this rule was not enforced; however, you can use the com.ibm.wsspi.jsp.allowtaglibprefixredefinition custom property to relax the enforcement of the rule for backward compatibility.

Name Value
com.ibm.wsspi.jsp.allowtaglibprefixredefinition true

com.ibm.wsspi.jsp.allowunmatchedendtag

In version 5 of the product, improper termination of end tags was ignored whereas in version 6, a translation exception is created. This change of behavior in version 6 causes problems to users who are migrating their applications, which had improperly terminated end tags, to version 6. In version 6, to facilitate migration, a WebContainer property, com.ibm.wsspi.jsp.allowunmatchedendtag, and a JSPAttribute, allowUnmatchedEndTag),are provided. Enabling these properties provides the version 5 behavior.

Name Value
com.ibm.wsspi.jsp.allowunmatchedendtag true

com.ibm.wsspi.jsp.userepeatint

The custom property com.ibm.wsspi.jsp.userepeatint ....

Name Value
com.ibm.wsspi.jsp.userepeatint true

com.ibm.wsspi.jsp.usescriptvardupinit

The code generated for a JSP file assumed that the same tag variables to be declared twice in an If-Else condition even if the variable had a 'page' scope. The custom property com.ibm.wsspi.jsp.usescriptvardupinit is used to enable this feature for all the applications deployed on a particular server. If the compatibility feature is required only for a specific application then the JSPAttribute useScriptVarDupInit needs to be enabled. If both the options are set then the JSPAttribute takes preference over the webcontainer property.

Name Value
com.ibm.wsspi.jsp.usescriptvardupinit true

com.ibm.wsspi.jsp.usestringcast

The com.ibm.wsspi.jsp.usestringcast property explicitly adds a 'String cast' to the relative path before inclusion when you migrate version 5.1 applications. In version 6.0.x, the generated Java™ source for the JSP file did not add the "implicit" cast, for return types of type String when the request.getAttribute method is called. When a JSP file includes a resource whose relative path does not evaluate to a String, then the include fails as the include takes only a String as a relative path of the resource. You can set the com.ibm.wsspi.jsp.usestringcast custom property, which would affect all the deployed applications or you can set the property as a JSPAttribute, useStringCast, in the extensions file, which affects only the application for which the property is set.

Name Value
com.ibm.wsspi.jsp.usestringcast true

com.ibm.wsspi.jsp.usecdatatrim

You can use the com.ibm.wsspi.jsp.usecdatatrim custom property to trim the text before creating CDATA section which eliminates the extra whitespaces addedUsers Affected: WebSphere® Application server version 6 users who are migrating their applications from version 5 to version 6 and whose JSPs make use of nesting tags in separate lines. Problem Description: JSP files that make use of nesting tags have extra lines in the code generated for this section. In version 6, you could eliminate the extra spaces by appending all the lines into one as in: '' The extra line is added in the Java code generated because the text is not trimmed before creating the CDATA section. Therefore, a switch is provided to enable the trimming of the text before creating the CDATA section. You can set the JSP attribute, useCDataTrim, at the Web module level or set the com.ibm.wsspi.jsp.usecdatatrim Web container property at the Web container level using the following name-value pair.

Name Value
com.ibm.wsspi.jsp.usecdatatrim

com.ibm.ws.jsp.getparameterreturnemptystring

This property is for returning an empty string for actions not set in a JSP file. If a JSP file contains an action and that property has not been set, the JSP engine returns null on WebSphere Application Server versions 6.0 and 6.1. However, in WebSphere Application Server version 5.1 an empty string is returned. This custom property was added to provide backwards compatibility. When it is set to true, the value returned on a call to jsp:getProperty is an empty string instead of null for versions 6.0 and 6.1.

Name Value
com.ibm.ws.jsp.getparameterreturnemptystring true

com.ibm.wsspi.jsp.evalquotedandescapedexpression

This property is for compiling functions that contain an expression. The JSP translation code was modified to handle escape characters and quotations properly when determining whether to evaluate an expression or to treat it as a literal string. To apply this behavior globally across all Web applications, add the following name-value pair as a Web container custom property.

Name Value
com.ibm.wsspi.jsp.evalquotedandescapedexpression true

[sep2010] To enable this new behavior for a single application, you must also add the evalquotedandescapedexpression JSP attribute to the ibm-web-ext.xmi or ibm-web-ext.xml file of the failing application and set the value to true. [sep2010]

sep2010

The following example code shows the attribute in an XMI format:
<jspAttributes xmi:id="JSPAttribute_1" name="evalquotedandescapedexpression" value="true"/>
Avoid trouble: The attribute id value must be unique.gotcha
[sep2010] The following example code shows the attribute in the ibm-web-ext.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
	xmlns="http://websphere.ibm.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
	version="1.0">
	<jsp-attribute name="evalquotedandescapedexpression" value="true" />

	<reload-interval value="3"/>
	<auto-encode-requests value="true"/>
	<auto-encode-responses value="true"/>
	<enable-directory-browsing value="true"/>
	<enable-file-serving value="true"/>
	<pre-compile-jsps value="true"/>
	<enable-reloading value="true"/>
	<enable-serving-servlets-by-class-name value="true" />	

</web-ext>
[sep2010]
sep2010
Best practice: [sep2010] Use an assembly tool, such as Rational Application Developer, to modify IBM extension and binding files. You can convert extension and binding files within modules from XMI to XML using the IBM Bindings and Extensions Conversion Tool for Multi-Platforms. [sep2010]
sep2010
bprac
Supported configurations: For IBM® extension and binding files, the .xmi or .xml file name extension is different depending on whether you are using a pre-Java EE 5 application or module or a Java EE 5 or later application or module. An IBM extension or binding file is named ibm-*-ext.xmi or ibm-*-bnd.xmi where * is the type of extension or binding file such as app, application, ejb-jar, or web. The following conditions apply:
  • For an application or module that uses a Java EE version prior to version 5, the file extension must be .xmi
  • For an application or module that uses Java EE 5 or later, the file extension must be .xml

However, a Java EE 5 or later module can exist within an application that includes pre-Java EE 5 files and uses the .xmi file name extension.

The ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, and ibm-portlet-ext.xmi files continue to use the .xmi file extensions.

sptcfg

com.ibm.ws.jsp.jdksourcelevel

This property is for setting the JDK source level through the administrative console. A JSP engine parameter can be configured for different levels of JDK, but this requires that you set the jdksourcelevel JSP attribute in the Web extension file for each Web module. However, you can use the com.ibm.ws.jsp.jdksourcelevel custom property to set the JSP attribute globally using the Web container custom property. If this attribute is also defined in the Web extension file, the property defined in the Web extension file supersedes the custom property for that particular application. This custom property is not case sensitive.

[jun2010] The default value is 15. [jun2010]

jun2010

Name Value
com.ibm.ws.jsp.jdksourcelevel 13, 14, or 15 if you are running on Version 7.0.0.9 or lower.

[Fix Pack 11 or later] 13, 14, 15 or 16 if you are running on Version 7.0.0.11 or higher.

com.ibm.wsspi.jsp.recompilejsponrestart

This property forces JSP files that were compiled at runtime to be recompiled every time the application is restarted. This is helpful if you switch the underlying JSF implementation. This property is best used on development environments.

Name Value
com.ibm.wsspi.jsp.recompilejsponrestart true

com.ibm.wsspi.jsp.modifyPageContextVariable

During the translation phase of a tag file that is compiled, the JSP container implicitly uses the pageContext variable for the PageContext object. The use of the pageContext variable as an implicit variable name in tag files does not comply with the JSP Specification.

If compilation errors occur for applications that use a local pageContext variable in their tag file, set the com.ibm.wsspi.jsp.modifyPageContextVariable custom property totrue to remove the use of the pageContext variable name in the generated Java code for tag files.

Name Value
com.ibm.wsspi.jsp.modifyPageContextVariable true
Reference topic    

Terms of Use | Feedback

Last updated: Oct 20, 2010 9:57:58 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-base-dist&topic=rweb_jsp_custom_props
File name: rweb_jsp_custom_props.html