将项目从 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}"/>