Какие опции шаблонной обработки HTML находятся там в Java как альтернатива выполнению вывода HTML из Вашего кода сервлета?

Вы можете кэшировать ответ API в атрибуте экземпляра, который инициализирован как None, так что метод свойства data будет получать данные только из API, если атрибут кэширования равен None:

class Thing:
    def __init__(self, id):
        self.id = id
        self._data = None

    @property
    def data(self):
        if self._data is None:
            self._data = self._get_data_from_api()
        return self._data

    def _get_data_from_api(self):
        return requests.get(url, headers).json()
5
задан Yen 3 May 2009 в 01:43
поделиться

4 ответа

Довольно редко можно заниматься веб-разработкой на Java без использования какой-либо инфраструктуры MVC, которая делегирует все представления JSP (кроме вывода в формате PDF и других угловых случаев), поэтому у вас есть:

Некоторые веб-фреймворки, такие как Tapestry и JSF («Java Server Faces»), являются немного больше похоже на HTML-представления с дополнительными тегами.

В конечном итоге JSP просто компилируются в сервлеты и, как правило, являются более удобной формой для вывода HTML. Вообще говоря, я бы использовал их как минимум вместо того, чтобы писать кучу операторов out.println () в сервлете напрямую.

5
ответ дан 14 December 2019 в 04:47
поделиться

I have successfully used Velocity for a number of years on a very small scale internal site.

Its easy to use and has a nice clean API. It handles burst of activity extremely well.

2
ответ дан 14 December 2019 в 04:47
поделиться

Funny, I just saw a slightly similar question before. You can also use PHP pages via Quercus for your page rendering in Java.

1
ответ дан 14 December 2019 в 04:47
поделиться

cletus совершенно прав в своих рекомендациях.

Freemarker (или скорость) - это решения, которые нужно использовать, если вам «просто» требуется рендеринг на основе шаблонов. Они довольно эффективны. Вы можете подняться по лестнице сложности с использованием JSP.

Я не согласен, что это конкретно ограничено паттерном MVC. В самом простом (и, очевидно, это не будет масштабироваться для больших систем) вы можете иметь один и тот же сервис сервлетов для всех запросов, выбрать шаблон скорости / свободного маркера, заполнить требуемый контекст и отобразить шаблон.

0
ответ дан 14 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: