2013-02-13 2 views
3

Я использую поле даты xtype в моем компоненте. Я хочу получить значение из моего диалога в качестве даты, а не строки. Есть ли какой-либо метод для получения значения диалога в любом другом типе, кроме строки? Как здесь мне нужна дата.получить дату как дату типа в cq5

ответ

11

Да. Вы можете использовать метод get(java.lang.String name, java.lang.Class<T> type) класса ValueMap, чтобы получить значение и преобразовать его в указанный тип.

i.e Если вы хотите, чтобы значение вашего свойства как Дата, вы можете использовать следующий синтаксис.

Date date = properties.get("date", Date.class); 

Вы можете также get(java.lang.String name, T defaultValue) метод возвращать значение по умолчанию в случае, если свойство не существует в хранилище. Для Ex

Date date = properties.get("date", new Date()); 
Date date = properties.get("text", "default_text"); 

Значение по умолчанию также используется для определения типа преобразования значения в. то есть он вернет String, если значением по умолчанию является String, или оно вернет объект Date, если значением по умолчанию является объект Date.

ПРИМЕЧАНИЕ:свойства объект является экземпляром ValueMap

+0

Я Дата = properties.get («дата», новая дата()); но печатается Java new Date(). Я не могу получить значение «date» из моего компонента. Может ли кто-нибудь помочь мне? – manojpt

+0

Является ли название вашей недвижимости «датой» или это что-то еще? – rakhi4110

+0

да его имя только. Я мог бы получить текстовое поле xtype, но не datefield xtype. – manojpt

1

Когда мы используем DateField в диалоге cq5, его значение будет сохранено как тип 'Дата' в CRX быть по умолчанию. При извлечении этого значения свойства из CRX на страницу CQ мы должны явно указывать то же самое на объект java.util.Date, как указано ниже.

+1

При использовании поля даты xtype его значение хранится как String в CRX. При использовании xtype datetime оно хранится как Date. – rakhi4110

0

Я собираюсь возродить этот старый вопрос, потому что у меня была та же проблема, и я нашел более элегантное решение.

Если использовать следующую конфигурацию в вашем диалоге для вашей области вы получите только поле выбора даты, но она сохранит в качестве даты в CRX-DE:

xtype="datetime" 
hideTime="{Boolean}true" 
Смежные вопросы