Вопрос архитектуры JSP MVC Model 2 - PullRequest
1 голос
/ 11 марта 2011

Я хочу разработать веб-приложение, и у меня есть доступ к этому API.В API есть методы, которые позволяют вам получить userId текущего пользователя через контекстные объекты.Может быть, я обдумываю это, но я очень смущен тем, куда поместить мой метод CurrentUserId ().Этот метод входит в контроллер или модель?Я думал, что это идет в модели, но кажется избыточным, чтобы написать свойство с именем "getUserId", чтобы вернуть строку с именем getUserId (). ToString ().Это нормально, и я слишком много думаю или я прав?Мой коллега сказал мне поставить логику в представление, но из всего, что я прочитал, вы никогда не ставите в представление java-код или скрипты.Я надеюсь это имеет смысл.

Также вот метод, который я написал, чтобы вернуть userId в виде строки

protected String CurrentUserId(HttpServletRequest request)
{
    ContextManager ctxMgr = ContextManagerFactory.getInstance();
    Context ctx = ctxMgr.setContext(HttpServletRequest request);

    Id userID = ctx.getUserId();
    return userID.toString();
}

1 Ответ

0 голосов
/ 11 марта 2011

Должен перейти на Контроллер .

Создать служебный класс с этим методом как static

Поскольку здесь HttpServletRequest относится именно к этой модели (jsp, servlet), предположим, что завтра, если вы захотите применить ту же модель к вашему настольному приложению, она потерпит неудачу, поэтому лучше разместить контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...