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,


Répondre à