JSP-spezifische angepasste Web-Container-Eigenschaften
Sie können Name/Wert-Paare konfigurieren, in denen der Name für einen Eigenschaftsschlüssel und der Wert für einen Zeichenfolgewert steht, mit denen Sie interne Systemkonfigurationseigenschaften definieren können. Durch die Definition einer neuen Eigenschaft können Sie eine Einstellung konfigurieren, die über die Einstellungen der Administrationskonsole hinausgeht.
- 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
Verwenden Sie diese angepasste Eigenschaft, um die Migration von Anwendungen der Version 5.1 zu vereinfachen.
Wenn eine JSP-Datei eine Aktion enthält, die nicht in einer JSP-Datei definiert ist, gibt die JSP-Engine null zurück. Wenn eine JSP-Datei in Version 5.1 eine Aktion enthält, die nicht in einer JSP-Datei definiert ist, gibt die JSP-Engine eine leere Zeichenfolge zurück. Wenn es erforderlich ist, dass Ihre Anwendungen weiterhin eine leere Zeichenfolge zurückgibt, fügen Sie diese Eigenschaft Ihren JSP-Einstellungen hinzu und setzen Sie sie auf true. Wenn diese Eigenschaft auf true gesetzt wird, ist der bei einem Aufruf von jsp:getProperty zurückgegebene Wert eine leere Zeichenfolge und nicht null.
- Name
- com.ibm.ws.jsp.getparameterreturnemptystring
- Wert
- Boolean
com.ibm.ws.jsp.jdksourcelevel
Verwenden Sie diese Eigenschaft, um die JDK-Quellenversion über die Administrationskonsole zu setzen.
Ein Parameter für die JSP-Engine kann für verschiedene JDK-Versionen konfiguriert werden. Wenn Sie jedoch einen JSP-Parameter festlegen, müssen Sie für jedes Webmodul das JSP-Attribut "jdksourcelevel" in der Weberweiterungsdatei festlegen. Mit der angepassten Eigenschaft "com.ibm.ws.jsp.jdksourcelevel" können Sie das JSP-Attribut jedoch global für den Web-Container definieren. Wenn dieses Attribut auch in der Weberweiterungsdatei definiert ist, hat die in der Weberweiterungsdatei definierte Eigenschaft Vorrang vor der angepassten Eigenschaft dieser Anwendung. Bei dieser angepassten Eigenschaft muss die Groß-/Kleinschreibung nicht beachtet werden.
Der Standardwert ist "17".
- Name
- com.ibm.ws.jsp.jdksourcelevel
- Wert
- 13, 14, 15, 16, 17 oder 18
com.ibm.wsspi.jsp.allowjspoutputelementmismatch
CTS-Anforderungen in früheren Versionen waren auf das Produkt nicht anwendbar, daher unterstützte der JSP-Container Mehrfachvorkommen von Eigenschaften im Element "jsp:output". Im aktuellen Release ist für die CTS-Konformität erforderlich, dass der JSP-Container die Regeln bezüglich der Mehrfachvorkommen von Eigenschaften im Element "jsp:output" strikt einhält. Sie können die Einhaltung der Regel für die Abwärtskompatibilität jedoch mit der angepassten Eigenschaft "com.ibm.wsspi.jsp.allowjspoutputelementmismatch" lockern.
- Name
- com.ibm.wsspi.jsp.allowjspoutputelementmismatch
- Wert
- Boolean
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 more
Wenn Sie ein toleranteres Parsing des Datums zulassen möchten, wenn das Tag "parseDate" in einer bestimmten Anwendung verwendet wird, fügen Sie die angepasste Eigenschaft "com.ibm.ws.jstl.allowLenientDateParsing" als Kontextparameter in der Datei "web.xml" für diese Anwendung hinzu und setzen Sie diesen Parameter auf true.
Das folgende Beispiel zeigt, wie diese Eigenschaft als Kontextparameter in Dateien "web.xml" angegeben wird:
<context-param>
<param-name>com.ibm.ws.jstl.allowLenientDateParsing</param-name>
<param-value>true</param-value>
</context-param>

com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
Die CTS-Konformität erfordert eine Tag-Bibliotheksanweisung, die ein Präfix definiert, bevor dieses Präfix in einem angepassten Tag verwendet wird. Diese Regel wurde in früheren Releases nicht durchgesetzt, da keine CTS-Anforderungen erforderlich waren. Sie können die Einhaltung der Regel für die Abwärtskompatibilität mit der angepassten Eigenschaft com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition lockern.
- Name
- com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
- Wert
- Boolean
com.ibm.wsspi.jsp.allowtaglibprefixredefinition
Die CTS-Konformität erfordert, dass das Produkt einen Übersetzungsfehler erstellt, wenn bereits ein Tag-Bibliothekspräfix mit einem anderen URL in einer JSP-Datei definiert ist. Diese Regel wurde in früheren Releases nicht durchgesetzt, da keine CTS-Anforderungen erforderlich waren. Sie können die Einhaltung der Regel für die Abwärtskompatibilität mit der angepassten Eigenschaft "com.ibm.wsspi.jsp.allowtaglibprefixredefinition" lockern.
- Name
- com.ibm.wsspi.jsp.allowtaglibprefixredefinition
- Wert
- Boolean
com.ibm.wsspi.jsp.allowunmatchedendtag
Verwenden Sie diese angepasste Eigenschaft, um die Migration von Anwendungen der Version 5.1 zu vereinfachen.
Wenn Endtags nicht ordnungsgemäß beendet werden, wird eine Umsetzungsausnahme ausgelöst. In Version 5.1 des Produkts wird die nicht ordnungsgemäße Beendigung von Endtags ignoriert. Wenn Sie Anwendungen von Version 5.1 migrieren, die nicht ordnungsgemäß beendet Endtags enthalten, können Sie diese angepasste Eigenschaft Ihren Einstellungen des Web-Containers hinzufügen und auf true setzen, wenn Sie möchten, dass diese Umsetzungsausnahme nicht ausgegeben wird, wenn eine nicht ordnungsgemäße Beendigung von Endtags gefunden wird.
Wenn Sie diese Eigenschaft auf "true" setzen, wird diese Funktionalität für alle Anwendungen im Server aktiviert. Wenn Sie diese Funktionalität für eine bestimmte Anwendung aktivieren möchten, geben Sie das JSP-Attribut "allowUnmatchedEndTag" in der Erweiterungsdatei für die jeweilige Anwendung an.
- Name
- com.ibm.wsspi.jsp.allowunmatchedendtag
- Wert
- Boolean
com.ibm.wsspi.jsp.evalquotedandescapedexpression
Verwenden Sie diese Eigenschaft, um Funktionen zu kompilieren, die einen Ausdruck enthalten. Der JSP-Übersetzungscode wurde geändert und verarbeitet jetzt Escape-Zeichen und Anführungszeichen korrekt, wenn bestimmt wird, ob ein Ausdruck ausgewertet werden soll oder ob er als Literalzeichenfolge zu behandeln ist. Damit dieses Verhalten global auf alle Webanwendungen angewendet wird, fügen Sie das folgende Name/Wert-Paar als angepasste Web-Container-Eigenschaft hinzu.
- Name
- com.ibm.wsspi.jsp.evalquotedandescapedexpression
- Wert
- Boolean
Zum Aktivieren dieses neuen Verhaltens für eine einzige Anwendung müssen Sie auch das JSP-Attribut "evalquotedandescapedexpression" der Datei ibm-web-ext.xmi oder ibm-web-ext.xml der fehlgeschlagenen Anwendung hinzufügen und dieses Attribut auf true setzen.
<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>


Ein Modul von Java EE Version 5 oder einer höheren Version kann jedoch in einer Anwendung, die Dateien einer älteren Java EE-Version als Version 5 enthält, koexistieren.
Die Dateien ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi und ibm-portlet-ext.xmi können die Dateierweiterung ".xmi" weiterhin verwenden.
sptcfgcom.ibm.wsspi.jsp.modifyPageContextVariable
Während der Übersetzung einer kompilierten Tag-Datei verwendet der JSP-Container implizit die Variable "pageContext" für das Objekt "PageContext". Die Verwendung der Variablen "pageContext" als implizite Variable in Tag-Dateien entspricht nicht der JSP-Spezifikation.
Wenn bei Anwendungen, die eine lokale Variable "pageContext" in ihrer Tag-Datei verwenden, Kompilierungsfehler auftreten, setzen Sie die angepasste Eigenschaft "com.ibm.wsspi.jsp.modifyPageContextVariable" auf true, um die Verwendung der Variablen "pageContext" im generierten Java-Code für Tag-Dateien zu verhindern.
- Name
- com.ibm.wsspi.jsp.modifyPageContextVariable
- Wert
- Boolean
com.ibm.wsspi.jsp.recompilejsponrestart
Mit dieser Eigenschaft wird die Neukompilierung von JSP-Dateien, die während der Laufzeit kompiliert wurden, bei jedem Anwendungsneustart erzwungen. Diese Eigenschaft ist nützlich, um die zugrunde liegende JSF-Implementierung zu wechseln. Die Verwendung dieser Eigenschaft empfiehlt sich für Entwicklungsumgebungen.
- Name
- com.ibm.wsspi.jsp.recompilejsponrestart
- Wert
- Boolean
com.ibm.wsspi.jsp.usecdatatrim
Verwenden Sie diese angepasste Eigenschaft, um die Migration von Anwendungen der Version 5.1 zu vereinfachen.
Wenn Ihre JSP-Dateien Verschachtelungstags in separaten Zeilen enthalten, erscheinen zusätzliche Zeilen in dem Java-Code, der für diese Abschnitte der JSP-Dateien generiert wird. Die zusätzlichen Zeilen werden im generierten Java-Code hinzugefügt, weil der Text vor der Erstellung des CDATA-Abschnitts nicht abgeschnitten wird.
Sie können diese zusätzlichen Zeilen verhindern, indem Sie ein doppeltes Anführungszeichen (") verwenden, um alle Zeilen in einer einzigen Zeile anzufügen, oder indem Sie diese Eigenschaft verwenden, um ein Abschneiden des Texts vor der Erstellung des CDATA-Abschnitts zu ermöglichen. Wenn der Text vor der Erstellung des CDATA-Abschnitts abgeschnitten wird, werden die zusätzlichen Leerräume im generierten Java-Code entfernt.
Wenn Sie diese Eigenschaft Ihren Einstellungen des Web-Containers hinzufügen und auf true setzen, ist diese Funktionalität für alle Anwendungen im Server aktiviert. Wenn Sie diese Funktionalität für eine bestimmte Anwendung aktivieren möchten, geben Sie das JSP-Attribut "useCDataTrim" in der Erweiterungsdatei für die jeweilige Anwendung an.
- Name
- com.ibm.wsspi.jsp.usecdatatrim
- Wert
- Boolean
com.ibm.wsspi.jsp.usescriptvardupinit
Der für eine JSP-Datei generierte Code setzt voraus, dass dieselben Tag-Variablen zweimal oder öfter in einer If-Else-Bedingung deklariert werden, selbst wenn die Variable seitenbezogen ist. Die angepasste Eigenschaft "com.ibm.wsspi.jsp.usescriptvardupinit" wird verwendet, um dieses Feature für alle Anwendungen zu aktivieren, die in einem bestimmten Server implementiert sind. Wenn das Kompatibilitätsfeature nur für eine bestimmte Anwendung erforderlich ist, muss das JSP-Attribut "useScriptVarDupInit" aktiviert werden. Wenn beide Optionen gesetzt sind, hat das JSP-Attribut Vorrang vor der angepassten Web-Container-Eigenschaft.
- Name
- com.ibm.wsspi.jsp.usescriptvardupinit
- Wert
- Boolean
com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude

- Name
- com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude
- Wert
- false
com.ibm.wsspi.jsp.usestringcast
Verwenden Sie diese angepasste Eigenschaft, um die Migration von Anwendungen der Version 5.1 zu vereinfachen.
Die generierte Java-Quelle für eine JSP-Datei fügt die implizite Umsetzung für Rückgabetypen des Typs "String" nicht hinzu, wenn die Methode "request.getAttribute" aufgerufen wird. Wenn eine JSP-Datei eine Ressource einschließt, deren relativer Pfad nicht in eine Zeichenfolge ausgewertet wird, scheitert der Einschluss, weil nur eine Zeichenfolge als relativer Pfad der Ressource verwendet wird. Dieses Verhalten weicht vom Verhalten der Version 5.1 ab.
Wenn Sie Anwendungen der Version 5.1 migrieren, die die Methode "request.getAttribute" enthalten, können Sie diese Eigenschaft Ihren Einstellungen des Web-Containers hinzufügen und auf true setzen. Wenn Sie diese Eigenschaft auf true setzen, fügt der JSP-Compiler vor dem Einschluss explizit eine 'String-Umsetzung' zum relativen Pfad einer Ressource hinzu.
Wenn Sie diese Eigenschaft Ihren Einstellungen des Web-Containers hinzufügen und auf true setzen, ist diese Funktionalität für alle Anwendungen im Server aktiviert. Wenn Sie diese Funktionalität aktivieren möchten, geben Sie das JSP-Attribut "useStringCast" in der Erweiterungsdatei für die jeweilige Anwendung an.
- Name
- com.ibm.wsspi.jsp.usestringcast
- Wert
- Boolean