0

古いJavaプロジェクトをセットアップしてGrailsに再設計しようとしています。GGTS 3.1.0.Releaseを使用しており、ドメインモデルを構成しました。私の問題は、コントローラーとビューの自動生成を使用すると([プロジェクト]->[新規]->[コントローラーとビューの生成]を右クリック)、ファイルは生成されますが、属性がすべて含まれているわけではないことです。このスキャフォールディングにより、ドメインクラスのすべての属性を含むビューが利用可能になると思いました。私が間違っている?

アソシエイトクラス:

package com.trading.core

class Associate {

    Integer id
    String name
    String address
    Prefecture prefecture
    SubPrefecture subPrefecture
    Municipal municipal
    String city
    BigDecimal minDiscount
    String zipcode
    User insUser
    Date insDatetime
    User updtUser
    Date updtDatetime

    static mapping = {
        table "associate"
        id generator: 'identity'
        minDiscount column:"min_discount"
        insUser column: "ins_user"
        insDatetime column: "ins_datetime"
        updtUser column: "updt_user"
        updtDatetime column: "updt_datetime"

        municipal column: "municipal"
        subPrefecture column: "sub_prefecture"
        prefecture column: "prefecture"

        version false
    }       

    static constraints = {
    }
}

list.gsp(生成)

<%@ page import="com.trading.core.Associate" %>
<!DOCTYPE html>
<html>
    <head>
        <meta name="layout" content="main">
        <g:set var="entityName" value="${message(code: 'associate.label', default: 'Associate')}" />
        <title><g:message code="default.list.label" args="[entityName]" /></title>
    </head>
    <body>
        <a href="#list-associate" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a>
        <div class="nav" role="navigation">
            <ul>
                <li><a class="home" href="${createLink(uri: '/')}"><g:message code="default.home.label"/></a></li>
                <li><g:link class="create" action="create"><g:message code="default.new.label" args="[entityName]" /></g:link></li>
            </ul>
        </div>
        <div id="list-associate" class="content scaffold-list" role="main">
            <h1><g:message code="default.list.label" args="[entityName]" /></h1>
            <g:if test="${flash.message}">
            <div class="message" role="status">${flash.message}</div>
            </g:if>
            <table>
                <thead>
                    <tr>

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

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

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

                        <g:sortableColumn property="insDatetime" title="${message(code: 'associate.insDatetime.label', default: 'Ins Datetime')}" />

                        <th><g:message code="associate.insUser.label" default="Ins User" /></th>

                        <g:sortableColumn property="minDiscount" title="${message(code: 'associate.minDiscount.label', default: 'Min Discount')}" />

                        <th><g:message code="associate.municipal.label" default="Municipal" /></th>

                    </tr>
                </thead>
                <tbody>
                <g:each in="${associateInstanceList}" status="i" var="associateInstance">
                    <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">

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

                        <td>${fieldValue(bean: associateInstance, field: "city")}</td>

                        <td><g:formatDate date="${associateInstance.insDatetime}" /></td>

                        <td>${fieldValue(bean: associateInstance, field: "insUser")}</td>

                        <td>${fieldValue(bean: associateInstance, field: "minDiscount")}</td>

                        <td>${fieldValue(bean: associateInstance, field: "municipal")}</td>

                    </tr>
                </g:each>
                </tbody>
            </table>
            <div class="pagination">
                <g:paginate total="${associateInstanceTotal}" />
            </div>
        </div>
    </body>
</html>
4

1 に答える 1

2

スキャフォールディングはデフォルトで一部のプロパティのみを表示します-私はそれが6だと思いました。これを変更するには、コマンドを実行します

grails install-templates

次に、を見てsrc/templates/scaffoldingください。list.gsp

i < 6そのファイルを編集して、ビューの生成方法を削除または変更できます(この問題のコードを探してください)。次に、ビューを生成するときに、そのテンプレートが使用され、設定したプロパティの数が表示されます。

于 2013-01-29T06:51:59.447 に答える