2011-07-03 20 views
2

gを得ることはできません。私は何かを反復しようとしていますが、決して動作しません=任意のhtmlを生成しません。グレースg:それぞれの問題

index.gsp

<g:each var="i" in="${userList}" controller="user"> 
      <li>Item ${i.name}</li> 
</g:each> 

userController.groovy

その後
class UserController { 
    ...   
     def userList = { 

      User.list() 

     } 
     ... 
} 

私はUser.groovyユーザーの数で満たされている..私は=でで書くことになっています何

User.groovyとして宣言されたユーザーを例にして "$ {.....}"を繰り返しますか?私が試してみました:ユーザー、ユーザー、User.list()...

おかげ

EDIT:

するのは、私は私のUserCotrollerで

def findOne { 

[users : User.findAllByNameLike("%Petr%") 

} 

があるとしましょう。

<g:each var="user" in="${findOne}"> 

はあなたの例では..

答えて

6

何もしませんので、それのために、それぞれ:私はグラムを使用するにはどうすればよい

userListは閉鎖され、それは、アクション名ですので、私はあなたがGSPにレンダリングされるコントローラアクションから何かを返す場合、それはMapにしておく必要がありますがhttp://localhost:8080/appname/user/userList

にアクセスしていると仮定しています、 "モデル "。マップの各値は、マップキーを名前として使用してGSPに公開されます。だからあなたのGSPに対応するコントローラのアクションが

def userList = { 
    [users: User.list()] 
} 

になり、その後、あなたが名前は重要ではありません

<g:each var="user" in="${users}"> 
    <li>Item ${user.name}</li> 
</g:each> 

を繰り返すことができます - それだけのようなモデルマップで同じである必要がありますGSP

+0

私のindex.gspはhttp:// localhost:8080/GrailsAppTest /で、私のアプリの起動方法を示しています。私はインデックスページ上のリストにユーザーをリストアップしようとしています。ただ試してみるだけです。私はマップを理解しています:モデルのものですが、それはそこからそれにアクセスしないようです。 –

+0

そして、なぜこれは動作しませんか?in = "$ {User.list()}"? : –

+0

'grails generate-all User'を試して、デフォルトの足場がどのように機能するかを見てください。 –

関連する問題