2013-04-17 71 views
0

我是新來的Grails,我想重定向做一些處理與每一個我收到以下錯誤時間控制我的模型對象,但之後呈現一個普惠制GSP:無法從控制器重定向Grails中

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 

我能夠重定向到另一個gsp,如果我不處理我的域(setProperties方法),即如果我刪除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]) 
    } 
} 

在此先感謝。

+1

請包含更多堆棧跟蹤。 – allthenutsandbolts

回答

0

只是猜測:嘗試將您的方法setProperties()重命名爲其他東西。

+0

我試過了,仍然是同樣的問題。 – amrit

0

嘗試使用命令對象來呈現receiveClient視圖。

由您粘貼的錯誤信息可能不包含所有相關信息的方式,你的堆棧跟蹤是相當小的...

  • 一旦你的partyClientInstance,複製匹配的命令中域屬性。
  • 如果您的視圖具有保存模型的表單,那麼在相關操作中,將命令複製到模型並在需要時保留數據。

希望它有幫助。

0

您可以隨時嘗試grails-debug run-app並使用IDE添加斷點。我對PartyClientsetProperties()中的使用表示懷疑。我希望調試會有所幫助。調試端口默認爲5005