Bonjour,
Pour encoder un url avec les portlets JSR168, il faut procéder ainsi:
<[EMAIL PROTECTED] uri="http://java.sun.com/portlet" prefix="portlet"%>
<portlet:defineObjects />
...
<% PortletURL url = renderRequest.renderURL() %>
....
<form action='<%=url.toString())%>'
...
Dans la méthode render(), ou doView(), il faut traiter la valeur des
paramètres (comme dans la méthode service() d'un servlet) puis
dispatcher vers le jsp response.jsp.
Cordialement,
KT.
Christophe Dumonet a écrit :
Bonjour,
J'ai une question concernant l'utilisation des formulaires dans des
JSPs dans un contexte de portlet.
Concrètement :
- je crée une portlet, dans la méthode doView, je créé un objet
portletRequestDispatcher pour avoir l'éxécution d'un JSP dans le VIEW
du portlet.
PortletRequestDispatcher rd =
getPortletContext().getRequestDispatcher("/convertisseur.jsp");
rd.include(request,response);
-ça fonctionne bien, mon JSP s'affiche dans le portlet en VIEW.
LE PROBLEME :
--> mon JSP est un basic formulaire de saisie, qui doit appeler un
autre jsp pour interpréter la réponse.
mon JSP crée un formulaire et j'encode comme ceci la
redirection vers le jsp qui interprétera la réponse :
<form
action='<%=response.encodeURL(request.getContextPath()+"/reponse.jsp")%>'
method=post>
--> LE jsp réponse.jsp est bien executé, il récupère bien les
variables passés en POST, MAIS JE SORS DU PORTAIL JAHIA : mon jsp est
exécuté tout seul sans jahia.
comment faire pour que ce jsp d'action de formulaire soit exécuté dans
le contexte de mon portlet dans jahia ?
Merci pour vos réponses !
Cordialement,