【已解决】
使用注解的形式对参数值进行解密,通过拦截的方式修改request的参数值 继承HttpServletRequestWrapper 重写getParameter和getParameterMap 对值进行修改 debug模式下无法进入这两个方法
public class SecurityInterceptor implements Interceptor {
	@Override
	public void intercept(Invocation inv) {
		SecurityParameter parameter = inv.getMethod().getAnnotation(SecurityParameter.class);
		Controller c = inv.getController();
		HttpServletRequest request= c.getRequest();
		CustomWrapper customWrapper = null;
		if(parameter!=null){
			if(parameter.inDecode()){
				customWrapper = new CustomWrapper(request,new HashMap<String, Object>(inv.getController().getParaMap()),parameter.encrpet());
				c.setHttpServletRequest(customWrapper);				
			}
		}
		inv.invoke();
	}
}这是CustomWrapper继承HttpServletRequestWrapper
        /***
           解决办法:
	 * 重写getParameterValues 对参数的值进行修改
	 */
	@Override
	public String[] getParameterValues(String name) {
		String[] value= pMap.get(name);
		if(null==value){
			return null;
		}
		value = new String[]{format(value[0], encrpet)};
		return value;
	}
	/**
	 * 重写getParameterMap
	 */
	@SuppressWarnings("unchecked")
	@Override
	public Map<String, String[]> getParameterMap() {
		HashMap<String, String[]> paramMap = (HashMap<String, String[]>) super.getParameterMap();
		paramMap = (HashMap<String, String[]>) paramMap.clone();
		for (Iterator<?> iterator = paramMap.entrySet().iterator(); iterator.hasNext();) {
			Map.Entry<String, String[]> entry = (Map.Entry<String, String[]>) iterator.next();
			String[] values = entry.getValue();
			for (int i = 0; i < values.length; i++) {
				if (values[i] instanceof String) {
					values[i] = format(values[i], encrpet);
				}
			}
			entry.setValue(values);
		}
		return paramMap;
	}
 
 
 
 
 
