Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SPRING在处理JSP页面时发生异常_Java_Spring_Maven_Tags - Fatal编程技术网

Java SPRING在处理JSP页面时发生异常

Java SPRING在处理JSP页面时发生异常,java,spring,maven,tags,Java,Spring,Maven,Tags,我对Spring的标签有问题。 当我运行jsp页面时,它会给出以下错误跟踪: HTTP Status 500 - An exception occurred processing JSP page /newExamTypology.jsp at line 19 type Exception report message An exception occurred processing JSP page /newExamTypology.jsp at line 19 description Th


我对Spring的标签有问题。
当我运行jsp页面时,它会给出以下错误跟踪:

 HTTP Status 500 - An exception occurred processing JSP page /newExamTypology.jsp at line 19
type Exception report
message An exception occurred processing JSP page /newExamTypology.jsp at line 19
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /newExamTypology.jsp at line 19
16:     <form:form modelAttribute="examTypology" >  
17:         <div>
18:             <br />
19:             <form:input path="name"></form:input>
20:             <br /><br />
21:             <form:label path="code">Codice:</form:label> <br />
22:             <form:input path="code"/>
Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:465)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'examTypology' available as request attribute
    org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:144)
    org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:168)
    org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:188)
    org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:154)
    org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:141)
    org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:132)
    org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:116)
    org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:422)
    org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:142)
    org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:84)
    org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:80)
    org.apache.jsp.newExamTypology_jsp._jspx_meth_form_005finput_005f0(newExamTypology_jsp.java:193)
    org.apache.jsp.newExamTypology_jsp._jspx_meth_form_005fform_005f0(newExamTypology_jsp.java:129)
    org.apache.jsp.newExamTypology_jsp._jspService(newExamTypology_jsp.java:86)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.

谢谢你

您似乎没有将模型本身传递到页面。基本上,您需要执行以下操作:

@RequestMapping(value = "/newExamTypology", method = RequestMethod.GET)
public String showNewExamTypology(ModelMap modelMap) {
    // your custom logic
    modelMap.put("examTypology", new ExamTypology());
    return "newExamTypology";
}

你能更详细一点吗^^“当您执行
GET
请求页面
/newexamtypoology
时,您的页面正在等待对象
examtypoology
出现在
表单
中以填充它。在您的代码中,我没有发现此问题。这可能是一个问题。”。
package it.uniroma3.controller;

import java.util.List;

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.Validator;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import it.uniroma3.model.ExamTypology;
import it.uniroma3.service.ExamTypologyService;

@Controller
@RequestMapping("/examTypology")
public class ExamTypologyController extends WebMvcConfigurerAdapter{

    @Autowired
    private ExamTypologyService examTypologyService;

    @Autowired
    @Qualifier("examTypologyValidator")
    private Validator validator;

    @InitBinder
    private void initBinder(WebDataBinder binder) {
        binder.setValidator(validator);
    }

    @RequestMapping(value = "/examTypology", method = RequestMethod.POST)
    public ModelAndView examTypology() {
        return new ModelAndView("examTypology", "command", new ExamTypology());
    }

//  @ModelAttribute("examTypology")
//  public ExamTypology createExamTypologyModel() {
//      return new ExamTypology();
//  }

    @RequestMapping(value="/listexamtypology", method = RequestMethod.GET)
    public String listExamTypology(Model model) {
        model.addAttribute("examTypologiesList", examTypologyService.listExamTypology());
        return "examTypology";
    }   

    @RequestMapping(value = "/addexamtypology", method = RequestMethod.POST)
    public String addExamTypology(Model model) {
        return "newexamtypology";
    }

    @RequestMapping(value="/updateexamtypology", method = RequestMethod.GET)
    public String updateExamTypology(@ModelAttribute("examTypology") @Valid ExamTypology examTypology, BindingResult bindingResult, Model model) {
        if(bindingResult.hasErrors()) 
            return "addexamtypology";
        this.examTypologyService.insertExamTypology(examTypology);
        model.addAttribute("examTypologiesList", examTypologyService.listExamTypology());
        return "examTypology";
    }

    @RequestMapping(value="/delete/{etId}", method = RequestMethod.GET)
    public String deleteExamTypology(@PathVariable("etid") Long etId, Model model) {
        this.examTypologyService.deleteExamTypology(etId);
        model.addAttribute("examTypologiesList", examTypologyService.listExamTypology());
        return "examTypology";
    }


}
@RequestMapping(value = "/newExamTypology", method = RequestMethod.GET)
public String showNewExamTypology(ModelMap modelMap) {
    // your custom logic
    modelMap.put("examTypology", new ExamTypology());
    return "newExamTypology";
}