Hi Julian, > You can register servlet filters in Sling, but you can also register > servlet filters in the OSGi HttpService using the whiteboard[0]. As > the SlingMainServlet runs within the OSGi HttpService, you may have > more success registering a filter there. I don't know where in the > stack ParameterSupport is added, so YMMV. Let us know whether this > does the trick.
Thanks. Using that filter chain does the trick as the filter is added before any sling processing kicks in. Nevertheless I wonder why it is necessary to include a mandatory parameter with always the same value. Can't this be done by sling? Regards, Markus > [0] > http://felix.apache.org/site/apache-felix-http-service.html#ApacheFelixHTTPService-UsingtheWhiteboard > > > > On Thu, Feb 24, 2011 at 4:29 PM, Markus Joschko > <[email protected]> wrote: >> Hi Vidar and all, >> I think that this approach is not working. >> I have the exact same use case. We don't want to put the _charset_ >> parameter into every form. Therefore I tried to automatically add a >> _charset_ request parameter to the request in a filter. >> However that parameter never gets picked up as ParameterSupport is >> created before the filter gets called (and then uses the reference to >> the original servletrequest and not the wrapped one). >> I could theoretically reinstantiate Parametersupport but that requires >> knowledge of the servlet attribute key where parametersupport is >> stored. And that is a private variable in parametersupport. >> >> Any other chance to not have the _charset_ parameter in every post >> request sent to the system? >> >> Thanks, >> Markus >> >> On Fri, Feb 11, 2011 at 2:25 PM, Vidar Ramdal <[email protected]> wrote: >>> On Thu, Feb 10, 2011 at 11:56 PM, Peter Dotchev <[email protected]> wrote: >>>> >>>> Hi, >>>> >>>> Recently >>>> http://dotev.blogspot.com/2011/02/posting-non-ascii-characters-in-web.html >>>> I >>>> stumbled over this issue too. >>>> >>>> I don't want to add _charset_ input to all the forms. >>>> Is there a way to set the request encoding to UTF-8? >>>> IMHO it would be better if the request encoding is configurable like it is >>>> done in Wicket. >>>> >>>> http://wiki.apache.org/tomcat/FAQ/CharacterEncoding Tomcat FAQ suggests >>>> using a filter. >>>> How can I do that in Sling? >>> >>> Hi, you can implement the javax.servlet.Filter interface and register >>> your implementation as a Filter service: >>> >>> @Component(immediate = true) >>> @Properties({ >>> @Property(name = "filter.scope", value = "request", >>> propertyPrivate = true), >>> @Property(name = "filter.order", value = "-9", propertyPrivate = >>> true) >>> }) >>> @Services({@Service(javax.servlet.Filter.class)}) >>> public class YourFilter implements javax.servlet.Filter { >>> ... >>> } >>> >>> >>> >>> -- >>> Vidar S. Ramdal <[email protected]> - http://www.idium.no >>> Sommerrogata 13-15, N-0255 Oslo, Norway >>> + 47 22 00 84 00 >>> Quando omni flunkus moritatus! >>> >> >
