&lt;%@ taglib uri =“www.springframework.org/tags/form”prefix =“form”%&gt; <form:errors path =“student1。*”>导致“无法编译JSP页面”错误

时间:2015-12-02 06:33:05

标签: forms jsp spring-mvc error-handling taglib

我正在尝试学习Spring MVC,当从互联网上试用样本时,我收到以下错误:

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天的问题。 请建议。

1 个答案:

答案 0 :(得分:2)

<%@taglib uri="www.springframework.org/tags/form" prefix="form" %>

uri在上面的行中不正确。在uri中缺少 http 。尝试以下

<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>