java - 错误请求中的重定向

标签 java forms playframework-2.1

我有一个问题。

我在 play 框架中有表单,当我想打开新的时,我使用此链接:link/projeto/novo

我需要保存一些字段,然后进行一次验证,如果某些字段为空,我会发送一个“错误请求”,如下所示:

    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

我怎样才能做到这一点?

谢谢

最佳答案

当您在 grava 操作中返回 badRequest() 时,它会保留在那里...badRequest 是一个 Result 不是重定向

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

提示:使用英文名称表示操作、模型、 View 等是个好习惯 - 即使路线是葡萄牙语;)

关于java - 错误请求中的重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24917097/

相关文章:

java - 更新任务模型 - RuntimeException : DataSource user is null?

playframework-2.1 - 使用 Scala 模板的动态 Javascript

playframework - PlayFramework〜运行奇怪的错误

java - Java 中的行反转

javascript - 即使未单击单选按钮,表单仍会提交

ruby-on-rails - data-remote true 定义回调

javascript - 将 gettime 保存到表单字段

java - 我可以从 64 位 Java 运行 runtime.exec() 一个 32 位批处理文件吗?

java - Apache POI 加载 XSSFWorkbook 类时出错

java - Mockito - 在测试相同方法的派生类实现时模拟基实现