1

我正在用 EJB 和 JSF 编写一个简单的网页。对于我的网络演示,我需要一个带有 inputFields 和复选框的页面。为了从我的网页获取输入到 javaclass,我需要配置我的 faces-config.xml 文件。我的问题来了:复选框产生布尔值。布尔值是一种原始数据类型。在我的 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 什么是原语?:)

4

1 回答 1

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 和 likes。但这样一来,您仍然应该坐在基于文本的编辑器中。

于 2013-09-26T17:31:52.153 回答