避免默认长值0显示在h:inputText中

Sre*_*ram 5 jsf jsf-1.2

我有一个<h:inputText>接受这样的long

<h:inputText value="#{ServiceTable.ID}" />
Run Code Online (Sandbox Code Playgroud)

该属性声明如下

public class ServiceTable {

    private long ID;

    // Getter and setter for ID.
}
Run Code Online (Sandbox Code Playgroud)

当我打开页面时,我总是0在文本框中看到.我怎么能避免呢?我只需要一个空的文本框.我正在使用JSF 1.2.

Bal*_*usC 8

Long而不是long.它默认为null.

private Long ID;
Run Code Online (Sandbox Code Playgroud)

并且,如果您正在运行Tomcat 6.0.16或更高版本或它的分支,那么您需要将以下VM参数添加到服务器启动参数以及禁用原语及其包装器的EL强制:

-Dorg.apache.el.parser.COERCE_TO_ZERO=false
Run Code Online (Sandbox Code Playgroud)