включить страницу jsp на основе некоторого условия

Я использую теги spring на своей странице jsp.

Теперь у меня есть ситуация, когда я использую форму: выберите для раскрывающегося списка.

Если я выберу первое значение в раскрывающемся списке, страница «normal.jsp» должна отображаться. Если я выберу второе значение, должна отображаться страница «reverse.jsp».

Обе эти jsp-страницы должны отображаться на главной странице под раскрывающимся списком.

Каков наилучший способ добиться этого в jsp?

Я пытаюсь использовать теги jstl, но форма не отображается.

Это код, который я написал

    <tr>
        <td>Types of Auction :-</td>
        <td>
            <form:select id="auctionType" path="auctionType">
                <form:option value="0" label="Select" />
                <form:options items="${auctionTypesList}" itemValue="auctionTypeId" itemLabel="auctionTypeDesc" />
            </form:select>
        </td>
    </tr>
    <tr>
        <td>
            <c:choose>
                <c:when test="${param.auctionType == 1}">
                    <c:import url="/normalAuction.jsp" var="normal"/>
                </c:when>
                <c:when test="${param.auctionType == 2}">
                    <c:import url="/reverseAuction.jsp" var="reverse"/>
                </c:when>
            </c:choose>
        </td>
    </tr>

Может ли кто-нибудь дать мне знать, где я ошибаюсь?

Спасибо


person Thanos    schedule 11.02.2011    source источник


Ответы (2)


Если ваша форма не отображается, возможно, вы не импортировали taglib формы spring-mvc:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

Это обязательно, так как в противном случае вы получите теги ‹form:whatever...› в выводе HTML.

Что касается импорта JSP на основе параметра запроса, его лучше обрабатывать в вашем контроллере, возвращая разные представления на основе пользовательского ввода, поскольку на самом деле это задача контроллера, а не задача представления.

person Costi Ciudatu    schedule 12.02.2011

Вы используете язык выражений ${} на своей странице. Проверьте, включили ли вы тег lib

<%@ page isELIgnored ="true|false" %> в шапке. True означает, что EL игнорируется, а false не будет игнорировать теги EL. Так поставь false

Кроме того, когда вы используете тег chose и when в качестве его подтега, это должен быть тег otherwise.

 <choose>
    <when condition>Page_1.jsp
    </when>
    <when condition_2>Page_other.jsp
    </when>
    <otherwise>Page_2.jsp
    </otherwise>
 </chose>
person Some Java Guy    schedule 13.02.2011