From 559ae343aa72db04e12b94acfa0bec30ed9a11f1 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 9 Dec 2016 16:14:27 +0300 Subject: juick-spring-www: merge some work from develop branch, port some templates to Thymeleaf --- .../com/juick/www/helpers/QueryStringResolver.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 juick-spring-www/src/main/java/com/juick/www/helpers/QueryStringResolver.java (limited to 'juick-spring-www/src/main/java/com/juick/www/helpers/QueryStringResolver.java') diff --git a/juick-spring-www/src/main/java/com/juick/www/helpers/QueryStringResolver.java b/juick-spring-www/src/main/java/com/juick/www/helpers/QueryStringResolver.java new file mode 100644 index 00000000..812c4497 --- /dev/null +++ b/juick-spring-www/src/main/java/com/juick/www/helpers/QueryStringResolver.java @@ -0,0 +1,31 @@ +package com.juick.www.helpers; + +import org.springframework.core.MethodParameter; +import org.springframework.web.bind.support.WebDataBinderFactory; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.method.support.HandlerMethodArgumentResolver; +import org.springframework.web.method.support.ModelAndViewContainer; + +import javax.servlet.http.HttpServletRequest; +import java.lang.annotation.Annotation; +import java.util.Optional; + +public class QueryStringResolver implements HandlerMethodArgumentResolver { + @Override + public boolean supportsParameter(MethodParameter parameter) { + Annotation[] parameterAnnotations = parameter.getParameterAnnotations(); + for (Annotation parameterAnnotation : parameterAnnotations) { + if (QueryString.class.isInstance(parameterAnnotation)) { + return true; + } + } + + return false; + } + + @Override + public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { + HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class); + return Optional.ofNullable(request.getQueryString()); + } +} \ No newline at end of file -- cgit v1.2.3