gpt4 book ai didi

java - Spring MVC 3 : Define own Datatype-Binding

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:33:52 25 4
gpt4 key购买 nike

在 spring3 Controller 中,我可以创建一个带有多个参数的 Action 方法,女巫将由 spring 设置

@RequestMapping(value="/updateTemplate")
public void doStuff(HttpServletRequest request, Locale locale) {
assert request != null;
assert locale != null;
}

我如何教 Spring 填充我自己定义的数据类型?

@RequestMapping(value="/updateTemplate")
public void doStuff(HttpServletRequest request, Locale locale, MyClass myClass) {
assert myClass != null;
}

最佳答案

你应该使用WebArgumentResolver

public class MyClassWebArgumentResolver implements WebArgumentResolver {
public Object resolveArgument(MethodParameter param, NativeWebRequest req) throws Exception {
if (param.getParameterType().equals(MyClass.class)) {
MyCLass obj = new MyClass();
....
return obj;
}
return UNRESOLVED;
}

}

并将其注册到springmvc:

<mvc:annotation-driven >
<mvc:argument-resolvers>
<bean class="com.xxx.MyClassWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>

然后你就可以在你的 Controller 中使用它了

@RequestMapping(value="/updateTemplate")
public void doStuff(HttpServletRequest request, Locale locale, MyClass myClass) {
assert myClass != null;
}

关于java - Spring MVC 3 : Define own Datatype-Binding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10514496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com