需求:获取HTML的请求参数
类似:
实现思路:
1、利用过滤器拦截所有HTML请求
2、利用ModelAndView把参数保存起来
3、在HTML页面使用${key}把参数获取到
一、利用过滤器拦截所有HTML请求
web.xml配置:
html
core.filter.HTML
html
*.html
过滤器:
package core.filter;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 过滤所有HTML请求
*
*/
public class HTML implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
req.setCharacterEncoding("UTF-8");
res.setCharacterEncoding("UTF-8");
res.setHeader( "Access-Control-Allow-Origin", "*" );
String uri = backslashToSingle( req.getRequestURI() );
String context = req.getContextPath();
Enumeration enu = request.getParameterNames();
StringBuffer params = new StringBuffer();
while(enu.hasMoreElements()){
String paraName = (String)enu.nextElement();
params.append("&"+paraName+"="+request.getParameter(paraName));
}
//重定向
if(uri.indexOf(".") != -1) {
res.sendR