2015-10-04 2 views
1

Вот мой DatePicker:JQuery DatePicker не может быть истолковано как дата на Java

$('#datepicker').datepicker({ 
     dateFormat : 'dd/mm/yyyy' 
    }); 

И JSF вход:

<h:inputText class="form-control" id="datenaissanceprofile" value="#{usermanagerMB.datenaissanceprofile}" maxlength="10"> 
<f:convertDateTime pattern="dd/MM/yyyy" /> 
</h:inputText> 

Java Дата:

public Date getDatenaissanceprofile() { 
     return datenaissanceprofile; 
    } 
    public void setDatenaissanceprofile(Date datenaissanceprofile) { 
     this.datenaissanceprofile = datenaissanceprofile; 

// 

user.setDatenaissanceprofile(getDatenaissanceprofile()); 

На представить в регистрационная форма:

addUser:datenaissanceprofile : «04/21/2015» n’a pas pu être interprété en tant que date. 

Что означает:

addUser: datenaissanceprofile "04/21/2015" could not be interpreted as a date. 

Кто-нибудь знает, как его восстановить это? dateFormat преобразователя DatePicker и JSF оба установлены, он не должен работать? Спасибо

ответ

-1

Если этот формат вам нужен, а затем конвертируйте его в соответствующий формат перед отправкой.

+0

Этот формат определенно поддерживается на Java. – BalusC

-1
<f:convertDateTime pattern="dd/MM/yyyy" /> 

для чтения человека выхода. Вам нужно использовать SimpleDateFormat и проанализировать ввод, прежде чем вы вызовете ваш сеттер. Создайте метод утилиты, который выполняет преобразование и вызывает сеттер и использует этот метод в пользовательском интерфейсе.

public void setDatenaissanceprofileFromUi(String date){ 
    Date formattedDate = new SimpleDateFormat("MM/dd/yyyy").parse(date); 
    setDatenaissanceprofile(formattedDate); 
} 

Кроме того, убедитесь, что формат SimpleDateFormat и входной формат совпадают.

+0

Вы смотрите на проблему с неправильным углом. Посмотрите на форматы даты еще раз. – BalusC

+0

Хороший пикап! Форматы: dd/MM/yyyy, но вход MM/dd/yyyy. Я изменю свой ответ, чтобы отразить фактический формат ввода. – hermitmaster

+1

Нет, вход не является 'MM/dd/yyyy'. Входной сигнал: 'dd/mm/yyyy'. Более того, 'SimpleDateFormat' не требуется, поскольку это задание уже выполняется с помощью' '(таким образом, это не только для вывода). – BalusC

Смежные вопросы