2016-07-03 4 views
0

私はgrails 2.4.4 appを3.1.8に変換しています。 私のコントローラメソッドの中には、(サービスコールで何が起きたかに基づいて)時にはフラッシュでメッセージを設定するだけで、これは2.4.4でうまくいきました。画面はフラッシュで再描画されます3.1.8では何も表示されません。画面は全く空白です。 フラッシュでメッセージを設定した後に文を追加すると、画面がレンダリングされたようですが、文は何でもかまいません。 println 'hello'、または新しいModelAndView()を返します。以下 例:Grails 3.1.8コントローラ

def index() { 
def res = myService.whatever() 
if (res) { 
    [res: res] 
} 
else { 
    flash.message = message(code: 'no.res') // if we get here nothing is rendered 
} 
} 

が、これはGrailsの3か私はどこかで何かが欠けていますへの変更ですか?

おかげ

答えて

0

、私も、画面の部分が欠落していないよ、このためindex.gspビューで次に

<g:if test="${res}"> 
    <!-- cool thing goes here --> 
</g:if> 
<g:else> 
    <g:message code="no.res"/> 
</g:else> 
+0

感謝をこの

def index() { def res = myService.whatever() [res: res] } 

をやってみ、それはです空白のページ全体が表示されます。上記を実装した場合は、約100個のgspを変更する必要があります。最初に着陸したときなど、スクリーンレンダリングのインデックスをインデックス化しますが、その後、ボタンが押され、スクリーンが再描画されない限り、何も返されない限りレンダリングされません。これまでのところ私はコントローラーを通過し、[:]をつけて物事を進めました。 –

+0

私は理解しています。私は約100gspを交換しなければならない - 私は同じ状況にあった。しかし時にはそれがより良い選択肢です。もちろんそれはあなたのケースに完全に依存します – user615274

関連する問題