Struts2 - включая jsp в соответствии со значениями bean-компонента - PullRequest
0 голосов
/ 11 декабря 2010

Мне нужен своего рода переключатель страниц на Struts2.

Мне нравится (на index.jsp) if myBean.String="main" include main.jsp else include welcome.jsp

Я пробовал с <s:if> или <c:choose>, но похоже, что они могут вычислять только логическое значение. Как я могу это сделать?

1 Ответ

2 голосов
/ 11 декабря 2010

Не уверен насчет части Struts2, но вы можете просто использовать EL в <jsp:include>.

<jsp:include page="${bean.pagename}.jsp" />

Что касается тегов JSTL <c:if> или <c:choose>, выможно просто сравнить строки в EL следующим образом (как в JSF, с которым вы уже знакомы, согласно истории ваших вопросов!;)):

<c:choose>
    <c:when test="${bean.pagename == 'main'}">
        <jsp:include page="main.jsp" />
    </c:when>
    <c:otherwise>
        <jsp:include page="welcome.jsp" />
    </c:otherwise>
</c:choose>

Если это только 2 условия, то вы можететакже используйте условный оператор ?::

<jsp:include page="${bean.pagename == 'main' ? 'main' : 'welcome'}.jsp}" />

См. также:

...