How to do spring request parameter conversion

后端 未结 5 1581
南旧
南旧 2021-02-05 13:36

In a Spring 3 based web (portlet) application I have a controller with a method like this:

@RenderMapping
public ModelAn         


        
5条回答
  •  走了就别回头了
    2021-02-05 14:05

    Implement a WebArgumentResolver:

    public class MyArgumentResolver implements WebArgumentResolver
    {
        @Override
        public Object resolveArgument(MethodParameter methodParameter,
                NativeWebRequest webRequest) throws Exception
        {
            Class paramType = methodParameter.getParameterType();
            if (paramType == MyClass.class)
            {
                String parameterName = methodParameter.getParameterName();
                String stringParameter = webRequest.getParameter(parameterName);
                return convert(stringParameter);
            }
            return UNRESOLVED;
        }
    }
    

    And register it in your applicationContext.xml:

    
        
            
        
    
    

    This works and even has the advantage of allowing parameter conversion that is based on multiple method parameters.

提交回复
热议问题