我正在学习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进行测试) thx帮助〜
答案 0 :(得分:0)
我认为您的请求网址可能不匹配。您在注释中指定了“/ handle81”,但是请求“/handle81.html”。
如果没有进一步的信息,很难说这个问题是否匹配&amp;将请求分派给处理程序;或在转换中。
尝试使用String类型参数的另一个处理程序,看看是否可以成功调用它。至少你会知道问题所在。
什么是异常堆栈跟踪?你为什么不发布它?这是你最重要的线索和你应该总是张贴前信息&amp;当你问一个问题时,最上面的几行/它被抛出的地方。它应该在应用程序或Tomcat /其他服务器日志中。