1

だからここに契約があります.私はユーザークラスsecUserを持っています.Springstatic hasMany = [pid:Process]セキュリティも使用しています(関連しているかどうかはわかりません).

私がやろうとしていること:現在ログインしているユーザーのpidを含むドロップボックスを表示しますが、どうすればよいかわかりませんでしたが、遊んだ後、これを作成しました

<g:if test="${secUserInstance?.pid}"> <g:select optionKey="id" optionValue="pid" name="pid" from="${secUserInstance.pid}" />

私の質問は次のとおりです。このコードをメインページ/に配置すると何もしませんが、そこに行くと/secUser/show/1、 user に属する pid のリストが表示されます。secUser/show に到達したときに情報を取得する理由を理解できないようですが、他の場所では取得しません...

PS Grails と Stackoverflow は初めてですが、これで何日も立ち往生しており、他にどこに行くべきかわかりません。

4

1 に答える 1

0

したがって、「/」パスは UrlMappings のコントローラーに配線されています。そのコントローラーにはstatic defaultAction = "list"、「/」パスを処理するメソッドを指す可能性があります。defaultAction が設定されていない場合はindex(){...}メソッドになります。そのため、「/」パスを担当するメソッドはsecUserInstance「methodName」.gsp ファイルに渡されず、これが取得できない理由です。あなたが持っているメソッド/secUser/show/1にアクセスしている間、または同様のものを持ち、そのオブジェクトをgspファイルに渡します。フィルター リンクを使用して、すべてのページにアクセス可能にすることができます:ログインしているユーザーをすべての GSP ページのコンテキストに追加する か、'/' を担当するメソッドにそのユーザー オブジェクトを渡すだけです。secUserController show[secUserInstance : secUserInstance]secUserInstance

于 2013-07-12T16:31:31.603 に答える