سؤال

لدي مشكلة في F: ConvertDateTime ، ويبدو أنها تستخدم رسالة الخطأ javax.faces.converter.datetimeconverter.date_detail عندما أقوم بتحويل الوقت (أي يجب استخدامه javax.faces.converter.datetimeconverter.time_detail).

المشكلة ، كما أعتقد ، هي أنني أستخدم نمطًا ، وبالتالي لا يعرف ما إذا كان تاريخًا أو وقتًا يرتبط بتحويله. هذا ما أحاوله ("tmepattern" هو "hh.mm"):

<f:convertDateTime type="time" pattern="#{timePattern}" />

على الرغم من أن النوع = "الوقت" محدد ، إلا أنه لا يزال يستخدم Date_detail رسالة خطأ. هل هذا خطأ أم هو افتراض أنه يجب أن يستخدم time_detail رسالة خطأ خاطئة ، وعلي أن أقوم بإنشاء محول خاص بي؟

هل كانت مفيدة؟

المحلول

لسوء الحظ ، هذا أيضًا ما DateTimeConverter جافادوك يقول. إليك مقتطف من الأهمية:

اذا كان pattern تم تحديده ، يجب أن يتوافق بناء الجملة مع القواعد المحددة بواسطة java.text.SimpleDateFormat. سيتم استخدام مثل هذا النمط لتحليل ، و ال type, dateStyle, ، و timeStyle سيتم تجاهل الخصائص.

ومع ذلك ، يجب أن أعترف أن الأولاد JSF كان عليهم تحديده بشكل صريح في f:convertDateTime PDLDOC كذلك. ليس من الواضح من هناك. أود أن أبلغ عن مشكلة لأولاد JSF لحملهم على توضيح هذا الجزء.

للحصول على العمل ، أفضل رهان إما هو عدم الاعتماد على النمط ، ولكن على type, dateStyle و timeStyle (والمكان) بدلاً من ذلك ، أو قم بإنشاء محول وقت مخصص للتاريخ الذي extends DateTimeConverter ويتجاوز الأساليب وفقًا لذلك.

نصائح أخرى

عليك أيضًا تحديد javax.faces.converter.dateTimeConverter.time في رسائلك.

انظر هنا: http://www.icefaces.org/jforum/posts/list/16119.page منشور واحد قبل الماضي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top