Propriedades Customizadas do Contêiner da Web Específicas de JavaServer Pages
É possível configurar pares de dados nome-valor, onde o nome é uma chave de propriedade e valor é um valor de cadeia que pode ser utilizado para configurar propriedades de configuração do sistema interno. É possível definir uma nova propriedade para que uma configuração seja feita além do que está disponível no console administrativo.
- 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
Use essa propriedade customizada para facilitar a migração de aplicativos da Versão 5.1.
Se um arquivo JSP contiver uma ação que não esteja configurada em um arquivo JSP, o mecanismo JSP retornará nulo. Na Versão 5.1, se um arquivo JSP contiver uma ação que não esteja configurada em um arquivo JSP, o mecanismo JSP retorna uma sequência vazia. Se for necessário que seus aplicativos continuem retornando uma sequência vazia, inclua essa propriedade em suas configurações JSP e configure-a como true. Quando essa propriedade é configurada true, o valor retornado em uma chamada para jsp:getProperty é uma sequência vazia em vez de nulo.
- Nome
- com.ibm.ws.jsp.getparameterreturnemptystring
- Valor
- Booleana
com.ibm.ws.jsp.jdksourcelevel
Use essa propriedade para configurar o nível de origem do JDK por meio do console administrativo.
Um parâmetro de mecanismo JSP pode ser configurado para diferentes níveis do JDK. Entretanto, a configuração de um parâmetro JSP requer que você configure o atributo JSP jdksourcelevel no arquivo de extensão da Web para cada módulo da Web. No entanto, é possível usar a propriedade customizada com.ibm.ws.jsp.jdksourcelevel para configurar o atributo JSP globalmente usando a propriedade customizada do contêiner da Web. Se esse atributo também estiver definido no arquivo de extensão da Web, a propriedade definida no arquivo de extensão da Web substituirá a propriedade customizada desse aplicativo específico. Essa propriedade customizada não faz distinção entre maiúsculas e minúsculas.
O valor padrão é 17.
- Nome
- com.ibm.ws.jsp.jdksourcelevel
- Valor
- 13, 14, 15, 16, 17 ou 18
com.ibm.wsspi.jsp.allowjspoutputelementmismatch
Os requisitos de CTS nos releases anteriores não são aplicáveis ao produto, portanto, o contêiner JSP suportava várias ocorrências de propriedades no elemento jsp:output. No release atual, a conformidade com o CTS requer que o contêiner de JSP aplique com rigor as regras sobre várias ocorrências de propriedades no elemento jsp:output. É possível usar a propriedade customizada com.ibm.wsspi.jsp.allowjspoutputelementmismatch para relaxar o cumprimento da regra para compatibilidade com versões anteriores.
- Nome
- com.ibm.wsspi.jsp.allowjspoutputelementmismatch
- Valor
- Booleana
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: Data não analisável: "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) ... mais de 28
Se você desejar permitir uma análise mais branda da data ao usar a tag parseDate em um aplicativo específico, inclua a propriedade com.ibm.ws.jstl.allowLenientDateParsing como um parâmetro de contexto no arquivo web.xml para esse aplicativo e configure esse parâmetro como true.
A seguir está um exemplo de como especificar essa propriedade como um parâmetro de contexto em um arquivo 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
A conformidade com o CTS requer que uma diretiva de biblioteca de tags que define um prefixo ocorra antes desse prefixo ser utilizado em uma tag customizada. Esta regra não era impingida em releases anteriores porque os requisitos de CTS não eram necessários. Entretanto, é possível usar a propriedade customizada com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition para relaxar o cumprimento da regra para compatibilidade com versões anteriores.
- Nome
- com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
- Valor
- Booleana
com.ibm.wsspi.jsp.allowtaglibprefixredefinition
A conformidade com o CTS requer que, se houver um prefixo de biblioteca de tags já definido com um URI diferente em uma JSP, o produto crie um erro de conversão. Esta regra não era impingida em releases anteriores porque os requisitos de CTS não eram necessários. Entretanto, é possível usar a propriedade customizada com.ibm.wsspi.jsp.allowtaglibprefixredefinition para relaxar o cumprimento da regra para compatibilidade com versões anteriores.
- Nome
- com.ibm.wsspi.jsp.allowtaglibprefixredefinition
- Valor
- Booleana
com.ibm.wsspi.jsp.allowunmatchedendtag
Use essa propriedade customizada para facilitar a migração de aplicativos da Versão 5.1.
Quando ocorre uma finalização incorreta de tags de finalização, uma exceção de conversão é criada. Na Versão 5.1 do produto, uma finalização incorreta de tags de finalização é ignorada. Se você estiver migrando aplicativos da Versão 5.1 que finalizaram incorretamente as tags de finalização, será possível incluir essa propriedade customizada em suas configurações de contêiner da web e configurá-la como true se não desejar que uma exceção de conversão seja emitida quando ocorrer uma finalização incorreta de tags de finalização.
Quando essa propriedade é configurada como true, essa funcionalidade é ativada para todos os aplicativos no servidor. Se você desejar ativar essa funcionalidade para um aplicativo específico, especifique o JSPAttribute allowUnmatchedEndTag no arquivo de extensões para esse aplicativo específico.
- Nome
- com.ibm.wsspi.jsp.allowunmatchedendtag
- Valor
- Booleana
com.ibm.wsspi.jsp.evalquotedandescapedexpression
Use essa propriedade para compilar funções que contêm uma expressão. O código de conversão da JSP foi modificado para lidar com caracteres de escape e aspas corretamente ao determinar se uma expressão deve ser avaliada ou tratada como uma cadeia literal. Para aplicar esse comportamento globalmente em todos os aplicativos da Web, inclua o seguinte par nome-valor como uma propriedade customizada do contêiner da Web.
- Nome
- com.ibm.wsspi.jsp.evalquotedandescapedexpression
- Valor
- Booleana
Para que esse novo comportamento seja possível para um único aplicativo, também será necessário incluir o atributo JSP evalquotedandescapedexpression no arquivo ibm-web-ext.xmi ou ibm-web-ext.xml do aplicativo com falha e configurar o valor como 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 entanto, um módulo Java EE 5 ou posterior pode existir dentro de um aplicativo que inclui arquivos pré-Java EE 5 e usa a extensão do nome do arquivo .xmi.
Os arquivos ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, e ibm-portlet-ext.xmi continuam a usar as extensões de arquivo .xmi.
sptcfgcom.ibm.wsspi.jsp.modifyPageContextVariable
Durante a fase de conversão de um arquivo de tag que é compilado, o contêiner JSP implicitamente usa a variável pageContext para o objeto PageContext. O uso da variável pageContext como um nome de variável implícito nos arquivos de tag não atendem à Especificação JSP.
Se ocorrerem erros de compilação para aplicativos que usam uma variável pageContext local em seu arquivo de tags, configure a propriedade customizada com.ibm.wsspi.jsp.modifyPageContextVariable como true para remover o uso do nome da variável pageContext no código Java gerado para arquivos de tags.
- Nome
- com.ibm.wsspi.jsp.modifyPageContextVariable
- Valor
- Booleana
com.ibm.wsspi.jsp.recompilejsponrestart
Esta propriedade força arquivos JSP que foram compilados no tempo de execução a serem novamente compilados sempre que o aplicativo é reiniciado. Esta propriedade é útil se você alternar a implementação JSF subjacente. Esta propriedade é melhor utilizada em ambientes de desenvolvimento.
- Nome
- com.ibm.wsspi.jsp.recompilejsponrestart
- Valor
- Booleana
com.ibm.wsspi.jsp.usecdatatrim
Use essa propriedade customizada para facilitar a migração de aplicativos da Versão 5.1.
Se os seus arquivos JSP incluírem tags de aninhamento em linhas separadas, linhas extras aparecerão no código Java gerado para essas seções dos arquivos JSP. As linhas extras são incluídas no código Java gerado porque o texto não é cortado antes da criação da seção CDATA.
É possível eliminar as linhas extras se você usar as aspas duplas (") para anexar todas as linhas a uma única linha, ou se usar essa propriedade para ativar o corte do texto antes de a seção CDATA ser criada. Cortar o texto antes de a sessão CDATA ser criada elimina os espaços em branco extras no código Java gerado.
Quando essa propriedade é incluída em suas configurações de contêiner da web e configuradas como true, essa funcionalidade é ativada para todos os aplicativos no servidor. Se você desejar ativar essa funcionalidade para um aplicativo específico, especifique o JSPAttribute, useCDataTrim, no arquivo de extensões para esse aplicativo específico.
- Nome
- com.ibm.wsspi.jsp.usecdatatrim
- Valor
- Booleana
com.ibm.wsspi.jsp.usescriptvardupinit
O código gerado para um arquivo JSP assumiu que as mesmas variáveis de tags sejam declaradas duas ou mais vezes em uma condição If-Else, mesmo se a variável tivesse um escopo de página. A propriedade customizada com.ibm.wsspi.jsp.usescriptvardupinit permite este recurso para todos os aplicativos implementados em um servidor particular. Se o recurso de compatibilidade for requerido apenas para um aplicativo específico, ative o atributo JSP useScriptVarDupInit. Se ambas as opções forem configuradas, então o atributo JSP tem preferência sobre a propriedade customizada do contêiner da Web.
- Nome
- com.ibm.wsspi.jsp.usescriptvardupinit
- Valor
- Booleana
com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude

- Nome
- com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude
- Valor
- false
com.ibm.wsspi.jsp.usestringcast
Use essa propriedade customizada para facilitar a migração de aplicativos da Versão 5.1.
A origem Java gerada para um arquivo JSP não inclui a cast "implícita" para tipos de retorno do tipo Sequência quando o método request.getAttribute é chamado. Quando um arquivo JSP inclui um recurso cujo caminho relativo não avalia uma Sequência, a inclusão falha porque ela suporta apenas uma Sequência como um caminho relativo do recurso. Esse comportamento é diferente do comportamento na Versão 5.1.
Se você estiver migrando aplicativos da Versão 5.1 que incluem o método request.getAttribute, será possível incluir essa propriedade em suas configurações de contêiner da web e configurá-la como true. Quando essa propriedade é configurada como true, o compilador JSP inclui explicitamente uma 'cast de Sequência' no caminho relativo de um recurso antes da inclusão.
Quando essa propriedade é incluída em suas configurações de contêiner da web e configuradas como true, essa funcionalidade é ativada para todos os aplicativos no servidor. Se desejar ativar essa funcionalidade, especifique o JSPAttribute useStringCast no arquivo de extensões para o aplicativo específico.
- Nome
- com.ibm.wsspi.jsp.usestringcast
- Valor
- Booleana