2017-11-06 5 views
0

私のページには登録用のフォームと同じページで更新されるテーブルのフォームがあります。私の場合、私のコントロールは保存してからリストを呼び出しますが、saveメソッドで生成された入力データと成功メッセージは消えます。春MVCのリスティングを行うときにテーブルのみを更新する

保存方法:

@RequestMapping(method = RequestMethod.POST) 
public ModelAndView salvar(@Validated Cliente cliente, Errors errors, 
RedirectAttributes attributes) { 
if (errors.hasErrors()) { 
    return; 
} 

try { 
    clienteService.salvar(cliente); 
    attributes.addFlashAttribute("mensagem", "Cliente salvo com sucesso!!!"); 

} catch (DataIntegrityViolationException e) { 
    // 
} 
return pesquisar(""); 
    } 

リスト方式:

@RequestMapping 
public ModelAndView pesquisar(@ModelAttribute("filtroPesquisa") String 
nomeCliente) { 
// se o nome for vazio vai retornarTodos 
List<Cliente> todosClientes = clienteService.pesquisar(nomeCliente); 

ModelAndView mv = new ModelAndView("tela-cliente"); 
mv.addObject("cliente", new Cliente()); 
mv.addObject("clientesTabela", todosClientes); 
return mv; 

}

問題:私のメソッドリストで、私は、フォームを参照するクライアントオブジェクトをインスタンス化し、その お知らせ表のリストを定義します。そうすれば、私はいつも入力なしで入力されたものを失い、成功メッセージは表示されません。私はそれが重要だと思いますが、私はまだこのSpringMVCモデルを理解していません。

答えて

0

あなたがしたいことはわかりませんが、データを保存した後にフォームの値を保持したいと思っている限り、なぜそうしますか?

あなたはここに

mv.addObject("cliente", cliente); 

これはあなたのフォームデータdisapearを作るよう

mv.addObject("cliente", new Cliente()); 

で新しいものを作成するinsteedを満たしたフォームを渡す必要があります。

+0

このフローに続いて成功のメッセージが表示されなくなりますか? – joeyanthon

関連する問題