我是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