Pegar dados da view e passar para a control Spring MVC

Boa noite galera tudo bem?

Estou fazendo um trabalho de TCC e estou utilizando o Spring MVC, não tenho muito conhecimento nesse framewok.

é o seguinte estou tentando fazer um formulário onde ele não deixa o usuário cadastrar a data <= que a data atual isso consegui fazer via javascript na view.

agora estou na etapa em que eu deveria pegar a data que o usuário digitou e verificar se a mesma já foi cadastrada no banco, porem não estou conseguindo ver e enviar os dados da view para a control

poderiam me dar uma força?

segue os códigos da view e da control

[QUOTE]

<%@ page contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
<%@ taglib uri=“http://github.com/dandelion” prefix=“dandelion” %>
<%@ taglib prefix=“spring” uri=“http://www.springframework.org/tags” %>
<%@ taglib prefix=“form” uri=“http://www.springframework.org/tags/form” %>

<c:set var=“actionSalvar”><c:url value="/cardapios/salvar"/></c:set>

<dandelion:bundle includes=“jquery.validation,jquery.inputmask,jquery.datetimepicker” />

'>Cardápios" /> Cadastro de cardápios $(document).ready(function() { var formValidator = $("#cardapio").validate({ rules : { data : { required : true, }, tipoRefeicao : { required : true }, pratoBase : { required : true, maxlength : 50 ,minlength:3}, pratoPrincipal : { required : true, maxlength : 100 ,minlength:3}, guarnicao : { required : true, maxlength : 100 ,minlength:3}, salada : { required : true, maxlength : 50 ,minlength:3}, sobremesa : { required : true, maxlength : 50 ,minlength:3}, suco : { required : true, maxlength : 50 ,minlength:3} } }); $("#data").focus(); $("#div-data").datetimepicker({locale: "pt-br", format: "DD/MM/YYYY"}); $("#data").inputmask("99/99/9999"); });
	 function comparaData()
	 { 
		 var data = document.getElementById('data').value;

			var objDate = new Date();
			objDate.setYear(data.split("/")[2]);
			objDate.setMonth(data.split("/")[1]  - 1);//- 1 pq em js é de 0 a 11 os meses
			objDate.setDate(data.split("/")[0]);

			if(objDate.getTime() <= new Date().getTime()){
				alert("Data cardapio não pode ser menor ou igual a data atual");
				document.getElementById('data').value='';
				return false;
		   }
		}

	 
	
	 
</script>
<form:form action="${actionSalvar}" modelAttribute="cardapio" >
    <form:hidden path="id" />
    <div class="panel panel-primary col-xs-12 col-md-8 col-md-offset-2">
      <div class="panel-body">
        <div class="page-header" style="margin-top: 10px;">
          <jsp:include page="/layouts/modal-mensagens.jsp"><jsp:param name="model" value="cardapio"/></jsp:include>
          <h3>
            <strong>Cardápio</strong>
          </h3>
        </div>
        <div class="row">
        	<spring:bind path="data">
            <div class="form-group col-xs-12 col-md-6">
              <label for="data" class="control-label">Data</label>
	          <div class="input-group date" id="div-data">
	          	<form:input path="data" class="form-control" onblur="comparaData();" items="${pesquisaDataCardapio}" action="pesquisaData"/>
	          
	          	
	            <span class="input-group-addon">
	                <span class="glyphicon glyphicon-calendar"></span>
	            </span>
	          </div>
            </div>
          </spring:bind>
          <spring:bind path="tipoRefeicao">
            <div class="form-group col-xs-12 col-md-6">
              <label for="tipoRefeicao" class="control-label">Refeição</label>
	          <form:select path="tipoRefeicao" class="form-control">
			  	<form:option value="" label="----- Selecione uma refeição -----"/>
                  <form:options items="${tipoRefeicao}" itemLabel="descricao" itemValue="id" />
			  </form:select>
			</div>
		  </spring:bind>
        </div>
        <div class="row">
          <spring:bind path="pratoBase">
            <div class="form-group col-xs-12 col-md-6 ${status.error ? 'has-error' : ''}">
              <label for="pratoBase" class="control-label">Prato Base</label>
              <form:input path="pratoBase" class="form-control" placeholder="Digite o prato base" pattern="[^0-9]+"/>
              <span class="has-error"><form:errors path="pratoBase" class="help-block"/></span>
            </div>
          </spring:bind>
          <spring:bind path="pratoPrincipal">
            <div class="form-group col-xs-12 col-md-6 ${status.error ? 'has-error' : ''}">
              <label for="pratoPrincipal" class="control-label">Prato Principal</label>
              <form:input path="pratoPrincipal" class="form-control" placeholder="Digite o prato principal" pattern="[^0-9]+"/>
              <span class="has-error"><form:errors path="pratoPrincipal" class="help-block"/></span>
            </div>
          </spring:bind>
        </div>
        <div class="row">
          <spring:bind path="guarnicao">
            <div class="form-group col-xs-12 col-md-6 ${status.error ? 'has-error' : ''}">
              <label for="guarnicao" class="control-label">Guarnição</label>
              <form:input path="guarnicao" class="form-control" placeholder="Digite a guarnição" pattern="[^0-9]+"/>
              <span class="has-error"><form:errors path="guarnicao" class="help-block"/></span>
            </div>
          </spring:bind>
          <spring:bind path="salada">
            <div class="form-group col-xs-12 col-md-6 ${status.error ? 'has-error' : ''}">
              <label for="salada" class="control-label">Salada</label>
              <form:input path="salada" class="form-control" placeholder="Digite a salada" pattern="[^0-9]+"/>
              <span class="has-error"><form:errors path="salada" class="help-block"/></span>
            </div>
          </spring:bind>
        </div>
        <div class="row">
          <spring:bind path="sobremesa">
            <div class="form-group col-xs-12 col-md-6 ${status.error ? 'has-error' : ''}">
              <label for="sobremesa" class="control-label">Sobremesa</label>
              <form:input path="sobremesa" class="form-control" placeholder="Digite a sobremesa" pattern="[^0-9]+"/>
              <span class="has-error"><form:errors path="sobremesa" class="help-block"/></span>
            </div>
          </spring:bind>
          <spring:bind path="suco">
            <div class="form-group col-xs-12 col-md-6 ${status.error ? 'has-error' : ''}">
              <label for="suco" class="control-label">Suco</label>
              <form:input path="suco" class="form-control" placeholder="Digite o suco" pattern="[^0-9]+"/>
              <span class="has-error"><form:errors path="suco" class="help-block"/></span>
            </div>
          </spring:bind>
        </div>
      </div>
      <div class="form-group col-x-12 col-md-12" style="text-align: center; margin-top: 25px;">
        <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-floppy-disk"></span> Salvar</button>
      </div>
      
     
			
    </div>
</form:form>
[/QUOTE]

código controller

[QUOTE]
package com.github.projetoleaf.controllers;

import java.lang.ProcessBuilder.Redirect;
//import java.sql.Date;
//import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.validation.Valid;
//import javax.xml.crypto.Data;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.github.projetoleaf.beans.Cardapio;
import com.github.projetoleaf.beans.TipoRefeicao;
import com.github.projetoleaf.repositories.CardapioRepository;
import com.github.projetoleaf.repositories.TipoRefeicaoRepository;
import lombok.extern.slf4j.Slf4j;

@Slf4j
@Controller
@RequestMapping("/cardapios")
public class CardapioController {

@Autowired
private CardapioRepository cardapioRepository;

@Autowired
private TipoRefeicaoRepository tipoRefeicaoRepository;

@Autowired
private MessageSource config;

@GetMapping
public String pesquisarCategoria(Model model) {
	model.addAttribute("listagemCardapios", cardapioRepository.findAll(new Sort(Sort.Direction.ASC, "data")));
	return "/cardapios/pesquisar";
}

@GetMapping("/incluir")
public String incluirCardapio(Model model) {
	TipoRefeicao trad = tipoRefeicaoRepository.findByDescricao("Tradicional");
	TipoRefeicao veget = tipoRefeicaoRepository.findByDescricao("Vegetariano");
	List<TipoRefeicao> tipoRefeicao = new ArrayList<TipoRefeicao>();
	
	tipoRefeicao.add(trad);
	tipoRefeicao.add(veget);
	
	model.addAttribute("cardapio", new Cardapio());
	model.addAttribute("tipoRefeicao", tipoRefeicao);
	
	return abrirCadastroCardapio(model);
}

@GetMapping("/editar/{id}")
public String editarCardapio(@PathVariable Long id, Model model) {

Cardapio cardapio = cardapioRepository.findOne(id);

    TipoRefeicao trad = tipoRefeicaoRepository.findByDescricao("Tradicional");
	TipoRefeicao veget = tipoRefeicaoRepository.findByDescricao("Vegetariano");
	List<TipoRefeicao> tipoRefeicao = new ArrayList<TipoRefeicao>();
	
	tipoRefeicao.add(trad);
	tipoRefeicao.add(veget);
	
    model.addAttribute("cardapio", cardapio);
    model.addAttribute("tipoRefeicao", tipoRefeicao);
    
    return abrirCadastroCardapio(model);
}

public String abrirCadastroCardapio(Model model) {
    return "/cardapios/cadastro";
}

@PostMapping("/salvar")
public String salvarCardapio(Model model, @ModelAttribute("cardapio") @Valid Cardapio cardapio, BindingResult result) {
	try {
        if (!result.hasErrors()) {
            Cardapio cardapioAtualizado = cardapioRepository.save(cardapio);
            log.info(cardapioAtualizado.toString() + " gravado com sucesso");
            model.addAttribute("mensagemInfo", config.getMessage("gravadoSucesso", new Object[] { "o cardápio" }, null));
        }
    }
    catch (Exception ex) {
        log.error("Erro de processamento", ex);
        model.addAttribute("mensagemErro", config.getMessage("erroProcessamento", null, null));
    }
	
	return "redirect:/cardapios";
}

@GetMapping("/excluir/{id}")
public String excluirCardapio(RedirectAttributes ra, @PathVariable Long id) {		
	try {
		cardapioRepository.delete(id);
        log.info("Cardápio #" + id + " excluído com sucesso");
        ra.addFlashAttribute("mensagemInfo", config.getMessage("excluidoSucesso", new Object[] { "o cardápio" }, null));
    }
    catch (Exception ex) {
        log.error("Erro de processamento", ex);
        ra.addFlashAttribute("mensagemErro", config.getMessage("erroProcessamento", null, null));
    }

	return "redirect:/cardapios";
}


@PostMapping("/pesquisaData")
public String pesquisaDataCardapio(Model model, @ModelAttribute("cardapio") Cardapio cardapio) 
{
	System.out.println("entrou controler");
	if(cardapioRepository.verificarSeDataExisteNoBD(cardapio.getData())!= null)
		return "redirect:/cardapios/erro";
	else
		return "redirect:/cardapios/incluir";
}

}
[/QUOTE]