Java 请求中的重定向
我有个问题 我在play框架中有表单,当我想打开新的表单时,我使用以下链接:Java 请求中的重定向,java,forms,playframework-2.1,Java,Forms,Playframework 2.1,我有个问题 我在play框架中有表单,当我想打开新的表单时,我使用以下链接:link/projeto/novo 我需要保存一些字段,并进行一次验证,如果某些字段为空,我将发送一个“badrequest”,如下所示: public static Result grava() throws IOException{ Long id; Http.Request request = request(); Form<Projeto> projetoForm
link/projeto/novo
我需要保存一些字段,并进行一次验证,如果某些字段为空,我将发送一个“badrequest”,如下所示:
public static Result grava() throws IOException{
Long id;
Http.Request request = request();
Form<Projeto> projetoFormRequest = projetoForm.bindFromRequest();
listaDeErros = new ArrayList<String>();
Projeto projeto = projetoFormRequest.get();
if(StringUtils.isEmpty(projeto.getNomeProjeto())){
listaDeErros.add(Messages.get("projeto.form.validacao.nomeProjetoObrigatorio"));
}
if(projeto.getTipoProjeto().getIdTipoProjeto()==null){
listaDeErros.add(Messages.get("projeto.form.validacao.tipoDeProjetoObrigatorio"));
}
...
if(listaDeErros.size()>0){
return badRequest(cadastro.render(projetoForm, listaDeErros));
}
...
但我在浏览器中的链接变为link/projeto/grava
我想保持相同的链接link/projeto/novo
我怎么能这样做
感谢您在
grava
操作中返回badRequest()
,它将留在那里badRequest
是一个结果
不是重定向
如果出现错误,您可以尝试重定向到cadastroProjeto
,无论如何,您需要以某种方式传递projetoForm
,可能是使用缓存
提示:动作、模型、视图等使用英文名称是一个好习惯,即使路线是葡萄牙语;) 显示
link/projeto/novo
和link/projeto/grava
linksGET/projeto/novo控制器的路径。ProjetoController.cadastroProjeto()POST/projeto/grava控制器。ProjetoController.grava()
GET /projeto/novo controllers.ProjetoController.cadastroProjeto()
POST /projeto/grava controllers.ProjetoController.grava()