Propiedades personalizadas del contenedor web específicas de JavaServer Pages
Puede configurar los pares de datos de nombre-valor arbitrarios, en los que el nombre es una clave de propiedad y el valor es un valor de serie que se puede utilizar para establecer propiedades internas de configuración del sistema. Puede definir una propiedad nueva para configurar un valor más allá de lo que está disponible en la consola administrativa.
- com.ibm.ws.jsp.getparameterreturnemptystring
- com.ibm.ws.jsp.jdksourcelevel
- com.ibm.ws.jstl.allowLenientDateParsing
- com.ibm.wsspi.jsp.allowjspoutputelementmismatch
- com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
- com.ibm.wsspi.jsp.allowtaglibprefixredefinition
- com.ibm.wsspi.jsp.allowunmatchedendtag
- com.ibm.wsspi.jsp.evalquotedandescapedexpression
- com.ibm.wsspi.jsp.modifyPageContextVariable
- com.ibm.wsspi.jsp.recompilejsponrestart
- com.ibm.wsspi.jsp.usecdatatrim
- com.ibm.wsspi.jsp.usescriptvardupinit
- com.ibm.wsspi.jsp.usestringcast
- com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude
com.ibm.ws.jsp.getparameterreturnemptystring
Utilice esta propiedad personalizada para facilitar la migración de las aplicación de la Versión 5.1.
Si un archivo JSP contiene una acción que no está establecida en un archivo JSP, el motor JSP devuelve null. En la Versión 5.1, si un archivo JSP contiene una acción que no está establecida en un archivo JSP, el motor JSP ha devuelto una serie vacía. Si necesita que las aplicaciones sigan devolviendo una serie vacía, añada esta propiedad a los valores JSP y establézcala en true. Cuando esta propiedad se establece en true, el valor devuelto en una llamada a jsp:getProperty es una serie vacía en lugar de nulo.
- Nombre
- com.ibm.ws.jsp.getparameterreturnemptystring
- Valor
- Booleano
com.ibm.ws.jsp.jdksourcelevel
Utilice esta propiedad para establecer el nivel de fuente JDK mediante la consola administrativa.
Un parámetro de motor JSP se puede configurar para distintos niveles de JDK. Sin embargo, un parámetro de motor JSP jdksourcelevel requiere que establezca el atributo JSP en el archivo de extensión web para cada módulo web. Sin embargo, puede utilizar la propiedad personalizada com.ibm.ws.jsp.jdksourcelevel para definir el atributo JSP de forma global utilizando la propiedad personalizada del contenedor web. Si este atributo también está definido en el archivo de extensión web, la propiedad definida en el archivo de extensión web reemplaza la propiedad personalizada para dicha aplicación particular. Esta propiedad personalizada no distingue entre mayúsculas y minúsculas.
El valor predeterminado es 17.
- Nombre
- com.ibm.ws.jsp.jdksourcelevel
- Valor
- 13, 14, 15, 16, 17 o 18
com.ibm.wsspi.jsp.allowjspoutputelementmismatch
Los requisitos de CTS de los releases anteriores no eran aplicables al producto, por lo tanto el contenedor JSP soportaba múltiples apariciones de propiedades en el elemento jsp:output. En el release actual, el cumplimiento de CTS obliga a que el contenedor JSP aplique estrictamente las reglas relativas a las múltiples apariciones de propiedades en el elemento jsp:output. Puede utilizar la propiedad personalizada com.ibm.wsspi.jsp.allowjspoutputelementmismatch para flexibilizar la aplicación de la regla a efectos de compatibilidad con versiones anteriores.
- Nombre
- com.ibm.wsspi.jsp.allowjspoutputelementmismatch
- Valor
- Booleano
com.ibm.ws.jstl.allowLenientDateParsing
<fmt:parseDate value="20070311 02:00:00 AM"
var="myTestDate"
type="date"
pattern="yyyyMMdd HH:mm:ss a" />
java.text.ParseException: Unparseable date: "20070311 02:00:00 AM"
at java.text.DateFormat.parse(DateFormat.java:349) at
org.apache.taglibs.standard.tag.common.fmt.ParseDateSupport.doEn dTag(ParseDateSupport.java:178)
at com.ibm._jsp._testDate._jspx_meth_fmt_parseDate_0(_jstlDate.java :123)
at com.ibm._jsp._testDate._jspService(_jstlDate.java:86) ... 28 más
Si desea permitir un análisis más permisivo de la fecha cuando se utiliza la etiqueta parseDate en una aplicación específica, añada la propiedad com.ibm.ws.jstl.allowLenientDateParsing como un parámetro de contexto al archivo web.xml para esa aplicación y establezca este parámetro en true.
A continuación se muestra un ejemplo de cómo especificar esta propiedad como un parámetro de contexto en un archivo web.xml:
<context-param>
<param-name>com.ibm.ws.jstl.allowLenientDateParsing</param-name>
<param-value>true</param-value>
</context-param>

com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
El cumplimiento de CTS requiere que una directiva de biblioteca de códigos que defina un prefijo debe aparecer antes de que se utilice dicho prefijo en un código personalizado. Esta regla no se aplicaba en releases anteriores puesto que los requisitos de CTS no eran necesarios. No obstante, puede utilizar la propiedad personalizada com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition para flexibilizar la aplicación de la regla a efectos de compatibilidad con versiones anteriores.
- Nombre
- com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
- Valor
- Booleano
com.ibm.wsspi.jsp.allowtaglibprefixredefinition
El cumplimiento de CTS requiere que si ya se ha definido un prefijo de biblioteca de códigos con un URI distinto en una JSP, el producto debe crear un error de traducción. Esta regla no se aplicaba en releases anteriores puesto que los requisitos de CTS no eran necesarios. Sin embargo, puede utilizar la propiedad personalizada com.ibm.wsspi.jsp.allowtaglibprefixredefinition para flexibilizar la aplicación de la regla a efectos de compatibilidad con versiones anteriores.
- Nombre
- com.ibm.wsspi.jsp.allowtaglibprefixredefinition
- Valor
- Booleano
com.ibm.wsspi.jsp.allowunmatchedendtag
Utilice esta propiedad personalizada para facilitar la migración de las aplicación de la Versión 5.1.
Cuando se produce una terminación incorrecta de etiquetas de final, se crea una excepción de conversión. En la versión 5.1 del producto, se ignoraba la terminación incorrecta de etiquetas de final. Si va a migrar las aplicaciones de la Versión 5.1 que tienen etiquetas de final terminadas incorrectamente, puede añadir esta propiedad personalizada a los valores de contenedor web y establecerla en true si no desea que se emita una excepción de conversión si se produce una terminación de etiquetas de final incorrecta.
Si esta propiedad se establece en true, se habilita esta funcionalidad para todas las aplicaciones del servidor. Si desea habilitar esta funcionalidad para una aplicación específica, especifique el JSPAttribute allowUnmatchedEndTag, en el archivo de extensiones para esa aplicación específica.
- Nombre
- com.ibm.wsspi.jsp.allowunmatchedendtag
- Valor
- Booleano
com.ibm.wsspi.jsp.evalquotedandescapedexpression
Utilice esta propiedad para compilar funciones que contienen una expresión. Se ha modificado el código de traducción de JSP para manejar correctamente caracteres de escape y series entrecomilladas al determinar si se debe evaluar una expresión o tratarla como una serie literal. Para aplicar este comportamiento de forma global entre todas las aplicaciones web, añada el siguiente par de nombre-valor como una propiedad personalizada del contenedor web.
- Nombre
- com.ibm.wsspi.jsp.evalquotedandescapedexpression
- Valor
- Booleano
Para habilitar este nuevo comportamiento para una sola aplicación, también debe añadir el atributo JSP evalquotedandescapedexpression en el archivo ibm-web-ext.xmi o ibm-web-ext.xml de la aplicación que falla y definir el valor en true.
<jspAttributes xmi:id="JSPAttribute_1" name="evalquotedandescapedexpression" value="true"/>

<?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>


No obstante, puede existir un módulo de Java EE 5 o posterior dentro de una aplicación que incluya archivos previos a Java EE 5 y que utilice la extensión de nombre de archivo .xmi.
Los archivos ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, y ibm-portlet-ext.xmi siguen utilizando la extensión de archivo .xmi.
sptcfgcom.ibm.wsspi.jsp.modifyPageContextVariable
Durante la fase de conversión de un archivo de distintivos que está compilado, el contenedor de JSP utiliza implícitamente la variable pageContext para el objeto PageContext. El uso de la variable pageContext como nombre de variable implícita en archivos de distintivos no cumple la especificación JSP.
Si se producen errores de compilación para las aplicaciones que utilizan una variable pageContext local en su archivo de códigos, establezca la variable personalizada com.ibm.wsspi.jsp.modifyPageContextVariable en true para eliminar el uso del nombre de variable pageContext en el código Java generado para los archivos de códigos.
- Nombre
- com.ibm.wsspi.jsp.modifyPageContextVariable
- Valor
- Booleano
com.ibm.wsspi.jsp.recompilejsponrestart
Esta propiedad obliga a los archivos JSP compilados en tiempo de ejecución a ser compilados de nuevo cada vez que se reinicie la aplicación. Esta propiedad resulta de utilidad si se cambia la implementación subyacente de JSF. Esta propiedad es adecuada para entornos de desarrollo.
- Nombre
- com.ibm.wsspi.jsp.recompilejsponrestart
- Valor
- Booleano
com.ibm.wsspi.jsp.usecdatatrim
Utilice esta propiedad personalizada para facilitar la migración de las aplicación de la Versión 5.1.
Si los archivos JSP incluyen etiquetas anidadas en líneas distintas, aparecen líneas adicionales en el código Java que se genera para esas secciones de los archivos JSP. Las líneas adicionales se añaden en el código Java generado porque no se recorta el texto antes de crear la sección CDATA.
Puede eliminar las líneas adicionales si utiliza las comillas (") para añadir todas las líneas en una sola línea, o si utiliza esta propiedad para habilitar el recorte del texto antes de que se cree la sección CDATA. Si se recorta el texto antes de que se cree la sección CDATA se eliminan los espacios en blanco adicionales en el código Java generado.
Si esta propiedad se añade a los valores de contenedor web y se establece en true, se habilita esta funcionalidad para todas las aplicaciones del servidor. Si desea habilitar esta funcionalidad para una aplicación específica, especifique el JSPAttribute, useCDataTrim, para ese archivo de extensiones de esa aplicación específica.
- Nombre
- com.ibm.wsspi.jsp.usecdatatrim
- Valor
- Booleano
com.ibm.wsspi.jsp.usescriptvardupinit
El código generado para un archivo JSP presupone que las mismas variables de código se han de declaran dos o más veces en una condición If-Else, incluso si la variable tiene un ámbito de la página. La propiedad personalizada com.ibm.wsspi.jsp.usescriptvardupinit habilita características para todas las aplicaciones desplegadas en un servidor concreto. Si la característica de compatibilidad sólo se requiere para una aplicación específica, habilite el atributo JSP useScriptVarDupInit. Si se establecen ambas opciones, el atributo JSP tiene prioridad sobre la propiedad personalizada del contenedor web.
- Nombre
- com.ibm.wsspi.jsp.usescriptvardupinit
- Valor
- Booleano
com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude

- Nombre
- com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude
- Valor
- false
com.ibm.wsspi.jsp.usestringcast
Utilice esta propiedad personalizada para facilitar la migración de las aplicación de la Versión 5.1.
El código fuente Java generado para un archivo JSP no añade la conversión "implícita", para tipos de retorno de tipo String al llamar al método request.getAttribute. Cuando un archivo JSP incluye un recurso cuya vía de acceso relativa no se evalúa como una serie, la inclusión falla puesto que esta última solo acepta una serie como vía de acceso relativa del recurso. Este comportamiento es distinto que el de la Versión 5.1.
Si va a migrar aplicaciones de la Versión 5.1 que incluyen el método request.getAttribute, puede añadir esta propiedad a los valores de contenedor web y establecerla en true. Si se establece esta propiedad en true el compilador de JSP añade explícitamente una 'conversión de tipo de datos String' a la vía de acceso relativa de un recurso antes de la inclusión.
Si esta propiedad se añade a los valores de contenedor web y se establece en true, se habilita esta funcionalidad para todas las aplicaciones del servidor. Si desea habilitar esta funcionalidad, especifique useStringCast JSPAtrribute en el archivo de extensiones para esa aplicación específica.
- Nombre
- com.ibm.wsspi.jsp.usestringcast
- Valor
- Booleano