我正在构建Spring MVC Web应用程序。
列表有两个视图,所选数据有一个特定视图。
在列表视图中,有一个Jqgrid。
当用户单击列表中的行之一时,则应进行此Ajax调用。
$.ajax({
type: "POST",
url: "/view.do",
data : { pBen: 3 },
success: function (data) {
console.log(data);
},
error: function(data) {
alert(data);
}
});
我@RequestMapping
在控制器中设置。因此,当ajax运行时,可以毫无问题地调用由注释映射的方法。(我已经在调试模式下对此进行了测试。)
提取请求的数据后,我在ModelAndView对象上执行以下操作。
ModelAndView mv = new ModelAndView();
mv.addObject("ri", resultInfo);
mv.addObject("pd", personInfo);
mv.setViewName("SYS/SYS01/view");
return mv;
实际文件路径与我在setViewName参数中定义的路径完全相同。
但是首先,它在客户端抛出500错误。
POST http://192.168.1.189:8080/view.do500 (Internal Server Error) jquery-1.11.0.min.js:4
send jquery-1.11.0.min.js:4
n.extend.ajax jquery-1.11.0.min.js:4
(anonymous function) VM241:4
n.event.dispatch jquery-1.11.0.min.js:3
r.handle
里面发生的事情就是这样。
2014. 7. 6 pm 6:57:26 org.apache.catalina.core.StandardWrapperValve invoke
: Servlet.service() for servlet Paas threw exception
javax.servlet.ServletException: Could not resolve view with name 'SYS/SYS01/view' in servlet with name 'Paas'
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1190)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
我对返回视图阶段有误吗?其他视图也很好。我刚刚写了几乎和上面一样的代码。
但只有这种观点给了我500错误。
我怎样才能解决这个问题?
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" >
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/ui/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
找出导致500错误的原因。
正如Artem Bilan在评论中提到的那样,它是ViewResolver设置。目标JSP定位于/ui/SYS/.....
与我无缘去除领先“/”在ViewResolvers prefix setting
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句