私はSpringMVCの初心者なので、制御の流れがコントローラークラスからtraining-servlet.xmlに、またはその逆になっていることを理解していませんでした。contextConfigLocationファイル(training-servlet.xml)は次のように説明されます。
<beans:bean id="userService" class="com.my.control.UserServiceImpl" />
<beans:bean name="/userRegistration.htm" class="com.my.control.HomeController">
<beans:property name="validator">
<beans:bean class="com.my.validations.HomeValidations" />
</beans:property>
<beans:property name="userService" ref="userService"></beans:property>
<beans:property name="formView" value="userForm"></beans:property>
<beans:property name="successView" value="userSuccess"></beans:property>
</beans:bean>
<beans:bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/jsp/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
私のControllerクラスはSimpleFormControllerを拡張し、次のようになります。
public class HomeController extends SimpleFormController {
private UserService userService;
public HomeController() {
setCommandClass(User.class);
setCommandName("user");
}
public void setUserService(UserService userService) {
this.userService = userService;
}
protected ModelAndView onSubmit(Object command) throws Exception {
System.out.println("Hai Inside");
User user = (User) command;
userService.add(user);
return new ModelAndView("userSuccess","user",user);
}
}
モデルとコントローラーの間にある流れを理解するのを手伝ってください。