태그를 사용할 때 성능 문제가 있습니다. 데이터베이스의 일부 테이블에는 수천 개의 레코드가 있으며 Grails에서 일부 필드를 편집하려고하면 테이블의 모든 레코드 드롭 다운 목록이 생성되어 실제 성능 문제가 발생하고 때때로 EndOfMemorryError가 발생합니다. 생성 된 html은 거대합니다. 목록 작성을위한 자동 완성 메소드를 구현하려고 시도했지만 결과가 만족스럽지 않습니다. 왜냐하면이 클래스가 300 Java 클래스에 대한 글로벌 솔루션이되고 자동 완성을 사용하면 각 클래스 중 하나를 지금 내 생각은 시도하고 페이지 매김을 사용하여 레코드를 표시하는 팝업 창으로 드롭 다운 목록을 변경하는 것입니다.Grails 스캐 폴딩 선택
private renderManyToOne(domainClass,property) {
if (property.association) {
def sb = new StringBuilder()
sb << '<g:select'
// id is "x" and name is "x.id" as the label will have for="x" and "." in an id will confuse CSS
sb << ' id="' << property.name << '"'
sb << ' name="' << property.name << '.id"'
sb << ' from="${' << property.type.name << '.list(max: 10, offset: offset)}"'
sb << ' optionKey="id"'
if (isRequired()) sb << ' required=""'
sb << ' value="${' << "${domainInstance}?.${property.name}" << '?.id}"'
sb << ' class="many-to-one"'
sb << renderNoSelection(property)
sb << '/>'
sb as String
}
}
어떤 아이디어가 이해할 수있을 것이다 :
이
FWIW,이 * 힘의 * (의심 만 가능) 기존의 [제약 위젯] 수 (: 여기
는 문서의 widget.html)이 도움이 될 것입니다. 그러나 가능한 위젯 목록이 무엇인지 알지 못합니다. 나는이 질문에 현상금을 추가했다 (http://stackoverflow.com/questions/7295811/what-widget-constraints-are-for-grails-domain-classes). –