Я согласен с @ BalusC - вы можете упростить утверждение. Помните, что операторы c:when
являются взаимоисключающими, как и блоки if-else if
.
Спецификация JSTL 1.2 гласит, что c:choose
должен быть родительским по крайней мере для одного оператора c:when
, и что c:when
всегда должен предшествовать по крайней мере одному оператору c:otherwise
с таким же немедленным родитель. По сути, это также означает, что каждый c:when
должен иметь c:otherwise
после него внутри c:choose
, а c:choose
должен окружать любой c:when
+ c:otherwise
. Из того, что я вижу, спецификация не относится к вложению c:choose
элементов, поэтому я не знаю, работает ли это - но я не думаю, что вам когда-либо придется их вкладывать.