2010-03-19 10 views
1

Je souhaite être en mesure d'afficher certaines données en fonction des critères définis par l'utilisateur dans un champ de texte. Je peux facilement prendre ces données, traiter le message du formulaire et afficher les données sur une autre page. Cependant, je veux être capable de tout faire sur la même page - ils cliquent sur le bouton, et une nouvelle div apparaît avec l'information. Cela ne semble pas trop compliqué, mais je veux utiliser des balises JSTL pour formater les données telles que:Utilisation de balises jstl dans un div créé dynamiquement

<c:forEach items="${model.data}" var="d"> 
    <tr> 
    <td><fmt:formatDate type="date" dateStyle="short" timeStyle="default" value="${d.reportDate}" /></td> 
    <td><c:out value="${d.cardType}"/></td> 
    </tr> 
</c:forEach> 

Si les balises JSTL sont traitées lorsque la page se charge, puis-je utiliser que dans cette nouvelle div? Puis-je le mettre à jour via une fonction javascript (en utilisant un prototype) pour afficher les données correctes? Serai-je capable de faire la même chose si elle change les critères et clique à nouveau sur le bouton "soumettre"?

Répondre

1

Non, vous ne pouvez pas. Vous l'avez déjà dit, JSTL ne fonctionne que du côté serveur. Comme vous le faites entièrement du côté client, votre seul recours consiste à utiliser JavaScript pour remplir la table. J'ai posté des réponses similaires avant here et here avec des exemples de code comment remplir une table avec l'aide de jQuery, JSON, Google Gson et une servlet. Je sais que vous utilisez Prototype, mais la syntaxe jQuery doit être suffisamment reconnaissable pour la porter à la syntaxe Prototype sans aucun problème.

+0

Vous êtes trop pro 'GSon', pourquoi ne pas télécharger eux-mêmes un sérialiseur d'objet' JSon' complètement stable de 'JSon.org'? –

+0

@The Gentleman Elite: J'ai essayé presque tous les sérialiseurs JSON basés sur Java disponibles et Gson a le meilleur support pour les génériques et les beans imbriqués. En gros, vous n'avez rien à faire vous-même pour le faire fonctionner comme vous le souhaitez. Juste 'Gson # toJson()' et 'Gson # fromJson()' suffit. – BalusC