私はSpringの注釈について学ぶために、オンラインチュートリアル(gontuシリーズ)に従っていた簡単なアプリケーションを使って作業しています。Spring ViewResolverが不正なビューにマッピングされています
私は、Spring-dispatcher-servletからのすべての呼び出しを処理するStudentAdmissionControllerというコントローラクラスを持っています。注釈は次のとおりです。私は読みやすいようにスニペットを表示しています。
@RequestMapping(value="/admissionForm.html", method=RequestMethod.GET)
public ModelAndView getAdmissionForm() {
ModelAndView model = new ModelAndView("admissionForm");
return model;
}
これは、2つのフィールドを収集するadmissionForm.jspというJSPを起動します。この部分はうまく動作します。 JSP内の私の<form>
タグはこのように見えます。
<form action="/FirstSpringMVCProject/submitAdmissionForm.html" method="post">
私のコントローラには、このように見えるこの提出物を処理するアノテーションがあります。それは、ディスパッチャサーブレットに戻ったとき、(注釈の名前です)submitAdmissionForm.jspというページを表示しようとしているいくつかの奇妙な理由で、
@RequestMapping(value="/submitAdmissionForm.html", method=RequestMethod.POST)
public ModelAndView submitAdmissionForm(@RequestParam("studentName") String name, @RequestParam("studentHobby") String hobby) {
ModelAndView model = new ModelAndView("admissionSuccess");
logger.info("Returning " + model.getViewName());
model.addObject("msg", "Details submitted by you:: Name: " + name + ", Hobby: " + hobby);
return model;
}
。
なぜこれを行うのか分かりません。注釈がちょうどビュー(admissionForm)と同じ名前になったので、GETの注釈は正常に機能します。私はロガーのステートメントを入れ、デバッグでは、モデルに提供されているビューがadmissionSuccess.jspというファイルを実行したい正しいもの(admissionSuccess)のように見えます。しかし、viewResolverはsubmitAdmissionForm.jspというファイル(存在しない)を実行しようとしています。ちょうど私が注釈を呼び出したものとまったく同じです。それはどのように働くはずではありません....
私はYoutubeに従っていた例はうまくいきます...私のディスパッチャのビューリゾルバでは何が起こっているのですか?サーブレット...助けてください。
ディスパッチャーサーブレットは次のようになります。
<context:component-scan base-package="com.gontuseries.studentadmissioncontroller" />
<mvc:annotation-driven/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/WEB-INF/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
はあなたのWEB-INFおよびweb.xmlファイル内のjspの場所を共有してくださいすることができますか..? –