Comment faire la carte d'un jeu de résultats avec une quantité inconnue de colonnes d'une Liste et l'afficher dans un tableau HTML?
J'ai créé une Application de Base de données à l'aide de Netbeans, GlassFish et JavaDB. Maintenant, mon contrôleur de Servlet s'exécute du code dynamique des requêtes SQL et obtenir un Ensemble de résultats (ou je peux ahange toString). Maintenant, comment puis-je montrer le Résultat retourné situé dans un format tabulaire ( je n'ai aucune idée à propos de la structure de l'ensemble de résultats). Quelqu'un peut-il m'aider à ce sujet ?
quel problème rencontrez-vous exactement? gettings les lignes du jeu de résultats? générer un tableau HTML? nous montrer le code que vous avez et nous dire où vous êtes coincé.
Nizet, j'ai un code comme celui -, - createStatement(); resultset rs = st.executeQuery(requête sql). Maintenant, je suis coincé ici. Comment montrer ce résultat dans un tableau HTML. Comme je n'ai aucune idée au sujet de la requête, je n'ai aucune idée sur le jeu de résultats de la structure.
BalusC, j'ai vu votre - page. Mais,pour appliquer le produit.setId(resultSet.getLong("id")) - ce que je dois savoir combien de colonnes et que la table de la déclaration est returnning. Je n'ai aucune idée de qui.
J'ai posté une réponse. Remarque, pour répondre d'autres dans les commentaires, s'il vous plaît ne pas mettre un espace après le
Nizet, j'ai un code comme celui -, - createStatement(); resultset rs = st.executeQuery(requête sql). Maintenant, je suis coincé ici. Comment montrer ce résultat dans un tableau HTML. Comme je n'ai aucune idée au sujet de la requête, je n'ai aucune idée sur le jeu de résultats de la structure.
BalusC, j'ai vu votre - page. Mais,pour appliquer le produit.setId(resultSet.getLong("id")) - ce que je dois savoir combien de colonnes et que la table de la déclaration est returnning. Je n'ai aucune idée de qui.
J'ai posté une réponse. Remarque, pour répondre d'autres dans les commentaires, s'il vous plaît ne pas mettre un espace après le
@
. Je n'ai pas vu votre commentaire répondre.OriginalL'auteur alessandro | 2012-02-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
Map<String, Object>
pour représenter une "dynamique" de ligne, qui est itérable dans<c:forEach>
. Vous pouvez utiliserResultSetMetaData
pour recueillir des informations sur les colonnes telles que le nombre de colonnes et la des étiquettes de colonne.Donc, cette cartographie devrait le faire:
Vous pouvez l'afficher dans la page JSP, comme suit:
Utilisez simplement
${als}
. Ne pas écrire de code Java dans le fichier JSP. Votre erreur est de la manière que vous avez essayé d'obtenir que d'une session attribtue plutôt que comme un attribut de la demande. Lire sur stackoverflow.com/questions/3177733/... et stackoverflow.com/questions/3106452/...Désolé, mais j'ai ajouter un Objet rows = demande.getAttribute("${sla}"). cependant il en montrant les lignes de la variable n'est pas utilisé. Et le problème reste le même.
C'est un avertissement, pas une erreur. Vous semblez n'être pas à l'aide de la scriptlet variable n'importe où. Tout simplement supprimer ces nonsensicial scriptlet
<% ... %>
lignes au total et l'utilisation${als}
au lieu de${rows}
comme dans<c:forEach items="${als}">
, comme dit dans le commentaire précédent (et s'il vous plaît prendre le temps de lire les liens donnés ainsi avant de faire plus d'erreurs inutiles à l'avenir).OriginalL'auteur BalusC
Utiliser le jeu de résultats de métadonnées pour connaître le nombre de colonnes retournées par la requête, le type de ces colonnes, etc.
Voir la javadoc, qui a d'ailleurs un exemple.
OriginalL'auteur JB Nizet