2014-10-29 4 views
2

Я использую текстовый тег Struts2, чтобы получить переведенное значение. Итак, у меня есть следующее заявление:Struts 2 text tag weird поведение

<s:text name="a"/> 

я не имею в файлах свойств любой клавиши 'a', но в действии, у меня есть объект с именем a.

Что происходит, так это то, что значение, отображаемое s: text, является именем класса экземпляра объекта ([email protected])!

Это нормально? Для того, что я знаю о Struts2, если не найдено никакого свойства с этим ключом, отображаемым значением будет ключ (атрибут имени текстового тега). Это когда-нибудь случалось с кем-то?

+0

Какая версия Struts 2? –

+0

Я использую версию 2.3.16.3 –

+0

Почему у вас есть такое имя свойства? Это ужасно. –

ответ

1

Я думаю, что это нормально, потому что Struts2 анализирует атрибуты выражения OGNL, и результат оценки выражения будет использоваться как ключ сообщения. Однако в документе говорится, что searchValueStack следует использовать для предотвращения поиска в стеке значений. Какой из них лучше решать, но я предпочитаю в качестве альтернативы <s:property value="getText('a')"/>.

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

  • Нет связанных вопросов^_^