CustomerController里由scaffold生成
对应的controller-scaffold部分为:
list页面由scaffold生成
对应的scaffold-list部分为:
i18n追加
- staticallowedProperties=['name','address','telephone','postcode']
- deflist={
- params.max=Math.min(params.max?params.int('max'):10,100)
- defcustomerInstanceList,customerInstanceTotal
- if(params?.searchValue&&allowedProperties.contains(params?.searchKey)){
- defc=Customer.createCriteria()
- customerInstanceList=c.list(max:params.max,offset:params.offset?:0){
- ilike(params.searchKey,"%"+params.searchValue+"%")
- eq("deleted",false)
- }
- customerInstanceTotal=customerInstanceList.totalCount
- }else{
- customerInstanceList=Customer.findAllByDeleted(false,params)
- customerInstanceTotal=Customer.countByDeleted(false)
- }
- [customerInstanceList:customerInstanceList,customerInstanceTotal:customerInstanceTotal]
- }
对应的controller-scaffold部分为:
- <%
- excludedProps=Event.allEvents.toList()<<'id'<<'version'<<'dateCreated'<<'lastUpdated'<<'deleted'<<'itemOrder'<<'memo'
- allowedNames=domainClass.persistentProperties*.name
- props=domainClass.properties.findAll{allowedNames.contains(it.name)&&!excludedProps.contains(it.name)&&!Collection.isAssignableFrom(it.type)}
- Collections.sort(props,comparator.constructors[0].newInstance([domainClass]asObject[]))
- defpropNames=[]
- props.name.each{propNames.add"'"+it+"'"}
- %>
- staticallowedProperties=<%=propNames%>
- deflist={
- params.max=Math.min(params.max?params.int('max'):10,100)
- def${propertyName}List,${propertyName}Total
- if(params?.searchValue&&allowedProperties.contains(params?.searchKey)){
- defc=${className}.createCriteria()
- ${propertyName}List=c.list(max:params.max,offset:params.offset?:0){
- ilike(params.searchKey,"%"+params.searchValue+"%")
- eq("deleted",false)
- }
- ${propertyName}Total=${propertyName}List.totalCount
- }else{
- ${propertyName}List=${className}.findAllByDeleted(false,params)
- ${propertyName}Total=${className}.countByDeleted(false)
- }
- [${propertyName}List:${propertyName}List,${propertyName}Total:${propertyName}Total]
- }
list页面由scaffold生成
- <g:formaction="list"method="post"useToken="true">
- <g:selectname="searchKey"from="${CustomerController.allowedProperties.toList()}"value="${searchKey}"optionValue="${{message(code:'customer.'+it+'.label',default:message(code:'domainProperty.'+it+'.label',default:it))}}"/>
- <inputtype="text"name="searchValue"value="${params?.searchValue}"/>
- </g:form>
对应的scaffold-list部分为:
- <g:selectname="searchKey"from="\${${domainClass.fullName}Controller.allowedProperties.toList()}"value="\${searchKey}"optionValue="\${{message(code:'${domainClass.propertyName}.'+it+'.label',default:message(code:'domainProperty.'+it+'.label',default:it))}}"/>
i18n追加
- domainProperty.name.label=姓名
- ....