Как отобразить другое представление JSP для различных типов объектов

Попробуйте это:

>>> import itertools
>>> keys = ('name', 'age', 'food')
>>> values = ('Monty', 42, 'spam')
>>> adict = dict(itertools.izip(keys,values))
>>> adict
{'food': 'spam', 'age': 42, 'name': 'Monty'}

В Python 2, это также более экономично в потреблении памяти по сравнению с zip.

5
задан qnoid 25 August 2014 в 14:51
поделиться

3 ответа

Объявите на Animal абстрактный метод, который возвращает строку, с именем getMyJspPage ().

Затем коты и Dogs может возвращать ссылку на другую страницу jsp или фрагмент jsp, которые вы можете включить.

0
ответ дан 15 December 2019 в 06:32
поделиться

Вы можете использовать настраиваемый тег, который принимает текущее животное в качестве атрибута и использует его для определения правильного представления

1
ответ дан 15 December 2019 в 06:32
поделиться

К сожалению, наследование и полиморфизм не очень хорошо работают в jsps.

Самым простым и наиболее удобным решением было просто сделать много

<c:choose>
   <c:when test="${animal.type == 'Cat'}">
      <my:renderCat cat="${animal}"/>
   </c:when>
   <c:when test="${animal.type == 'Dog'}">
      <my:renderDog Dog="${animal}"/>
   </c:when>
   ...
</c:choose>

и иметь файлы тегов (например, renderDog.tag, renderCat.tag), которые принимают каждое конкретное животное в качестве атрибута и вызывают их. по крайней мере, он сохраняет раздельную отправку и рендеринг.

1
ответ дан 15 December 2019 в 06:32
поделиться
Другие вопросы по тегам:

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