Comment puis-je passer d'un objet à un de balises JSP?
J'ai une page JSP qui contient un scriplet où j'instancie un objet. Je voudrais faire passer cet objet à la JSP tag sans utiliser de cache.
Par exemple je voudrais faire:
<%@ taglib prefix="wf" uri="JspCustomTag" %>
<%
Object myObject = new Object();
%>
<wf:my-tag obj=myObject />
Je essaie d'éviter directement en interaction avec les caches (page, la session, servletcontext), je préférerais avoir mon tag poignée.
- Remarque, je ne veux pas que mon objet converti en une chaîne de caractères et transmis sous forme de chaîne, je veux mon tag handler pour avoir accès à l'objet.
- Avez-vous soin de choisir la bonne réponse?
- Tous d'entre eux sont mauvais.
- Eh bien, ils ne sont pas si mauvais que ça.
Vous devez vous connecter pour publier un commentaire.
Une question légèrement différente, que j'ai cherché ici: "Comment faire passer un objet à un fichier de balises?"
Réponse: Utiliser l'attribut "type" de l'attribut de la directive:
Le type les valeurs par défaut de java.lang.Chaîne, de sorte que, sans elle, vous obtiendrez un message d'erreur si vous essayez d'accéder à des champs d'objet en disant qu'il ne trouve pas le champ de type Chaîne de caractères.
Sa ne les encourage pas à utiliser les Scriptlets dans la page JSP. Il tue le but d'un modèle de langue.
page
étendue de haricots? 2. Il n'y a pas de sérialisation lieu ici. Pourquoi pensez-vous cela?La syntaxe d'origine était de réutiliser '<%= %>'
Donc
Voir cette partie du Soleil de la Bibliothèque de balises Tutoriel pour un exemple
Pour moi l'expression de la langue ne fonctionne que si je fais cette variable accessible, en le mettant par exemple dans le contexte de la page.
Sinon tas reçoit la valeur null.
Et
<wf:my-tag obj="<%= myObject %>" />
fonctionne avec aucun effort supplémentaire. Aussi <%=%> donne jsp le type de compilation de validation, tandis qu'El est validée qu'au moment de l'exécution.Vous pouvez utiliser le bouton "<%= %>" pour obtenir la valeur de l'objet directement dans votre balise :
et pour obtenir la valeur d'une variable à l'intérieur de cet objet, vous pouvez obtenir l'aide de "obj.le paramètre" comme:
L'utilisation de l'expression langue: