хорошо, чтобы обработать URL следующим образом:
/someurl?fooId=3&barId=5
вам нужно написать что-то вроде этого:
@RequestMapping("/someurl")
public ModelAndView myController(
@RequestParam("fooId") int fooId,
@RequestParam("barId") int barId) {
Foo foo = new Foo();
foo.bar = fooId;
Bar bar = new Bar();
bar.bar = barId;
// etc.
}
вы можете пойти за пределы этого решения и создайте пользовательские конвертеры:
public class FooConverter implements Converter<Integer, Foo> {
@Override
public Foo convert(Integer source) {
Foo foo = new Foo();
foo.bar = source;
return foo;
}
}
public class BarConverter implements Converter<Integer, Bar> {
@Override
public Bar convert(Integer source) {
Bar bar = new Bar();
bar.bar = source;
return bar;
}
}
, а затем после их регистрации весной:
<mvc:annotation-driven conversion-service="conversionService"/>
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="xyz.FooConverter"/>
<bean class="xyz.BarConverter"/>
</set>
</property>
</bean>
вы можете использовать более короткое решение (где Foo и Bar конвертируются автоматически):
@RequestMapping("/someurl")
public ModelAndView myController(
@RequestParam("fooId") Foo foo,
@RequestParam("barId") Bar bar) {
// etc.
}