【问题标题】:Displaying values from database to gsp (view page) using grails使用 grails 将值从数据库显示到 gsp(查看页面)
【发布时间】:2013-05-11 10:28:02
【问题描述】:

我是这个 grails 的初学者 这是我的域类

class Business {

    Integer id
    String company_name 
    String contact_person   
    Integer phone_no
    String status
    String place


    static constraints = {
            id(blank:false,uinque:true)
            company_name(blank:false)
            contact_person(blank:false)
            phone_no(blank:false,uinque:true)
            status(blank:false)
            place(blank:false)
    }
}

这是我的查看页面:

<g:each in="${business}" status="i" var="BusinessInstance"  >
<tr class="${(i % 2) == 0 ? 'odd' : 'even' }">
<td>${feildValue(bean: BusinessInstance,feild:"id") }</td>
<td>${feildValue(bean: BusinessInstance,feild:"company_name") }</td>
<td>${feildValue(bean: BusinessInstance,feild:"contact_person") }</td>

我只是想在我的视图页面中显示数据,我正在使用 MySQL 数据库但无法通过,请给我一些想法。

提前致谢 祝你有美好的一天。

错误 无法使用 java.lang.String 的直接 char[] 访问 java.lang.NoSuchFieldException:计数 在 java.lang.Class.getDeclaredField(Class.java:1899) 在 org.codehaus.groovy.grails.web.util.StringCharArrayAccessor。 (StringCharArrayAccessor.java:53) 在 org.codehaus.groovy.grails.web.util.StreamCharBuffer.readAsString(StreamCharBuffer.java:531) 在 org.codehaus.groovy.grails.web.util.StreamCharBuffer.toString(StreamCharBuffer.java:552) 在 org.codehaus.groovy.grails.web.pages.FastStringWriter.getValue(FastStringWriter.java:59) 在 org.codehaus.groovy.grails.web.pages.FastStringWriter.toString(FastStringWriter.java:55) 在 org.codehaus.groovy.grails.web.pages.GroovyPageParser.startTag(GroovyPageParser.java:1119) 在 org.codehaus.groovy.grails.web.pages.GroovyPageParser.page(GroovyPageParser.java:801) 在 org.codehaus.groovy.grails.web.pages.GroovyPageParser.generateGsp(GroovyPageParser.java:380) 在 org.codehaus.groovy.grails.web.pages.GroovyPageParser.parse(GroovyPageParser.java:326) 在 org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.buildPageMetaInfo(GroovyPagesTemplateEngine.java:584) 在 org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplate(GroovyPagesTemplateEngine.java:493) 在 org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplateWithResource(GroovyPagesTemplateEngine.java:473) 在 org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplate(GroovyPagesTemplateEngine.java:246) 在 org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplateForUri(GroovyPagesTemplateEngine.java:373) 在 org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplateForUri(GroovyPagesTemplateEngine.java:345) 在 org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplate(GroovyPagesTemplateEngine.java:262) 在 org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderWithTemplateEngine(GroovyPageView.java:146) 在 org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderMergedOutputModel(GroovyPageView.java:81) 在 org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 在 org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.renderViewForUrlMappingInfo(UrlMappingsFilter.java:260) 在 org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:189) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:245) 在 org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:134) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:104) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:69) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 在 org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 在 java.lang.Thread.run(Thread.java:722)

【问题讨论】:

  • 您遇到的错误是什么?
  • 无法使用 java.lang.String java.lang.NoSuchFieldException 的直接 char[] 访问:count.......-
  • 请显示您对此 gsp 的控制器操作
  • def list={ params.max=Math.min(params.max ? params.int('max'):10,100) def business=Business.list(params) render(view:"/列表”,型号:[业务]); }
  • 在这里查看我的相关答案,您可以使用系统属性来防止该错误:stackoverflow.com/questions/14510805/…

标签: database grails


【解决方案1】:

可能是因为您使用的是feildValue/feild 而不是fieldValue/field。正确的代码是:

<g:each in="${business}" status="i" var="businessInstance">
  <tr class="${(i % 2) == 0 ? 'odd' : 'even' }">
    <td>${fieldValue(bean: businessInstance, field: "id") }</td>
    <td>${fieldValue(bean: businessInstance, field: "company_name") }</td>
    <td>${fieldValue(bean: businessInstance, field: "contact_person") }</td>
  </tr>
</g:each>

对于控制器:您需要将地图作为模型而不是列表传递。目前您正在使用model: [business],但必须:model: [business: business]

【讨论】:

  • 无法使用 java.lang.String java.lang.NoSuchFieldException 的直接 char[] 访问:count.....
  • 请添加有关新错误的更多详细信息。并确保businessBusiness 实例的列表
  • 我上面提到的域类是准确的还是缺少什​​么?
猜你喜欢
  • 1970-01-01
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-13
  • 1970-01-01
  • 2013-06-29
  • 1970-01-01
相关资源
最近更新 更多