2011-02-11 5 views
1

J'utilise des balises de printemps dans ma page jsp.inclure jsp page basée sur une condition

Maintenant, j'ai une situation où j'utilise le formulaire: sélectionnez pour une liste déroulante.

Si je sélectionne la première valeur dans la liste déroulante, la page "normal.jsp" doit être affichée. Si je choisis la deuxième valeur "reverse.jsp" la page devrait être montrée.

Ces deux pages jsp doivent être affichées dans la page principale sous la liste déroulante.

Quelle est la meilleure façon d'y parvenir en jsp? J'essaie d'utiliser des balises jstl mais le formulaire ne s'affiche pas.

Voici le code que j'ai écrit

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

Quelqu'un peut-il me faire savoir où je vais mal?

Merci

Répondre

0

Si votre formulaire ne soit pas affiché, peut-être vous n'avez pas importé la forme printemps-mvc taglib:

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

Ceci est obligatoire car sinon vous finirez avec la forme <: quel que soit ... > étiquettes dans votre sortie HTML. En ce qui concerne l'importation de fichiers JSP basés sur un paramètre de requête, il serait préférable de les traiter dans votre contrôleur en renvoyant des vues différentes en fonction de l'entrée de l'utilisateur car il s'agit en fait d'une tâche de contrôleur.

0

Vous utilisez le langage d'expression ${} dans votre page. Vérifiez si vous avez inclus le tag lib

<%@ page isELIgnored ="true|false" %> dans votre en-tête. Vrai signifie que EL est ignoré et que Faux n'ignore pas les étiquettes EL. Donc, mettez false

également lorsque vous utilisez étiquette chose et when comme son étiquette secondaire, ceux-ci doit être une balise otherwise.

<choose> 
    <when condition>Page_1.jsp 
    </when> 
    <when condition_2>Page_other.jsp 
    </when> 
    <otherwise>Page_2.jsp 
    </otherwise> 
</chose> 
Questions connexes