无法从控制器重定向到grails中的gsp

时间:2013-04-17 10:19:12

标签: java grails

我是grails的新手,我正在尝试重新定向以在控制器中使用我的模型对象进行一些处理之后呈现gsp,但每次我都会遇到以下错误:

Line | Method
->> 195 | doFilter in PageFragmentCachingFilter.java
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    63 | doFilter in AbstractFilter.java
|   886 | runTask  in java.util.concurrent.ThreadPoolExecutor$Worker
|   908 | run      in     ''
^   662 | run . .  in java.lang.Thread

如果我不处理我的域(setProperties方法),我可以重定向到另一个gsp,即如果我删除了for循环。

以下是我的控制器代码:

def receiveClient() {
        PartyClient partyClientInstance=PartyClient.get(params.client1Id)
        for (String key : params.keySet()) {
            if(key.endsWith("Checked")){
                setProperties(key,partyClientInstance)
            }
        }
        render (view: "receiveClient",model: [partyClientInstance: partyClientInstance])
    }

def setProperties(String key,PartyClient partyClient){
    int i =key.indexOf("Checked");
    String property=key.substring(0, i);

    if(property.equals("firstName")){
        partyClient.setFirstName(params[key])
    }else if(property.equals("lastName")){
        partyClient.setLastName(params[key])
    }else if(property.equals("middleName")){
        partyClient.setMiddleName(params[key])
    }else if(property.equals("title")){
        partyClient.setTitle(params[key])
    }
}

提前致谢。

3 个答案:

答案 0 :(得分:0)

猜猜:尝试将方法setProperties()重命名为其他内容。

答案 1 :(得分:0)

尝试使用命令对象来显示 receiveClient 视图。

顺便说一下,您粘贴的错误消息可能不包含所有相关信息,您的堆栈跟踪相当小......

  • 获得 partyClientInstance 后,将其复制到与域属性匹配的命令中。
  • 如果您的视图具有保存模型的表单,则在相关操作中,将命令复制到模型并在需要时保留数据。

希望它有所帮助。

答案 2 :(得分:0)

您始终可以尝试grails-debug run-app并使用IDE添加断点。我对PartyClientsetProperties()的使用持怀疑态度。我希望调试会有所帮助。默认情况下,调试端口为5005