переключить корпус с тегом дисплея - PullRequest
8 голосов
/ 30 сентября 2011

Я хочу отображать различные данные в столбце Показать тег в соответствии с тем, что я получаю из сеанса.

Как интегрировать корпус переключателя с тегом дисплея <display:column>? Я хочу отобразить AAA, если значение единицы, полученное из сеанса, равно 1 и т. Д.

Вот что я хочу сделать.

switch(List.unit){
                       case 1:
                            unit = "AAA";
                            break;
                        case 2:
                            unit = "BBB";
                            break;
                        case 3:
                            unit = "CCC";
                            break;
                        default:
                            unit = "undefined";
                            break;
                    }

Спасибо, вперед.

1 Ответ

21 голосов
/ 30 сентября 2011

Вы делаете это с displaytag точно так же, как и без него. Просто вычислите требуемый модуль в сервлете / действии, отправляемом на ваш JSP, и сохраните этот модуль в некотором компоненте в запросе. Затем получите доступ к этому бину в JSP:

<display:column>${theBeanStoredInTheRequest.unit}</display:column>

Или вычислите его в самой JSP, используя JSTL, но это более многословно:

<display:column>
    <c:choose>
        <c:when test="${sessionScope.unit == 1}">AAA</c:when>
        <c:when test="${sessionScope.unit == 2}">BBB</c:when>
        <c:when test="${sessionScope.unit == 3}">CCC</c:when>
        <c:otherwise>undefined</c:otherwise>
    </c:choose>
</display:column>
...