0

我正在学习 spring mvc,当我尝试使用 ConversionService 时,我遇到了 500

@RequestMapping("/handle81")
public String handle81(@RequestParam("user")User user,ModelMap modelMap) {
    System.out.println(user);
    modelMap.put("user", user);
    return "/user/success";
}

这是处理程序方法,我已将 @RequestMapping("/user") 放在类和转换器中

public class StringToUserConverter implements Converter<String, User> {
public User convert(String source) {
    System.out.println(source);
    User user=new User();
        String[] item=source.split(":");
        user.setUserName(item[0]);
        user.setPassword(item[1]);
        user.setName(item[2]);
    return user; 
}

}

<mvc:annotation-driven conversion-service="conversionService" />
<bean id="conversionService"
    class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="com.baobaotao.domain.StringToUserConverter" />
        </list>
    </property>
</bean>

所以当我浏览

http://localhost:8080/spring-mvc/user/handle81.html?user=asdf:asdf:fdas

它得到 500 并且在控制台上什么也不打印(我使用 maven-jetty 进行测试)谢谢帮助~

4

1 回答 1

0

我认为您的请求 URL 可能不匹配。您在注释中指定“/handle81”,但正在请求“/handle81.html”。

如果没有进一步的信息,很难判断问题是否匹配并将请求分派给处理程序;或在转换中。

尝试使用 String 类型参数的另一个处理程序,看看您是否可以成功调用它。至少你会知道问题出在哪里。


什么是异常堆栈跟踪?你为什么不发帖?这是您最重要的线索,当您提出问题时,您应该始终发布前消息和前几行/抛出的位置。它应该在应用程序或 Tomcat/其他服务器日志中。

于 2013-05-11T10:20:10.503 回答