spring mvc我在jsp中看不到错误信息

时间:2014-07-18 10:03:38

标签: java jsp java-ee spring-mvc

这是表单对象: 在这里,我将java注释用于验证表单对象,以便name字段的长度至少为1。 这是一个小代码片段:

import javax.validation.constraints.Size;   

public class Persona {
       @NotNull
       @Size(min=1)
       private String nome;
       private String cognome;
       private String dataNascita;
       private String sesso;
       private String cittaNascita;
       private String cittaResidenza;
       private String nazione;
       private String codiceFiscale;
       private String indirizzo;
       private String telefonoCellulare;
       private String telefonoFisso;
        private String email;

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {import javax.validation.constraints.Size;



public class Persona {
       @NotNull
       @Size(min=1)
       private String nome;
       private String cognome;
       private String dataNascita;
       private String sesso;
       private String cittaNascita;
       private String cittaResidenza;
       private String nazione;
       private String codiceFiscale;
       private String indirizzo;
       private String telefonoCellulare;
       private String telefonoFisso;
        private String email;

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
        this.nome = nome;
    }

persona.jsp表格:

<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head>
    <title>Spring MVC Form Handling</title>
</head>
<body>

<h2>Informazioni Persona</h2>
<form:form method="POST" action="/Esercizio1SpringMVC/addPersona">
   <table>
    <tr>
        <form:errors path="*" />
        <td><form:label path="nome">Nome</form:label></td>
        <td><form:input path="nome" /></td>
        <form:errors path="nome"  />
    </tr>

检查到达risultato.jsp,但是即使我输入表单字段名称的任何文本,控制器result.hasErrors()也会返回false

package com.springMVC;

import javax.validation.Valid;

import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.ModelMap;




@Controller
public class PersonaController {

   @RequestMapping(value = "/", method = RequestMethod.GET)
   public ModelAndView persona() {
      return new ModelAndView("persona", "command", new Persona());
   }

   @RequestMapping(value = "/addPersona", method = RequestMethod.POST)
   public String addPersona( @ModelAttribute("SpringWeb") @Valid Persona persona, BindingResult result, 
   ModelMap model) {

       if(result.hasErrors()) {
           System.out.println("bbb");
           model.addAttribute("Persona", persona);
           return "person";
       } 
        System.out.println("ccc");
      model.addAttribute("nome", persona.getNome());
      model.addAttribute("cognome", persona.getCognome());
      model.addAttribute("dataNascita", persona.getDataNascita());
      model.addAttribute("sesso", persona.getSesso());
      model.addAttribute("cittaNascita", persona.getCittaNascita());
      model.addAttribute("cittaResidenza", persona.getCittaResidenza());
      model.addAttribute("nazione", persona.getNazione());
      model.addAttribute("codiceFiscale", persona.getCodiceFiscale());
      model.addAttribute("indirizzo", persona.getIndirizzo());
      model.addAttribute("telefonoCellulare", persona.getTelefonoCellulare());
      model.addAttribute("telefonoFisso", persona.getTelefonoFisso());
      model.addAttribute("email", persona.getEmail());

      return "risultato";
   }
}



<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head>
    <title>Spring MVC Form Handling</title>
</head>
<body>

<h2>Informazioni Persona</h2>
   <table>
    <tr>
        <td>Nome</td>
        <td>${nome}</td>
    </tr>
    <tr>
        <td>Cognome</td>
        <td>${cognome}</td>
    </tr>
    <tr>
        <td>Data di nascita</td>
        <td>${dataNascita}</td>
    </tr>
    <tr>
        <td>Sesso</td>
        <td>${sesso}</td>
    </tr>
    <tr>
        <td>Citta di nascita</td>
        <td>${cittaNascita}</td>
    </tr>
    <tr>
        <td>Citta di residenza</td>
        <td>${cittaResidenza}</td>
    </tr>
    <tr>
        <td>Nazione</td>
        <td>${nazione}</td>
    </tr>
    <tr>
        <td>Codice fiscale</td>
        <td>${codiceFiscale}</td>
    </tr>
    <tr>
        <td>Indirizzo</td>
        <td>${indirizzo}</td>
    </tr>
    <tr>
        <td>Telefono cellulare</td>
        <td>${telefonoCellulare}</td>
    </tr>
    <tr>
        <td>Telefono fisso</td>
        <td>${telefonoFisso}</td>
    </tr>
    <tr>
        <td>Email</td>
        <td>${email}</td>
    </tr>
</table>  
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您应该在控制器示例中使用@RequestParam;

@RequestMapping(value =“/ addPersona”,method = RequestMethod.POST)    public String addPersona(HttpServletRequest请求,HttpServletResponse响应,             区域设置区域设置,模型模型,

          @RequestParam( value = "name", required = false ) String name

){

//在这里使用名称

}