رقم التنسيق في الدعامات 2 علامة
سؤال
أرغب في تنسيق الرقم الذي تم عرضه بواسطة <s:property value="summary.total"/>
علامة في الدعامات 2. هناك أ double
القيمة. كيف أقوم بذلك؟ هل ينبغي أن أستخدم OGNL
?
أو ربما يجب أن أستخدم <s:text/>
وضع علامة وتحديد تنسيقي في ملف resuource؟
المحلول
تحتاج إلى استخدام <s:text/>
مع <s:param/>
.
ملف الملكية:
summary.cost= € {0,number,##0.00}
JSP:
<s:text name="summary.cost">
<s:param name="value" value="summary.total"/>
</s:text>
هذه إجابه يشرح كيفية الاستخدام #
و 0
في قناع التنسيق.
نصائح أخرى
الطريق أكثر بسرعة
<s:property value="getText('{0,number,#,##0.00}',{summary.total})"/>
سعيد الحظ!!
هذا واحد أسرع:
<s:property value="getText('struts.money.format', {summary.cost})" />
وفي خصائرك ملف هذا:
struts.money.format= {0,number,\u00A4##0.00}
نأمل أن تكون هذه المساعدة
واجهت هذه المشكلة لتنسيق رقم بهذه الطريقة 1.234،56
لذلك فضلت كل من Tags Struts Tag و Tag FMT (FMT لأن S: الرقم غير موجود)
لذلك استخدمت بناء الجملة التالي:
<s:label label="mylabel">
<s:param name="value">
<s:text name="">
<fmt:formatNumber maxFractionDigits="2" pattern="#.###" >1234.56</fmt:formatNumber>
</s:text>
</s:param>
</s:label>
وهو عمل
إذا لم يكن الممتلكات الخاصة بك في إجراءك ، فلن يعمل GetText عليه. النمط يقبل الأرقام فقط. في هذه الحالة ، يمكنك الذهاب مع FMT كما ذكرها sarie
<fmt:formatNumber groupingUsed="true" type="currency" value="${amount}" />
أسرع وأسهل طريقة للاستخدام <s:number />
بطاقة شعار.
مثال:
<s:number name="%{summary.total}" minimumFractionDigits="2" type="currency" currency="USD" />
المزيد عن العلامة هنا https://struts.apache.org/maven/struts2-core/apidocs/org/apache/struts2/components/number.html