سؤال

أرغب في تنسيق الرقم الذي تم عرضه بواسطة <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

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