希望你做得很好。
我有一个与Spring MVC及其控制器有关的问题。
我在控制器中有以下代码片段:
@RequestMapping(value = "/booking-curve/history/journeys/{journeyIds}/travel-date-ranges/{travelDateRanges}", method = RequestMethod.GET)
@ResponseBody
public String generateHistoricalBookingCurve(@PathVariable List<Integer> journeyIds, @PathVariable List<Date[]> travelDateRanges) {
double[] aveBookingLoadFactors = pricingService.calculateAveBookingLoadFactors(journeyIds, travelDateRanges);
JsonNodeFactory nodeFactory = JsonNodeFactory.instance;
ArrayNode array = nodeFactory.arrayNode();
for (int i = 0; i < aveBookingLoadFactors.length; i++) {
ObjectNode object = nodeFactory.objectNode();
object.put("daysBefore", aveBookingLoadFactors.length - 1 - i);
object.put("aveBookingLoadFactor", aveBookingLoadFactors[i]);
array.add(object);
}
return array.toString();
}
url链接中的journeyIds由逗号分隔的ID组成,url链接中的travelDateRanges由逗号分隔的日期对组成。例如travelIds是11,22,44之类的东西,travelDateRanges是像2012-11-11to2012-12-01,2014-02-11到2014-05-03这样的东西。
我想春天mvc可以自动将上面的字符串转换为List&#39;&lt;&#39; Integer&#39;&gt;&#39;和列表&#39;&lt;&#39;日期[]&#39;&gt;&#39;如我上面的方法所示。我认为PropertyEditor或Converter应该适用于我的情况,但是我试着没有运气,或者我没有正确配置它们。
这里的专家,请介绍一下我的问题!非常感谢你!
致以最诚挚的问候,
答案 0 :(得分:2)
您必须提供转换器和包装类......
@Component
public class YourConverter implements Converter<YourIntWrapper, YourDateWrapper> {
@Override
public YourDateWrapper convert(YourIntWrapper source) {
// do your stuff
return yourOutWrapper;
}
}
并注册
<bean id="conversionService"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.yourpackage.YourConverter"/>
</set>
</property>
</bean>