01: package com.mockrunner.example.servlet;
02:
03: import java.io.IOException;
04:
05: import javax.servlet.Filter;
06: import javax.servlet.FilterChain;
07: import javax.servlet.FilterConfig;
08: import javax.servlet.ServletException;
09: import javax.servlet.ServletRequest;
10: import javax.servlet.ServletResponse;
11: import javax.servlet.http.HttpServletRequest;
12:
13: /**
14: * This example filter replaces request parameters from
15: * submit images (<code><input type="image"/></code>)
16: * with the appropriate submit button parameters
17: * (<code><input type="submit"/></code>), i.e. if the
18: * image name is <i>image</i>, the two parameters
19: * <i>image.x</i> and <i>image.y</i> will be replaced
20: * by one parameter <i>image</i>. This makes it possible
21: * to handle submit images like normal submit buttons.
22: */
23: public class ImageButtonFilter implements Filter {
24: public void doFilter(ServletRequest request,
25: ServletResponse response, FilterChain chain)
26: throws IOException, ServletException {
27: if (request instanceof HttpServletRequest) {
28: ImageButtonRequestWrapper wrapper = new ImageButtonRequestWrapper(
29: (HttpServletRequest) request);
30: chain.doFilter(wrapper, response);
31: } else {
32: chain.doFilter(request, response);
33: }
34: }
35:
36: public void init(FilterConfig filterConfig) {
37:
38: }
39:
40: public void destroy() {
41:
42: }
43: }
|