В настоящее время мы разрабатываем проект со Struts2. У нас есть модуль, в котором мы отображаем большой объем данных в полях только для чтения из группы bean-компонентов с помощью тега данных «свойство» Struts 2 (т. Е. ) в файле jsp. , В некоторых случаях большинство полей могут быть пустыми, поэтому на экране отображается пробел.
Наш клиент теперь просит нас отображать строку по умолчанию (то есть "N / A") всякий раз, когда свойство становится пустым, чтобы оно отображалось вместо пробелов, показанных в данный момент.
Мы ищем способ добиться этого простым и понятным способом. Тег 'property' поставляется с атрибутом 'default', по которому можно определить значение по умолчанию в случаях, когда доступное свойство имеет значение null. Однако большинство наших свойств являются пустыми строками, поэтому в нашем случае это не работает.
Другое решение, о котором мы думаем, - это определить базовый класс для всех наших bean-компонентов и определить метод util, который будет проверять, является ли строка пустой или пустой, а затем возвращает значение по умолчанию. Затем мы будем вызывать этот метод из каждого получателя бина. И да, это было бы утомительно и некрасиво :), поэтому мы придерживаемся этого в случае лучшего решения.
Теперь мы имеем в виду решение, которое, по нашему мнению, будет наилучшим, но нам не повезло, как его реализовать. Мы планируем каким-то образом расширить тег 'property', определив новый атрибут 'default', чтобы, кроме работы с нулевыми свойствами, он также делал это для пустых строк ("", "" и т. Д.). Поэтому нам нужно будет только заменить оригинальный тег s: property нашим новым пользовательским тегом, и желаемый результат будет достигнут без прикосновения к java-коду.
У вас есть идея, как это сделать? Также приветствуется любое другое умное решение (может быть, какой-то шаблон проектирования?) О том, как по умолчанию использовать значения большого количества bean-компонентов свойств!
(Или, может быть, даже есть какой-то тег, который делает это уже в Struts2 ??)
Заранее спасибо.
Укороченная версия, если вы не хотите читать все вышеперечисленное! :)
В настоящее время Struts2 предоставляет тег свойства (), который используется для отображения содержимого значения, например, строковая переменная в классе Action. Этот тег содержит атрибут с именем «default», в котором вы можете определить значение по умолчанию, которое будет отображаться, если для переменной задано значение NULL, например, Вы можете настроить отображение «N / D» для этих значений.
Теперь нам нужно сделать то же самое, но это также работает с пустыми строками ("", "" и т. Д.), А не только с пустыми значениями. Мы планируем расширить этот тег, чтобы у нас был свой собственный (возможно, что-то вроде ) и выполнить это поведение. Можете ли вы подсказать, как этого добиться?
Ваша помощь очень ценится. Спасибо!