Wicket:DateTextField设置

时间:2014-10-08 12:28:11

标签: java wicket

我创建了一些DateTextFields。它们工作得很好,但我想使用另一种语言和另一种日期格式。

根据wicket-bootstrap我创建了这样的字段:

final DateTextField startDate = new DateTextField("startDate",  new DateTextFieldConfig().withLanguage("es");

但这没有效果。我搜索了一段时间,我发现的唯一一件事是我可以使用像这样的构造函数(JavaDocs)更改默认日期模式:

final DateTextField startDate = new DateTextField("startDate", "dd-MM-yyyy");

两种方式都没有效果。还有其他方法可以改变语言和日期模式吗?

1 个答案:

答案 0 :(得分:3)

每个组件都有方法getLocale。如果要更改语言,则应覆盖它。当您想要将语言更改为斯洛伐克语时,这应该有效:

final DateTextField startDate = new DateTextField("startDate", "dd-MM-yyyy") {
    @Override
    public Locale getLocale() {
        return new Locale("sk", "SK");
    }
};

这只是更改当前组件的语言。如果要将语言更改为所有组件,则应更改会话的语言环境:

add(new Link<Void>("goSk") {

    private static final long serialVersionUID = 1L;

    @Override
    public void onClick() {
        getSession().setLocale(new Locale("sk", "SK"));
    }
});

add(new Link<Void>("goEn") {

    private static final long serialVersionUID = 1L;

    @Override
    public void onClick() {
        getSession().setLocale(Locale.US);
    }
});

更多信息请点击此处:http://wicket.apache.org/guide/guide/i18n.html