自定义@RequestMapping 里的参数(基于注解的)

<bean class=”org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter”>
<!–此处省略原有的如:

<property name=”webBindingInitializer”>
<bean/>
</property>
–>
<property name=”customArgumentResolvers”>
<bean class=”com.gzy.dec.helper.GzyAgumentResolver”></bean>
</property>
</bean>

package com.gzy.dec.helper;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slave4j.utils.BaseEntity;
import org.springframework.core.MethodParameter;
import org.springframework.web.bind.support.WebArgumentResolver;
import org.springframework.web.context.request.NativeWebRequest;
import com.gzy.common.transfer.ReportMessage.RequestMessageWrapper;
import com.gzy.common.transfer.ReportMessage.ResponseMessageWrapper;
public class GzyAgumentResolver implements WebArgumentResolver{
@Override
public Object resolveArgument(MethodParameter methodParameter,
NativeWebRequest webRequest) throws Exception {
// TODO Auto-generated method stub
if(methodParameter.getParameterType().isAssignableFrom(RequestMessageWrapper.class))
{
RequestMessageWrapper rmw = (RequestMessageWrapper)methodParameter.getParameterType().
newInstance();
HttpServletRequest request = (HttpServletRequest) webRequest;
rmw.read(request);
return rmw;
}
return UNRESOLVED;
}
}

在Controller 里就可以这样使用了

@RequestMapping(value = "/usersv.jspx", method = RequestMethod.GET)
public String userss(RegRequest request,
RegResponse response, ModelMap model) {
System.out.println(request.description);
}
reeoo.com - web design inspiration

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注