В Struts 1.3, каков наилучший способ для контроллера заполнить представление переменными?

StackOverflow https://stackoverflow.com/questions/82359

Вопрос

Я только что унаследовал кое-какой старый код Struts.

Если Struts (1.3) следует шаблону MVC, как классы действий заполняют представление переменными для отображения в HTML?

До сих пор я видел, как классы действий вводят переменные в (1) HTTP-запрос с

request.setAttribute("name", user.getName())

(2) в классах ActionForm используются методы, специфичные для приложения:

UserForm form = (UserForm) actionForm;
form.setUserName(user.getName());

и (3) переменная RequestScope, которую я вижу на уровне JSP (представление использует JSP), но я не вижу в классах действий.

<p style='color: red'><c:out value='${requestScope.userName}' /></p>

Итак, какой из них считается олдскульным, и каков рекомендуемый способ переноса переменных в представление в Struts?

Это было полезно?

Решение

Как Struts 1.3 считается олдскульным, я бы порекомендовал плыть по течению и использовать стиль, который уже используется во всем унаследованном вами приложении.

Если все различные стили уже используются, выберите наиболее часто используемый.После этого выберите свой любимый вариант.Моим было бы 1 или 3 - форма (2) обычно лучше всего подходит для данных, которые в конечном итоге будут отображаться внутри некоторых элементов управления формой.Если это так - используйте форму, в противном случае - не делайте этого.

Другие советы

Мои дни Struts давно прошли, но, насколько я помню, раньше мы помещали один компонент для конкретного представления (который работал бы как держатель для более мелких компонентов или коллекций компонентов) в область запроса в нашей реализации Action.perform().Затем этот компонент, специфичный для представления, будет отрисован представлением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top