0

したがって、これは InsitutionList をグローバル変数として使用するコントローラーの show() メソッドですが、list.gsp からこの InsitutionList にアクセスしたい場合、レンダリングされません (null 値などのエラーも発生しません。そこから、私は合格していると思います)それは成功した)何でも。以下の gsp スニペットについても言及します。

def show(Long id){
    def tacticalIndustryCodeInstance = TacticalIndustryCode.get(id);
    def query = Institution.where { idParam ->
        idInstitution == idParam    
    }   
    def institution = query.find(id)
    if(!institution){
        flash.message = message(code: 'default.not.found.message', args: [message(code: 'institution.label', default: 'Institution'), id])
        redirect(action: "list")
        return
    }

    institutionList.putAt(institution.getLongName(), tacticalIndustryCodeInstance)

    if(!tacticalIndustryCodeInstance){
        flash.message = message(code: 'default.not.found.message', args: [message(code: 'tacticalIndustryCode.label', default: 'TacticalIndustryCode'), id])        
        redirect(action: "list")
        return 
    }       
    [tacticalIndustryCodeInstance: tacticalIndustryCodeInstance, institutionList: institutionList]

}

さまざまなことを試しましたが、うまくいきませんでした:

1)

                    <td><g:link action="show" id="${tacticalIndustryCodeInstance.id}">${fieldValue(bean: tacticalIndustryCodeInstance, field: "id")}</g:link></td>

                    <td>${fieldValue(bean: tacticalIndustryCodeInstance, field: "industrySector")}</td>

                    <td>${Institution.executeQuery("Select longName from Institution where idInstitution = :id?",[id : $(fieldValue(bean: tacticalIndustryCodeInstance, field: "id"))])}</td>   
                </tr>
            </g:each>

2)このようにさらに単純でも機能しません

            <g:each in="${institutionList}" var="institutionListInstance">
                <td>${fieldValue(bean: institutionList, field: "longName")}</td>
            </g:each>

3)

<table id="tacticalIndustryCodeTable" class="center">
<thead>
                    <tr>                    
                        <g:sortableColumn property="id" title="${message(code: 'tacticalIndustryCode.id.label', default: 'Institution Id')}" />

                        <g:sortableColumn property="industrySector" title="${message(code: 'tacticalIndustryCode.industrySector.label', default: 'industrySector')}" />

                        <g:sortableColumn property="longName" title="${message(code: 'institution.longName.label', default: 'longName')}" />

                    </tr>
                </thead>
                <tbody>
                <g:each in="${institutionList}" var="institutionListInstance">
                    <td>${institutionListInstance.key}</td>
                    <g:each in="${institutionListInstance.value}" var="item">
                        <td>${item.id}</td>
                        <td>${item.industrysector}</td>
                </g:each>
                </tbody>
            </table>
4

2 に答える 2

1

間違ったアクションまたはgspを変更しているようです。「show」アクションでビューを指定しないとすぐに、Grailsはshow.gspをレンダリングしますが、list.gspに「institutionList」が必要です。

于 2013-01-15T22:59:47.110 に答える
0

institutionListMapないようですList

institutionList.putAt(institution.getLongName(), tacticalIndustryCodeInstance)

のように見える

Map.putAt(Object key, Object value)

次のコードで gsp を表示するのは何ですか?

<g:each in="${institutionList}" var="institutionListInstance">
    <td>${institutionListInstance}</td>
</g:each>

または gsp の最も単純なコードで?

<h1>${institutionList}</h1>
于 2013-01-16T00:47:16.690 に答える