switch case with display tag

kitokid picture kitokid · Sep 30, 2011 · Viewed 24.5k times · Source

I want to display various data in Display Tag column according to what I get from Session.

How can I integrate switch case with display tag <display:column>? I want to display AAA if the unit value I get from session is 1 etc.

Here is what I want to do.

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

Thanks ahead.

Answer

JB Nizet picture JB Nizet · Sep 30, 2011

You do it with displaytag exactly as you would do it without it. Just compute the desired unit in the servlet/action dispatching to your JSP and store this unit in some bean in the request. Then access this bean in the JSP :

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

Or compute it in the JSP itself, using the JSTL, but it's more verbose:

<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>