[jboss-jira] [JBoss JIRA] Commented: (JBPORTAL-2356) It is impossible to use html forms in portlets or js to build http request
Bernard de Terwangne (JIRA)
jira-events at lists.jboss.org
Wed Jul 15 05:29:40 EDT 2009
[ https://jira.jboss.org/jira/browse/JBPORTAL-2356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12476342#action_12476342 ]
Bernard de Terwangne commented on JBPORTAL-2356:
------------------------------------------------
Thomas,
I'm getting back to you on this issue. My client just does want a full portal and prefers a simple portlet container. For now I'm providing JBPC with the attached fix. I see that the fix is not included in JBPC source code neither on the trunk or in tag 2.0.7. Can I have some hope that it would be included in a future version ?
On the other hand the comment in ControllerRequestFactory.java states that :
/**
* A factory that provides a way to create ControllerRequest. This factory is just a default implementation and is not
* an authority which means that any client of the controller framework is free to determine how a controller request is
* created.
*
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
This is true only if you assume that my client provided implementation of the factory has the same fully qualified name. Indeed is instanciated in several places in the source code (ControllerFilter, PortalServlet, TCKServlet) always this way :
ControllerRequestFactory factory = new ControllerRequestFactory(context.getPageNavigationalStateSerialization());
So the only method for providing an alternative application as suggested by Julien Viet in its comment is to replace the class file. No possible configuration of the class name is provided or so. This is why it would be great to have my fix incorporated in a future version.
Bernard
> It is impossible to use html forms in portlets or js to build http request
> --------------------------------------------------------------------------
>
> Key: JBPORTAL-2356
> URL: https://jira.jboss.org/jira/browse/JBPORTAL-2356
> Project: JBoss Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Portal Portlet
> Affects Versions: Portlet-2.0.1
> Environment: Linux, Java 5, Tomcat, JBoss Portlet Container 2.0
> Reporter: Bernard de Terwangne
> Attachments: ControllerRequestFactory.java, ControllerRequestFactory.java, ControllerRequestFactoryTestCase.java
>
>
> JBoss Portlet container conforms to the spec so well that it becomes unusable. It is impossible to query the end-user for a value and pass that value in processAction or serveResource calls. Let's say you write this in your JSP page :
> <form action="<portlet:actionURL><portlet:param name='q' value='yop'/></portlet:actionURL">
> <input name="q" type="text/>
> <input type="submit"/>
> </form>
> and in the Java code
> public void processAction(ActionRequest req, ActionResponse res)
> throws IOException, PortletException {
> System.out.println(req.getParameter("q");
> }
> The printed value will allways be "yop" (the value placed in the portlet:param tag. There is no way to retrieve the value actually typed by the end user.
> This is due to the fact JBoss Portlet container mangles in Base64 the parameters from <portlet:param> and disregards parameters appended by the browser's form implementation. Same thing with <resourceURL>. There is no way to pass user input to the portlet's Java code.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list