3

taglib機能を作成するときにg:select、g:labelなどのgrailsタグを使用する方法を教えてもらえますか?

以下は私のコードです。

taglib機能を作成しました

 def dynamicAdvancedSearchTagLib={attrs, body ->
    String beanName = attrs.remove("beanName")
    def bean = request.getAttribute(beanName)
    out << createAdvancedSearchUI(bean)

}
def createAdvancedSearchUI(bean){
    StringBuilder sb = new StringBuilder();

    sb<<"""<fieldset class="search-advanced collapsed"style="border: 1px solid #CCC;padding:0px 21px 0px 21px;border-radius:8px 8px 8px 8px;min-height:24px;">
    <legend>
        <span id="advancedsearch"> <label for="advancedsearch">Advanced Search
        </label>
        </span>
    </legend>
    <g:form method="post">
    <div id="searchcontent">
        <div class="advanced-content-search">
            <label for="Criteria Name">Criteria Name <span
                class="required-indicator">*</span>
            </label>
            <select id="searchCriteria" name="searchCriteria" required="">
            *****<option value="0" selected="selected">Choose...</option>
            <option value="1">Something</option>
            <option value="2">Something else</option>
            <option value="3">Another choice</option>**
            </select>***
        </div>
        <div style="margin-left: 338px;">
            <label for="Enter Your Search Here"> Enter Your Search Here <span
                class="required-indicator">*</span>
            </label>
            <input type="text" name="advancedSearchText"
                value="" required="" />
        </div>

    </div>
    </g:form>
</fieldset>"""
}

ここでは、select htmlタグを使用する代わりに、g:selectを使用する必要があります。

g:selectasを使用した静的なgspページがあります

    <g:select id="searchCriteria" name="searchCriteria"
                        from="${SearchCriteria?.values()}"  value="${searchInstance.searchCriteria}"
                        noSelection="${['':'---Select any One---']}" required="" />

taglib機能を作成するときに同じ機能を使用する必要があります。

taglibの作成中にgrailsタグを使用する方法を誰かが知っている場合は、私を助けてください。

4

1 に答える 1

3

あなたはこのようなものを使う必要があります

def attrs=["id":"searchCriteria","name":"searchCriteria"]//fill other values
def formTagLib = grailsApplication.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib')
formTagLib.select.call(attrs)

これは、上書きと再利用のセクションで見つけた上記のチュートリアルです

別の方法として、次を使用することもできます

out << g.select(attrs) 
于 2012-12-28T09:22:54.553 に答える