3

次のようなJSコードがjspファイル内にあるとします。


<%
String test = null;
%>

var test = <%=test%>;

TomcatとWebsphereを使用すると、結果のJSは次のようになります。


var test = null;

ただし、Weblogicでは次のようになります。


var test = ;

したがって、weblogicでは構文エラーが発生します。

これは、条件を使用して解決するのがかなり簡単な問題であることを私は知っています。test == nullの場合は何かの行を印刷し、それ以外の場合はtestを印刷します。しかし、私が探しているのは、この動作を変更できるある種のサーバー設定です。

私はすでにコードを書いているので、JavaScriptに入る変数がnullになる可能性のあるすべての場所を検索したくありません。

ありがとう、グレイ

4

2 に答える 2

2

サーバー全体の設定を介してこれを制御できるかどうかはわかりませんが、weblogic.xml 構成ファイルの設定を介して戦争全体を制御できます。

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
    ...
    <wls:jsp-descriptor>
        <wls:print-nulls>true</wls:print-nulls>
    </wls:jsp-descriptor>
</wls:weblogic-web-app>

これは、web.xml ファイルの次の WebContent/WEB-INF ディレクトリに配置する必要があります。

デフォルトは true であるため、null が表示されないのは奇妙であることに注意してください。おそらく、これは他の場所で既に false に設定されています。他の設定をオーバーライドするため、weblogic.xml で true に設定してみてください。

Eclipse から WLS にデプロイするために Oracle Enterprise Pack for Eclipse がインストールされている場合は、weblogic.xml ファイルの編集に役立つ優れたエディタが提供されます。この設定は、コンテンツ アウトラインの [JSP] -> [出力オプション] で探します。

于 2011-04-05T16:33:16.097 に答える
0

weblogicがJSP式でnullをテストする場合は、次のようにしてこれを防ぐことができます。

<%
String test = null;
%>

var test = <%= String.valueOf(test) %>;

これは印刷する必要がありますvar test = null;

于 2011-04-05T16:09:36.250 に答える