我是Spring MVC的新手。我在下面得到錯誤(目前還不能確定是什麼; S信息requierd的全部範圍,以幫助我):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應retuend再次,在其他情況下,differn頁應返回。
如果實現這個更好的辦法,我會很高興聽到這個消息。
(應當指出的是,我想爲了將Spring MVC插入到現有的項目中,所以我試圖儘可能少地做出更改,因此不使用彈簧:形成等)
更多信息:
的JSP startpage.jsp(從 「起始頁」)解決了已經與目標= 「somecontroller.do」 的形式。
全控制器代碼:
類
{ 公共靜態無效的主要(字串[] 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); } }
}
如果您收到錯誤,告訴我們它們是什麼。 – skaffman 2011-01-10 11:33:10
對不起,我會編輯。 – 2011-01-10 11:52:53
@ user569544:這看起來不像映射問題。什麼是`loginPage`變量引用,並且你在JSP中引用它? – skaffman 2011-01-10 11:55:38