这是表单对象: 在这里,我将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>
答案 0 :(得分:0)
您应该在控制器示例中使用@RequestParam;
@RequestMapping(value =“/ addPersona”,method = RequestMethod.POST) public String addPersona(HttpServletRequest请求,HttpServletResponse响应, 区域设置区域设置,模型模型,
@RequestParam( value = "name", required = false ) String name
){
//在这里使用名称
}