2012-04-25 2 views
0

После того, как после struts 2 веб-страниц и многочисленных примеров, мое приложение по-прежнему не будет получать значения из файла struts.properties.Свойство Struts 2, которое не читается из файла свойств

Я пытаюсь это для того, чтобы дать некоторые значения формата денег типа:

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

Мой struts.properties файл, который находится под WEB-INF/классов, и поэтому виден имеет одну строку

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

Я получаю строку struts.money.format, напечатанную на экране. Если я изменил первый параметр вызова getText, новая строка, которую я положил, также будет напечатана вместо реального поиска.

Если у меня <s:property value="value" />, я вернусь к соответствующему номеру. Если я опустил второй аргумент на вызов getText, я бы ожидал вернуть правую часть задания в файл свойств, но я получаю тот же struts.money.format.

Я использую Tomcat 6 с Struts 2.2.1.1. Есть ли еще одна часть головоломки, которую я, возможно, оставляю?

+0

Можете ли вы привести пример того, как вы хотите отформатировать значения? мы можем сделать это пакет ресурсов сообщений. –

+0

Как только я получу форматирование на месте примерно $ 5,215,21 или - $ 1,740.86. В конце концов, мне нужно будет сделать отрицательные значения красным текстом. Я хотел бы выяснить, почему мои struts.properties не видели/не использовали. – demongolem

ответ

1

Так что в моем файле struts.xml, я ставлю эту строку

<constant name="struts.custom.i18n.resources" value="struts" /> 

Он должен это знать, что я пытаюсь использовать файл struts.properties. Я предположил, что по умолчанию файл с именем struts.properties был по цепочке мест для поиска такой константы. Только если вы назвали это что-то еще, вам нужно было указать это. Несмотря на то, что он находится в WEB-INF/классах, который рекомендуется в документации Struts 2, он просто не смотрел в этом файле.

EDIT

Для чего это стоит, я также должен был изменить свою распорки текст тег как так

<s:property value="getText('struts.money.format',{@[email protected](value)})" /> 

На самом деле, value должен был BigDecimal, но он проходит лечение в уровень представления здесь как java.lang.String. Проблема в том, что некоторые из объектов String имели экспоненциальное форматирование (например, 1.642E07 или что-то в этом роде), а форматирование struts не могло обрабатывать экспоненциальное форматирование. Значение Of устраняет это экспоненциальное fomatting

Смежные вопросы