【发布时间】:2015-12-02 06:33:05
【问题描述】:
我正在尝试学习 Spring MVC,当尝试从 Internet 获取示例时,我收到以下错误:
HTTP Status 500 - Unable to compile class for JSP
type Exception report
message Unable to compile class for JSP
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1244)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException
org.apache.tomcat.util.descriptor.tld.TldResourcePath.hashCode(TldResourcePath.java:164)
java.util.HashMap.hash(HashMap.java:338)
java.util.HashMap.get(HashMap.java:556)
这是我的 JSP 页面:
<%@taglib uri="www.springframework.org/tags/form" prefix="form" %>
<html>
<head>
<title>Admission Form</title>
</head>
<body>
<h1>${header_msg}</h1>
<h3>Admission Form for Engineering Courses</h3>
<form:errors path="student1.*" />
<form action="/Admissions/submitAdmissionForm.html" method="post">
<table>
<tr><td> Student's Name : </td><td> <input type="text" name="studentName" /> </td></tr>
<tr><td> Student's Hobby : </td><td> <input type="text" name="studentHobby" /> </td></tr>
<tr><td> Date of Birth : </td><td> <input type="text" name="studentDOB" /> </td></tr>
<tr><td> Mobile No : </td><td> <input type="text" name="studentMobile" /> </td></tr>
<tr><td> Skill set : </td><td> <select name="studentSkills" multiple>
<option value="Core Java">Core Java</option>
<option value="Spring Core">Spring Core</option>
<option value="Spring MVC">Spring MVC</option>
</select> </td></tr>
</table>
<table>
<tr><td> Address : </td></tr>
<tr><td> Country: <input type="text" name="studentAddress.country" /> </td>
<td> City: <input type="text" name="studentAddress.city" /> </td>
<td> Street: <input type="text" name="studentAddress.street" /> </td>
<td> Pin code: <input type="text" name="studentAddress.pincode" /> </td></tr>
<tr><td> </td><td> <input type="submit" value="Submit this form" /> </td></tr>
</table>
</form>
</body>
</html>
我的控制器类包含以下代码:
@ModelAttribute
public void addingCommonObjects(ModelAndView model) {
model.addObject("header_msg", "College of Engineering, Adoor");
}
@RequestMapping(value="/submitAdmissionForm.html", method=RequestMethod.POST)
public ModelAndView submitAdmissionForm(@ModelAttribute("student1") Student student, BindingResult result) {
if(result.hasErrors()) {
ModelAndView model = new ModelAndView("AdmissionForm");
return model;
}
ModelAndView model = new ModelAndView("AdmissionFormSuccess");
return model;
}
在控制器中添加BindingResult 和在JSP 页面中添加<form:errors> 之前,一切正常。
当你们看的时候,这可能是代码中的一个小问题,但在过去的 3-4 天里,我一直在尝试找出这个问题。
请提出建议。
【问题讨论】:
标签: forms jsp spring-mvc error-handling taglib