将项目从 java1.4 迁移到 java1.8 时,TextBox 的默认值为 "null" in jsp
Default value of TextBox is "null" in jsp ,when migrate project from java1.4 to java1.8
最近我将我的java项目从jdk1.4迁移到jdk1.8,JSP页面中的大部分文本框,默认包含"null",其他字段具有来自数据库的动态值,因此如何删除此空值,我的项目包含近 300 jsp 页。我是 java 技术的新手。
我正在使用 weblogic12c 作为应用服务器。
这在旧项目中工作正常
<td class="gray" nowrap bgcolor="#dedfde">RMA No.</td>
<td nowrap bgcolor="#dedfde"> <span class="gray">
<input name=tbxRMANo value="<%=strRMANO%>" >
</span> </td>
这是我为删除 "null" 并在新项目中工作所做的代码更改
<td class="gray" nowrap bgcolor="#dedfde">RMA No.</td>
<td nowrap bgcolor="#dedfde"> <span class="gray">
<input name=tbxRMANo value="<%=strRMANO!=null)?strRMANO:""%>" >
</span> </td>
您可以通过 weblogic.xml 配置文件中的设置来控制它:
添加<wls:print-nulls>false</wls:print-nulls>
<?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/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.7/weblogic-web-app.xsd">
<wls:weblogic-version>12.1.3</wls:weblogic-version>
<wls:context-root></wls:context-root>
<wls:jsp-descriptor>
<wls:print-nulls>false</wls:print-nulls>
</wls:jsp-descriptor>
</wls:weblogic-web-app>
您可以在 WebContent/WEB-INF 目录中找到 weblogic.xml 文件
默认值为 true,这就是您看到空值的原因。
虽然您已经有 300
个使用 scriplet 的 jsps,但您可以在整个项目中使用 IDE 到 find/replace
。
使用 EL 而不是 scriplet,假设 strRMANO
在任何一个范围 (page / request / session / application
) 中可用。
<input name=tbxRMANo value="${strRMANO}"/>
最近我将我的java项目从jdk1.4迁移到jdk1.8,JSP页面中的大部分文本框,默认包含"null",其他字段具有来自数据库的动态值,因此如何删除此空值,我的项目包含近 300 jsp 页。我是 java 技术的新手。 我正在使用 weblogic12c 作为应用服务器。 这在旧项目中工作正常
<td class="gray" nowrap bgcolor="#dedfde">RMA No.</td>
<td nowrap bgcolor="#dedfde"> <span class="gray">
<input name=tbxRMANo value="<%=strRMANO%>" >
</span> </td>
这是我为删除 "null" 并在新项目中工作所做的代码更改
<td class="gray" nowrap bgcolor="#dedfde">RMA No.</td>
<td nowrap bgcolor="#dedfde"> <span class="gray">
<input name=tbxRMANo value="<%=strRMANO!=null)?strRMANO:""%>" >
</span> </td>
您可以通过 weblogic.xml 配置文件中的设置来控制它:
添加<wls:print-nulls>false</wls:print-nulls>
<?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/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.7/weblogic-web-app.xsd">
<wls:weblogic-version>12.1.3</wls:weblogic-version>
<wls:context-root></wls:context-root>
<wls:jsp-descriptor>
<wls:print-nulls>false</wls:print-nulls>
</wls:jsp-descriptor>
</wls:weblogic-web-app>
您可以在 WebContent/WEB-INF 目录中找到 weblogic.xml 文件
默认值为 true,这就是您看到空值的原因。
虽然您已经有 300
个使用 scriplet 的 jsps,但您可以在整个项目中使用 IDE 到 find/replace
。
使用 EL 而不是 scriplet,假设 strRMANO
在任何一个范围 (page / request / session / application
) 中可用。
<input name=tbxRMANo value="${strRMANO}"/>