тегом в Struts 2. Есть doubleзначение. Как я могу это сделать? Должен ли я использовать OGNL?Или, может быть, я должен использовать тег и определить свой фо" />

Форматировать номер в теге Struts 2 <s: property />

37330 просмотра

6 ответа

4919 Репутация автора

Я хотел бы отформатировать число, отображаемое <s:property value="summary.total"/>тегом в Struts 2. Есть doubleзначение. Как я могу это сделать? Должен ли я использовать OGNL?

Или, может быть, я должен использовать <s:text/>тег и определить свой формат в файле ресурсов?

Автор: prostynick Источник Размещён: 13.10.2009 07:23

Ответы (6)


9 плюса

2174 Репутация автора

Решение

Вам нужно использовать <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в маске формата.

Автор: Trick Размещён: 13.10.2009 07:34

6 плюса

8182 Репутация автора

Этот быстрее:

<s:property value="getText('struts.money.format', {summary.cost})" />

И в вашем файле свойств это:

struts.money.format= {0,number,\u00A4##0.00}

Надеюсь это поможет

Автор: Alfredo Osorio Размещён: 07.03.2011 10:46

16 плюса

161 Репутация автора

Путь быстрее

<s:property value="getText('{0,number,#,##0.00}',{summary.total})"/>

Счастливый!!

Автор: Juanmi Размещён: 22.03.2011 04:20

2 плюса

21 Репутация автора

у меня была эта проблема, чтобы отформатировать число таким образом 1.234,56

поэтому я предпочел оба тега Struts 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>

и это работа

Автор: sarie Размещён: 05.07.2011 09:10

1 плюс

23072 Репутация автора

Если в вашем действии не указано число, то getText не будет работать с ним. Шаблон принимает только цифры. В этом случае вы можете использовать fmt, как упомянуто @sarie.

<fmt:formatNumber groupingUsed="true" type="currency" value="${amount}" />
Автор: Alireza Fattahi Размещён: 16.11.2013 03:21

0 плюса

723 Репутация автора

Самый быстрый и простой способ - использовать <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

Автор: Yan Pak Размещён: 13.06.2019 11:28
Вопросы из категории :
32x32