سؤال

إذا كان لدي مورد حزمة الملكية الملف:

أ. الخصائص:

thekey={0} This is a test

ثم لدي كود جافا الذي يقوم بتحميل حزمة الموارد:

ResourceBundle labels = ResourceBundle.getBundle("A", currentLocale);
labels.getString("thekey");

كيف يمكنني استبدال {0} النص مع بعض القيمة

labels.getString("thekey", "Yes!!!");

مثل أن الناتج يخرج مثل:

Yes!!! This is a test.

لا توجد الأساليب التي هي جزء من حزمة الموارد للقيام بذلك.أيضا, أنا في الدعامات, هل هناك طريقة لاستخدام MessageProperties القيام استبدال.

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

المحلول

فئة تبحث عنه هو جافا.النص.MessageFormat;على وجه التحديد ، داعيا

MessageFormat.format("{0} This {1} a test", new Object[] {"Yes!!!", "is"});

أو

MessageFormat.format("{0} This {1} a test", "Yes!!!", "is");

سيعود

"Yes!!! This is a test"

[للأسف, أنا لا يمكن أن تساعد مع الدعامات الصدد ، على الرغم من هذا يبدو ذات الصلة.]

نصائح أخرى

هناك فئة org.أباتشي.الدعامات.util.MessageResources مع أساليب مختلفة getMessage بعض منهم اتخاذ الحجج كما أن الرسالة الفعلية.

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

messageResources.getMessage("thekey", "Yes!!!");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top