Как вы заставляете Weblogic печатать «null» в файлах jsp, а не пустую строку «», для переменных со значением null в качестве значения? - PullRequest
3 голосов
/ 05 апреля 2011

Предположим, у меня есть JS-код в jsp-файлах, например:


<%
String test = null;
%>

var test = <%=test%>;

С Tomcat и Websphere полученный JS будет:


var test = null;

Однако в Weblogic этобудет:


var test = ;

Так что с weblogic есть синтаксическая ошибка.

Я знаю, что эту проблему довольно легко решить с помощью условия;что-то в строке, если test == null, вывести «null», иначе вывести test.Тем не менее, я ищу какую-то настройку сервера, которая может изменить это поведение.

У меня уже написан код, поэтому я не хочу искать все места, где переменная, входящая в JavaScript, может бытьnull.

Спасибо, Грей

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Я не знаю, можете ли вы управлять этим с помощью общесерверных настроек, но вы можете управлять им с помощью настройки в файле конфигурации 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>

Это должно быть в каталоге WebContent / WEB-INF рядом с вашим файлом web.xml.

Обратите внимание, что по умолчанию установлено значение true, поэтому странно, что вы не видите нулей. Возможно, это уже установлено в ложь в другом месте. Попробуйте установить для него значение true в weblogic.xml, поскольку оно будет переопределять любые другие настройки.

Обратите внимание, что если у вас установлен Oracle Enterprise Pack для Eclipse для развертывания в WLS из Eclipse, вы получите хороший редактор, который поможет вам отредактировать файл weblogic.xml. Ищите этот параметр в JSP -> Параметры вывода на схеме содержимого.

0 голосов
/ 05 апреля 2011

Если weblogic проверяет нулевое значение в выражении JSP, вы можете предотвратить это, выполнив:

<%
String test = null;
%>

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

Это должно вывести var test = null;.

...