如何告诉JSF识别原始数据类型?

时间:2013-09-26 16:40:39

标签: jsf javabeans primitive-types

我正在用EJB和JSF编写一个简单的网页。对于我的webpresentation,我需要一个包含inputFields和复选框的页面。 为了从我的网页获取输入到javaclass,我需要配置faces-config.xml文件。 这是我的问题:复选框产生布尔值。 Boolean是原始数据类型。在我的javaclass中,我将以这种方式定义基元

    private boolean checkBox1;
    private boolean checkBox2;

但我的faces-config.xml无法识别此数据类型。它希望我通过java.lang.Boolean定义它。如果我这样做一切都很好但是在任何javaclass中都有这样的代码感觉不对:

    private java.lang.Boolean checkBox1;
    private java.lang.Boolean checkBox2;

有没有办法“教”faces-config.xml是什么原语? :)

1 个答案:

答案 0 :(得分:2)

  

为了从我的网页获取输入到javaclass,我需要配置我的faces-config.xml文件

这没有任何意义。只需将组件的值直接绑定到bean属性即可。以下工作对我来说没有任何faces-config.xml注册(JSF 2.x假设):

<h:form>
    <h:selectBooleanCheckbox value="#{bean.checked}" />
    <h:commandButton value="submit" action="#{bean.submit}" />
</h:form>

@ManagedBean
@RequestScoped
public class Bean {

    private boolean checked;

    public void submit() {
        System.out.println(checked);
    }

    public boolean isChecked() {
        return true;
    }

    public void setChecked(boolean checked) {
        this.checked = checked;
    }

}

  

我做了一个教程,他们使用了faces-config.xml的图形编辑器

不要使用图形编辑器。不要拖动代码。你不会以这种方式学习编写代码。只需自己编写代码。但是,您可以使用快捷方式/向导自动生成getter / setter等。但有了这个,你仍然应该坐在基于文本的编辑器中。