Как вы заставляете Weblogic печатать "null" в файлах jsp, а не пустую строку "", для переменных со значением null в качестве значения?
Предположим, у меня есть JS-код внутри jsp-файлов, например:
<%
String test = null;
%>
var test = <%=test%>;
С Tomcat и Websphere получим в результате JS:
var test = null;
Однако в Weblogic это будет:
var test = ;
Так что с weblogic есть синтаксическая ошибка.
Я знаю, что это довольно легко решить, используя условие; что-то в строке, если test==null, вывести "null", иначе вывести test. Тем не менее, я ищу какую-то настройку сервера, которая может изменить это поведение.
У меня уже написан код, поэтому я не хочу искать каждое место, где переменная, входящая в JavaScript, может быть нулевой.
Спасибо грей
2 ответа
Если weblogic проверяет NULL в выражении JSP, вы можете предотвратить это, выполнив:
<%
String test = null;
%>
var test = <%= String.valueOf(test) %>;
Это должно напечатать var test = null;
,
Я не знаю, можете ли вы управлять этим с помощью общесерверных настроек, но вы можете управлять им во всем мире с помощью параметра в файле конфигурации 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 -> Параметры вывода в схеме содержимого.