Попробуйте это:
>>> 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
.
Объявите на Animal абстрактный метод, который возвращает строку, с именем getMyJspPage ().
Затем коты и Dogs может возвращать ссылку на другую страницу jsp или фрагмент jsp, которые вы можете включить.
Вы можете использовать настраиваемый тег, который принимает текущее животное в качестве атрибута и использует его для определения правильного представления
К сожалению, наследование и полиморфизм не очень хорошо работают в 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), которые принимают каждое конкретное животное в качестве атрибута и вызывают их. по крайней мере, он сохраняет раздельную отправку и рендеринг.