|
|
|
|
Salut à tous!
J'ai un problème avec les balises avec corps et les jsp.
Je dois insérer la requête dans le corps de la balise.
…
<caddie.selectListBrochure>
SELECT * FROM brochures WHERE categorie LIKE 'DIVORCE';
</caddie.selectListBrochure>
…
<% while(rs.next()) { %>
…
…
<%@taglib uri="/WEB-INF/tlds/caddie.tld" prefix="caddie"%>
…
<caddie.selectListBrochure>
SELECT * FROM brochures WHERE categorie LIKE 'DIVORCE';
</caddie.selectListBrochure>
...
<% while(rs.next()) { %>
…
…
private void writeTagBodyContent(JspWriter out, BodyContent bodyContent) throws IOException {
String requete = bodyContent.getString();
ResultSet rs = null;
try {
rs = instruc.executeQuery(requete);
pageContext.setAttribute("rs",rs);
} catch(SQLException e) {
arret=true;
}
bodyContent.writeOut(out);
bodyContent.clearBody();
}
…
…
<tag>
<name>selectListBrochure</name>
<tag-class>caddie.selectListBrochure</tag-class>
<body-content>JSP</body-content>
<variable>
<name-given>rs</name-given>
<variable-class>java.sql.ResultSet</variable-class>
<declare>true</declare>
<scope>AT_END</scope>
</variable>
</tag>
…
Configuration: Windows XP Firefox 2.0.0.1
Salut !
LIKE ('DIVORCE') par LIKE ('%DIVORCE%') ou quelque chose de semblable.
Si ta requête est correcte, c'est qu'il y a un problème durant l'exécution de celle-ci. Afin de la détecter, remplace
try {
rs = instruc.executeQuery(requete);
pageContext.setAttribute("rs",rs);
} catch(SQLException e) {
arret=true;
}
par:
try {
rs = instruc.executeQuery(requete);
pageContext.setAttribute("rs",rs);
} catch(SQLException e) {
arret=true;
e.printStackTrace();
}
Tu verras alors si c'est à cet instant que survient l'erreur et tu pourras débuguer en utilisant les infos du stacktrace (peut-être un problème de connexion à ta base de données?) Si l'erreur ne provient pas de là, c'est que ta requête renvoie "null". Pour éviter que cela ne "plante" ton application, remplace:
<caddie.selectListBrochure>
SELECT * FROM brochures WHERE categorie LIKE 'DIVORCE';
</caddie.selectListBrochure>
...
<% while(rs.next()) { %>
…
par:
<caddie.selectListBrochure>
SELECT * FROM brochures WHERE categorie LIKE 'DIVORCE';
</caddie.selectListBrochure>
...
<%
if(rs!=null){
while(rs.next()) {
…
}
}else{
...
}
%>
;-) HackTrack |