HTTP 状态 400 – 错误请求 - Spring MVC



我的项目出现了此错误。

HTTP 状态 400 – 错误请求。

由于被视为客户端错误(例如,格式错误的请求语法、无效的请求消息框架或欺骗性请求路由(,服务器无法或不会处理请求

。插入客户端.jsp

<form:form action="/moldar/saveCliente/" method="POST" modelAttribute="cliente">
<div class="form-group">
<label for="exampleSelect1">Pais</label> 
<form:select path="pais" class="form-control" id="pais" name="wwww">
<c:forEach var="lista" items="${listaPaises}">
<option value="${lista.id}">${lista.nome}</option>
</c:forEach>
</form:select>
</div>
<div class="form-group">
<label for="exampleSelect1">Estado</label> 
<form:select path="estado" class="form-control" id="estado" name="qqqqq">
<option value="">Selecione um estado</option>
<c:forEach var="lista" items="${listaEstados}">
<option value="${lista.id}">${lista.nome}</option>
</c:forEach>
</form:select>
</div>
<div class="form-group">
<label for="exampleSelect1">Cidade</label> 
<form:select path="cidade" class="form-control" id="cidade" name="batata">
<option value="null">Selecione uma cidade</option>
<c:forEach var="lista" items="${listaCidades}">
<option value="${lista.id}">${lista.nome}</option>
</c:forEach>
</form:select>
</div>

我的控制器

@RequestMapping(value = "/saveCliente", method = RequestMethod.POST)
public String adicionarCliente(@ModelAttribute("cliente") Cliente cliente) {

clienteDao.saveOrUpdate(cliente);
return "redirect:/clientes";
}
@RequestMapping(value = "/addCliente", method = RequestMethod.GET, headers = "Accept=application/json")
public String inserirCliente(Model model) {
List<Estado> listaEstados = estadoDao.list(null);
List<Cidade> listaCidades = cidadeDao.list(null);
List<Pais> listaPaises = paisDao.list(null);
model.addAttribute("listaPaises", listaPaises);
model.addAttribute("listaEstados", listaEstados);
model.addAttribute("pais", new Pais());
model.addAttribute("cliente", new Cliente());
model.addAttribute("estado", new Estado());
model.addAttribute("cidade", new Cidade());
model.addAttribute("listaCidades", listaCidades);
return "inserirCliente";
}

@Entity
@Table (name= "clientes")
public class Cliente {
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
@Column
private Integer id;
@Column
private String nome;
@Column
private String cpf;
@OneToOne 
@JoinColumn (name="pais")
private Pais pais;
@OneToOne
@JoinColumn (name="estado")
private Estado estado;
@OneToOne
@JoinColumn (name="cidade")
private Cidade cidade;
@Column
private String logradouro;
@Column
private String numero;
@Column
private String cep;
@Column
private String email;

我已经尝试了一切。

有人可以帮助我吗?请?

在你的 Contoller 中,这行代码

public String adicionarCliente(@ModelAttribute("cliente") Cliente cliente)

在您的客户端类中,像pais这样的变量

<form:select path="pais" class="form-control" id="pais" name="wwww">

不能将这个path=">pais"绑定到客户端类变量pais,因为pais不是字符串类型它是对象类型。

您可以创建另一个类以将输入选择选项绑定到变量。

class Client {
private String pais;
private String estado;
private String cidade;
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}

}

最新更新