[
https://issues.apache.org/jira/browse/WICKET-3406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
todd wolff updated WICKET-3406:
-------------------------------
Description:
ServletWebRequest reads the post parameters from entity body rather than using
getParameterMap and/or getParamteterNames method as indicated by ServletAPI:
"If the parameter data was sent in the request body, such as occurs with an
HTTP POST request, then reading the body directly via getInputStream() or
getReader() can interfere with the execution of this method."
IMO, trying to distinguish the get (query) parameters from the post parameters
in the new Wicket request API is problematic. The servlet API does not
differentiate in terms of the parameter's source and programmers are therefore
not inclined to handle them differently. Within Wicket 1.4..x, the
PageParameters object passed to a page's constructor contained parameters from
both sources, now it no longer does, which will require that the user handle
posted parameters separately - which is confusing.
was:
ServletWebRequest reads the post parameters from entity body rather than using
getParameterMap and/or getParamteterNames method as indicated by ServletAPI:
"If the parameter data was sent in the request body, such as occurs with an
HTTP POST request, then reading the body directly via getInputStream() or
getReader() can interfere with the execution of this method."
IMO, trying to distinguish the get (query) parameters from the post parameters
in the new Wicket request API is problematic for several reasons. 1. The
servlet API does not differentiate in terms of the parameter's source and
programmers are therefore not inclined to handle them differently. 2. Within
Wicket 1.4..x, the PageParameters object passed to a page's constructor used to
contain parameters from both sources, now it no longer does, which is
confusing. 3. The method Request.getRequestParameters() attempts to combine
the query parameters and post parameters using a Set. If multiple parameters
with the same name and different values exist, which the spec allows, they will
be overwritten.
> Invoking getParameter() on HttpServletRequest throws IllegalStateException
> --------------------------------------------------------------------------
>
> Key: WICKET-3406
> URL: https://issues.apache.org/jira/browse/WICKET-3406
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5-RC1
> Reporter: todd wolff
>
> ServletWebRequest reads the post parameters from entity body rather than
> using getParameterMap and/or getParamteterNames method as indicated by
> ServletAPI:
> "If the parameter data was sent in the request body, such as occurs with an
> HTTP POST request, then reading the body directly via getInputStream() or
> getReader() can interfere with the execution of this method."
> IMO, trying to distinguish the get (query) parameters from the post
> parameters in the new Wicket request API is problematic. The servlet API
> does not differentiate in terms of the parameter's source and programmers are
> therefore not inclined to handle them differently. Within Wicket 1.4..x, the
> PageParameters object passed to a page's constructor contained parameters
> from both sources, now it no longer does, which will require that the user
> handle posted parameters separately - which is confusing.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.