0

私は春の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 に答える