Scheme attribute for form tag
-----------------------------
Key: WW-1990
URL: https://issues.apache.org/struts/browse/WW-1990
Project: Struts 2
Issue Type: Improvement
Components: Views
Affects Versions: 2.0.8
Reporter: Johan Ström
There is currently no way to set the scheme for a <s:form > tag (like you can
with for example the s:url tag)
If a protected String scheme; is added and relevant setters (and tld changes)
this can be used (components/Form.java):
269 String result =
UrlHelper.buildUrl(actionMapper.getUriFromActionMapping(mapping), request,
response, null, scheme, true, true);
This would do the same as the old code but make it respect the schema parameter.
Currently I have to subclass the form tag and override the
evaluateExtraParamsServletRequest, copying all the code in it.. Also, since its
a private function i have to subclass the populateComponentHtmlId (which is
protected) in order to be able to call my own evaluateExtraParamsServletRequest
at all.. Make it protected instead, or is there some reason to have it private?
Also, it would be nice to have the UrlHelper.buildUrl function "replaced" with
something like this:
protected static String buildUrl(String action, HttpServletRequest request,
HttpServletResponse response, Map params, String scheme, boolean
includeContext, boolean encodeResult)
{
return UrlHelper.buildUrl(action, request, response, params, scheme, true,
true);
}
and then, in evaluateExtraParamsServletRequest (and i guess the portlet variant
too), call this local buildUrl instead. This would allow me to override (or
extend) the URL building easier. I would want this to implement "restifying" my
URLs (ie inject "restfull" parameters for useage with the Restful2ActionMapper).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.