【问题标题】:HTTP Status 400 – Bad Request - Spring MVCHTTP 状态 400 - 错误请求 - Spring MVC
【发布时间】:2017-12-20 23:19:15
【问题描述】:

我的项目出现此错误。

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;

我什么都试过了。

有人可以帮助我吗?请问?

【问题讨论】:

  • 你能分享一些关于这个请求的事情吗?

标签: java spring hibernate jsp spring-mvc


【解决方案1】:

在你的控制器中这行代码

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

在您的 Cliente 类中,像 pais

这样的变量
<form:select path="pais" class="form-control" id="pais" name="wwww">

您不能将此 path="pais" 绑定到 Cliente 类变量 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;
}

}

【讨论】:

    猜你喜欢
    • 2021-09-24
    • 2016-04-20
    • 1970-01-01
    • 2019-09-13
    • 2017-09-07
    • 2018-08-09
    • 1970-01-01
    • 2017-07-23
    • 2020-05-23
    相关资源
    最近更新 更多