<fmt:formatdate>随机创建日期

时间:2018-11-29 15:37:16

标签: java spring jsp model-view-controller

我通过$ {produto.dataUsuarioInsercao}从数据库中获取了一个特定的日期,可以在表单中显示它,这是完全可以的,但是当保存表单时,它会创建一个随机日期并将其保存在数据库中真的不知道为什么。 在我的控制器中,我没有设定离开该字段的确切日期。 示例:当我打开表单时,$ {produto.dataUsuarioInsercao}是27/11/2018 02:13:57我保存表单而不做任何修改,而$ {produto.dataUsuarioInsercao}是11/05/2020 02:13 :57 谁能帮我?                                  

             <fmt:formatDate value="${produto.dataUsuarioInsercao}" var="dateString" pattern="dd/MM/yyyy hh:mm:ss" type="both" />
             <form:input type="hidden" path="dataUsuarioInsercao" value="${dateString}" readonly="true"/>                

             <form:input type="hidden" path="nomeUsuarioAlteracao" name="nomeUsuarioAlteracao" value="${produto.nomeUsuarioAlteracao}"/>

             <fmt:formatDate value="${produto.dataUsuarioAlteracao}" var="dateString1" pattern="dd/MM/yyyy hh:mm:ss" type="both" />
             <form:input type="hidden" path="dataUsuarioAlteracao" value="${dateString1}" readonly="true"/>              
           </div>
           <div class="panel-body">                                  
               <p>Criado por ${produto.nomeUsuarioInsercao} ás ${dateString} modificado por ${produto.nomeUsuarioAlteracao} ás ${dateString1}</p>
             </div>                
           <div class="panel-body" id="myBtn">
              <a class="btn btn-primary" href="<c:url value="/produtos" />">Início</a>                                                                 
              <a class="btn btn-primary" href="<c:url value="/cadastros/produto" />">Novo</a>                                                      
              <input class="btn btn-primary" type="submit" value="Salvar" />
              <a class="btn btn-primary" id="btnConfirmar">Excluir</a>
           </div>
           <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" id="meuModal">
             <div class="modal-dialog modal-sm">
               <div class="modal-content">
                 <div class="modal-header">
                   <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                   <h4 class="modal-title" id="myModalLabel">Tem certeza que deseja excluir o registro?</h4>
                 </div>
                 <div class="modal-footer">
                     <a class="btn btn-primary " href="<c:url value="/cadastros/deletar/${produto.id}" />">Sim</a>                                      
                     <button type="button" class="btn btn-primary" id="modalBtnNao">Não</button>
                 </div>
               </div>
             </div>
           </div>
       </table>
    </form:form>
  </div>
</div>

@Controller
public class ProdutoController{

@Autowired
private ProdutoService produtoService;

//Método que retorna a lista de produtos
@RequestMapping(value="/produtos", method=RequestMethod.GET)
public ModelAndView listarProdutos () {

    ModelAndView modelAndView = new ModelAndView("listas/produto");
    modelAndView.addObject("produtos", produtoService.lista());
    return modelAndView;
}

//Método que abre um produto para a edição
@RequestMapping(value="/cadastros/editar/{id}")
public ModelAndView visualizarProduto(@PathVariable Long id) {

    ModelAndView modelAndView = new ModelAndView("edicoes/produto");
    Produto produto = produtoService.get(id);
    modelAndView.addObject("produto", produto); 
    modelAndView.addObject("unidades", ProdutoUnidades.values());
    modelAndView.addObject("operacoes", ProdutoOperacoes.values());
    modelAndView.addObject("categorias", ProdutoCategorias.values());
    modelAndView.addObject("marcas", ProdutoMarcas.values());
    modelAndView.addObject("modelos", ProdutoModelos.values());
    modelAndView.addObject("status", ProdutoStatus.values());
    return modelAndView;
}

//Método que abre um formulário para criação de um produto
@RequestMapping(value="/cadastros/produto")
public ModelAndView criarProduto(@ModelAttribute Produto produto) {

    ModelAndView modelAndView = new ModelAndView("cadastros/produto");
    modelAndView.addObject("unidades", ProdutoUnidades.values());
    modelAndView.addObject("operacoes", ProdutoOperacoes.values());
    modelAndView.addObject("categorias", ProdutoCategorias.values());
    modelAndView.addObject("marcas", ProdutoMarcas.values());
    modelAndView.addObject("modelos", ProdutoModelos.values());
    modelAndView.addObject("status", ProdutoStatus.values());
    return modelAndView;
}

//Método que salva um produto no banco de dados
@RequestMapping(value="/cadastros/salvaProduto", method=RequestMethod.POST)
public ModelAndView salvaProduto(@Valid @ModelAttribute("produto") Produto produto, BindingResult bindingResult) {

    if(bindingResult.hasErrors()) {
        System.out.println(bindingResult.toString());
        return criarProduto(produto);
    }
    produtoService.salvar(produto);
    produto = produtoService.get(produto.getId());
    ModelAndView modelAndView = new ModelAndView("redirect:/cadastros/editar/"+produto.getId());
    return modelAndView;
}

//Método que atualiza um produto no banco de dados
@RequestMapping(value="/cadastros/atualizaProduto", method=RequestMethod.POST)
public ModelAndView atualizaProduto(@Valid @ModelAttribute("produto") Produto produto, 
        BindingResult bindingResult) {

    ModelAndView modelAndView;
    if(bindingResult.hasErrors()) {     
        modelAndView = new ModelAndView("edicoes/produto");
        modelAndView.addObject("produto", produto); 
        modelAndView.addObject("unidades", ProdutoUnidades.values());
        modelAndView.addObject("operacoes", ProdutoOperacoes.values());
        modelAndView.addObject("categorias", ProdutoCategorias.values());
        modelAndView.addObject("marcas", ProdutoMarcas.values());
        modelAndView.addObject("modelos", ProdutoModelos.values());
        modelAndView.addObject("status", ProdutoStatus.values());
        return modelAndView;
    }
    produtoService.atualizar(produto);
    modelAndView = new ModelAndView("redirect:/cadastros/editar/"+produto.getId());
    return modelAndView;

}

//Método que deleta um produto no banco de dados
@RequestMapping(value="/cadastros/deletar/{id}")
public ModelAndView deletaProduto(@PathVariable Long id) {

    Produto produto = produtoService.get(id);
    produtoService.deletar(produto);
    ModelAndView modelAndView = new ModelAndView("redirect:/produtos");
    return modelAndView;
}

}

0 个答案:

没有答案