2013-04-23 33 views
1

我是Grails中的新手,仍在學習。Groovy/Grails工具套件(GGTS)代碼輔助GSP頁面中的模型對象

我對模型下面的代碼:

class Book { 

    static constraints = { 

    } 

    String title 
    String author 
} 

和控制器:

class KillController { 

    def index() { render "kill world" } 

    def view() { 
     def book = new Book(author: "Mike", title: "nuff sed") 
     [ model: book ] 
    } 
} 

而對於view.gsp,我有以下幾點:

<html> 
    <body> 
     Author: ${ model.author }<br /> 
     Title : ${ model.title } 
    </body> 
</html> 

一切工作,併產生正確的輸出。但是,在GSP編輯器中,當我鍵入${ model. }時,我沒有從代碼輔助獲得任何提議。輸入點後按Ctrl +空格不起作用。

儘管按下Ctrl +空格鍵${ }仍然有效,並且它將model正確識別爲Book對象。

對GSP編輯器尚不支持的模型的代碼輔助?謝謝! :D

+0

Richard,我不知道Eclipse,但我確信它可以在IntelliJ中工作。所以如果Eclipse不支持它,也許IntelliJ(Ultimate,付費,版本)可能會被證明是更有幫助的。 – 2013-04-23 09:49:40

+0

謝謝!我想堅持使用Eclipse,並保持自由,同時......:D這是一個錯誤或者它尚未得到支持。 我記得在Eclipse中使用PHP時,你有時會不得不向IDE提供類似'/ * @var $ model Book * /'的提示。因爲兩者都是動態語言,所以在GGTS中可能有類似的解決方法。儘管GGTS確實承認了GSP代碼中'model'的類型,所以我非常希望如果它不是bug,它將在某一天得到支持:D – 2013-04-23 10:04:03

回答

0

這是一個錯誤。它應該工作,並且在許多其他情況下也可以。當我嘗試它時,我確實看到拋出異常:

org.eclipse.core.runtime.OperationCanceledException 
at org.codehaus.groovy.eclipse.codeassist.processors.GroovyProposalTypeSearchRequestor.checkCancel(GroovyProposalTypeSearchRequestor.java:356) 
at org.codehaus.groovy.eclipse.codeassist.processors.GroovyProposalTypeSearchRequestor.processAcceptedPackages(GroovyProposalTypeSearchRequestor.java:618) 
at org.codehaus.groovy.eclipse.codeassist.processors.PackageCompletionProcessor.generateProposals(PackageCompletionProcessor.java:56) 
at org.codehaus.groovy.eclipse.codeassist.requestor.GroovyCompletionProposalComputer.computeCompletionProposals(GroovyCompletionProposalComputer.java:162) 
at org.grails.ide.eclipse.editor.gsp.adapter.CodeCompletionDelegate.codeComplete(CodeCompletionDelegate.java:71) 
at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.codeComplete(GroovyCompilationUnit.java:598) 
at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:359) 
at org.eclipse.jst.jsp.ui.internal.contentassist.JSPJavaCompletionProposalComputer.computeJavaCompletionProposals(JSPJavaCompletionProposalComputer.java:237) 
at org.eclipse.jst.jsp.ui.internal.contentassist.JSPJavaCompletionProposalComputer.computeCompletionProposals(JSPJavaCompletionProposalComputer.java:114) 
at org.eclipse.wst.sse.ui.internal.contentassist.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:284) 
at org.eclipse.wst.sse.ui.internal.contentassist.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:290) 
at org.eclipse.wst.sse.ui.contentassist.StructuredContentAssistProcessor.collectProposals(StructuredContentAssistProcessor.java:475) 
at org.eclipse.wst.sse.ui.contentassist.StructuredContentAssistProcessor.computeCompletionProposals(StructuredContentAssistProcessor.java:254) 
at org.eclipse.wst.sse.ui.internal.contentassist.CompoundContentAssistProcessor.computeCompletionProposals(CompoundContentAssistProcessor.java:127) 
at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1839) 
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:566) 
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:563) 
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:498) 
... 

我得看看這裏發生了什麼。


UPDATE:

提出了這個問題:https://issuetracker.springsource.com/browse/STS-3337

發現問題和推動修復。將在下一個快照構建中提供。

+0

感謝您的信息Andrew^_ ^ – 2013-04-24 09:15:34