سؤال

أحتاج إلى حل رسائل موارد تحتوي على تعبيرات EL عند تحميلها من ResourceBundle. في الأساس لدي عدد من ملفات الخصائص التي تحتوي على النص. سيبدو بعض النص كما يلي:

welcomeText = مرحبًا #{userbean.name}

الطريقة الوحيدة الممكنة التي يمكنني رؤية هذا العمل حاليًا هي تنفيذ taglib مخصص بحيث بدلاً من القول:

<f:loadBundle var="messages" basename="application.messages"/>

أود أن أستخدم

<mytaglib:loadBundle var="messages" basename="application.messages"/>
#{messages.welcomeText}

بالنظر إلى مستخدم يحمل اسم المستخدم "user1" ، يجب إخراج هذا

Welcome User1

ثم يستخدم تنفيذي فئة مخصصة لـ ResourceBundle من شأنها أن تتجاوز المقابض ، واستخدم Elresolver لحل المتغيرات وما إلى ذلك .... الأفكار؟ اقتراحات؟ التطبيقات المتوفرة بالفعل؟

أنا أقدر مساعدتك.

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

المحلول

بل الاستفادة من <h:outputFormat> و <f:param> لعرض النص المعلمة. إنه مدعوم من MessageFormat API, ، سيتم تطبيق نفس القواعد الموضحة في Javadoc API.

على سبيل المثال

welcomeText=Welcome {0}

مع

<h:outputFormat value="#{messages.welcomeText}">
    <f:param value="#{userbean.name}" />
</h:outputFormat>

هناك هو :)

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