Я новичок в Spring MVC.Я получаю сообщения об ошибках по следующим вопросам (пока не уверен, какой объем информации мне необходим):
Работает нормально:
@RequestMapping(value = "startpage.do")
public ModelAndView startpage(HttpServletRequest req, HttpServletResponse res) {
.
.
ModelAndView mv = new ModelAndView("startpage");
mv.getModelMap().addAttribute("loginPage", loginPage);
return mv;
Но не удается:
@RequestMapping(value = "somecontroller.do")
public ModelAndView ftcontroller(HttpServletRequest req, HttpServletResponse res, ModelAndView mav) {.. ...
ModelAndView mv = new ModelAndView("startpage");
mv.getModelMap().addAttribute("loginPage", loginPage);
return mav;
Как видите, один и тот же код, другое отображение запроса.Может ли быть так, что это потребляет MVC, чтобы запутаться?
Ошибка, которую я получаю:
java.lang.NullPointerException
at jsp_servlet._web_45_inf._jsp.__somecontroller._jspService(__ftcontroller.java:103)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
Truncated. see log file for complete stacktrace
Логика biz - это экран входа в систему "startpage.do", когдаВход в систему отправлен, он может не работать (в этом случае startup.do должен быть повторно выполнен, в противном случае должна быть возвращена другая страница.
, если есть лучший способ реализовать это, я будубудьте счастливы услышать это.
(Следует отметить, что я пытаюсь подключить Spring MVC к существующему проекту, поэтому я стараюсь вносить как можно меньше изменений и, следовательно, не использоватьвесна: форма и т. д.)
Дополнительная информация:
Файл JSP startpage.jsp (разрешен из "стартовой страницы") имеет форму с target = "somecontroller.do".
Полный код контроллера:
class
{public static void main (String [] args) {
@RequestMapping(value = "startpage.do")
public ModelAndView startpage(HttpServletRequest req, HttpServletResponse res) {
System.out.println(">>>>>>HomeController: Passing through (Get Type)...");
LoginPage loginPage = new LoginPage();
ModelAndView mv = new ModelAndView("startpage");
mv.getModelMap().addAttribute("loginPage", loginPage);
return mv;
}
@RequestMapping(value = "somecontroller.do")
public ModelAndView ftcontroller(HttpServletRequest req, HttpServletResponse res)
throws Exception {
// Parsing for login request;
String sUsername = req.getParameter(USER_ID);
String sUserPassword = req.getParameter(PASSWORD);
AbstractResponseDataComponent returnedResponse = new LoginCommand().login(sUsername, sUserPassword);
String returnedView = GlobalConstants.EMPTY_STRING;
JstlView view = new JstlView();
Map model = new HashMap();
if (returnedResponse.isSuccessful())
{
view.setUrl("somecontroller");
model.put("loginResponse", (LoginResponse) returnedResponse);
} else
{
view.setUrl("startpage");
model.put("loginPage", (LoginPage) returnedResponse);
}
return new ModelAndView(view, model);
}
}
}