在badrequest中重定向

时间:2014-07-23 17:29:44

标签: java forms playframework-2.1

我有一个问题。

我在play框架中有表单,当我想要打开new时,我会使用以下链接: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));
    }
...

我的路线:

GET     /projeto/novo     controllers.ProjetoController.cadastroProjeto() 
POST    /projeto/grava    controllers.ProjetoController.grava() 

但我在浏览器中的链接更改为link/projeto/grava

我想保留相同的链接link/projeto/novo

我怎么能这样做?

感谢

1 个答案:

答案 0 :(得分:0)

当您在badRequest()操作中返回grava时,它会停留在那里...... badRequestResult a {{1 }}

如果出现错误,您可以尝试重定向到redirect,无论如何,您需要以某种方式通过cadastroProjeto,也许使用缓存?

提示:使用英文名称进行操作,模型,视图等的好习惯 - 即使路线是葡萄牙语;)