`
fengzhizi715
  • 浏览: 161651 次
  • 性别: Icon_minigender_1
  • 来自: 上海 苏州
社区版块
存档分类
最新评论

基于grails richUi的评分效果的开发

阅读更多
首先需要安装richuUi插件
创建一个domain:News
class News { 

    String title 
    String content 
    Date   time 

    static hasMany = [rates:Rate] 
    
    static constraints = { 
        title (blank:false) 
        content (blank:false,type:'text') 
    } 

} 


再创建一个domain:Rate
class Rate { 
    News news 
    String rating = "0" 

    static belongsTo = [news:News] 

    static constraints = { 
    } 

} 


其中News和Rate的关系是一对多的关系。

然后修改news的show.gsp页面:
首先在head标签中增加<resource:rating />
然后增加
              <h5>新闻内容评分:</h5> 
              <g:render template="/rating/rate" model=['id':id,'rating':0] /> 
              <g:set var="a" value="${0}" /> 
              <g:set var="b" value="${0}" /> 
              <g:set var="c" value="${0}" /> 
              <g:set var="d" value="${0}" /> 
              <g:set var="e" value="${0}" /> 
              <g:each in="${newsInstance.rates}"> 
                <g:if test="${it.rating == '1'}"> 
                  <g:set var="a" value="${a+1}" /> 
                </g:if> 
                <g:elseif test="${it.rating == '2'}"> 
                  <g:set var="b" value="${b+1}" /> 
                </g:elseif> 
                <g:elseif test="${it.rating == '3'}"> 
                  <g:set var="c" value="${c+1}" /> 
                </g:elseif> 
                <g:elseif test="${it.rating == '4'}"> 
                  <g:set var="d" value="${d+1}" /> 
                </g:elseif> 
                <g:elseif test="${it.rating == '5'}"> 
                  <g:set var="e" value="${e+1}" /> 
                </g:elseif> 
              </g:each> 
            评 1分的个数:${a}<br> 
            评 2分的个数:${b}<br> 
            评 3分的个数:${c}<br> 
            评 4分的个数:${d}<br> 
            评 5分的个数:${e}<br> 


其中,_rate.gsp模板的代码如下:
<% 
        def id= newsInstance?.id 
%> 
<%@ page contentType="text/html;charset=UTF-8" %> 
<richui:rating dynamic="true" id="${id}" units="5" rating="${rating}" controller="rating" action="rate" /> 


这时,我们用到了RatingController,其代码如下:

class RatingController { 
    
    def rate = { 
        def rating = params.rating 
        def id = params.id 
        def news = News.get(new Long(id)) 
        def rate = new Rate(rating:rating) 
        news.addToRates(rate) 
        news.save() 
        render(template: "rate", model: [id:id ,rating: rating]) 
    } 

} 


好了,最终的结果:


  • 大小: 19.2 KB
分享到:
评论

相关推荐

    richui-two:适用于 Grails 2.3.4 的 RichUI Grails 插件版本 > *

    "richui-two" 是一个专为 Grails 2.3.4 框架设计的插件,其主要目标是增强应用的用户界面(UI)功能,提供丰富的交互体验。Grails 是一个基于 Groovy 语言的开源 web 应用程序框架,它简化了开发流程并提供了强大的...

    Grails技术精解与Web开发实践.part2

    自己买的书,然后用扫描机扫描的,整个文件太大了,不能一次性上传上来,所以拆成3个part。 我自己学grails很想看这本书,结果网上没有,就自己去买了,然后共享给需要的人。 如果有什么问题请联系我下架。

    Grails技术精解与Web开发实践.part1

    自己买的书,然后用扫描机扫描的,整个文件太大了,不能一次性上传上来,所以拆成3个part。...我自己学grails很想看这本书,结果网上没有,就自己去买了,然后共享给需要的人。 如果有什么问题请联系我下架。

    基于grails开发的财政项目

    **基于Grails开发的财政项目**是一套利用Groovy on Grails框架构建的Web应用程序,主要目标是实现高效的财政管理。Grails是一个基于Java平台的开源框架,它结合了Ruby on Rails的敏捷开发理念和Java的强类型、静态...

    Grails技术精解与web开发实践11-20章

    《Grails技术精解与Web开发实践11-20章》是一本专注于Grails框架的深度解析书籍,尤其适合初学者和希望提升Grails开发技能的IT从业者。Grails是一种基于Groovy语言的开源Web应用框架,它以其高效、灵活和强大的特性...

    Grails技术精解与Web开发实践.pdf

    Grails是一个基于Groovy语言的全栈Web应用开发框架,它遵循敏捷开发的理念,并且简化了基于Java的Web开发。Grails的核心是基于约定优于配置的原则,它提供了一套自动化的方式来处理项目的结构、数据持久化和Web层的...

    Grails技术精解与web开发实践2-10章

    《Grails技术精解与Web开发实践2-10章》是针对Grails框架的一份珍贵资源,适合初学者及有经验的开发者深入理解并掌握Grails技术。这本书的章节涵盖了从基础到进阶的多个方面,旨在帮助读者全面了解和运用Grails进行...

    grails-shiro-ui:Grails Shiro UI 插件

    Grails Shiro UI 插件是为基于Groovy的Grails框架开发的一款强大而易用的安全管理插件,它集成了Apache Shiro安全框架,为开发者提供了一整套用户认证和授权的解决方案。Apache Shiro是一款轻量级、全面的Java安全...

    基于grails的货车进城审批

    Grails是一个高效、简洁的Web应用框架,它基于Groovy编程语言,结合了Java平台的优势,提供了MVC(Model-View-Controller)架构模式,使得开发过程更加简便快捷。 本项目的核心目标是简化大货车进城的审批流程,...

    Grails企业web应用开发与部署

    在现代软件开发领域,Grails作为一个基于Groovy语言的开源Web应用框架,以其高效、灵活和强大的特性深受开发者喜爱。它提供了丰富的插件系统,使得企业级Web应用的开发变得快速而简单。本篇文章将深入探讨Grails在...

    grails快速开发web

    Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web 应用程序。Grails 的设计灵感来源于 Ruby on Rails,它不仅继承...

    eclipse开发grails插件

    **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速开发的可能。Grails的核心特性包括MVC架构、领域驱动设计(GORM)、自动化构建过程以及丰富的插件系统。通过Eclipse的...

    grails敏捷开发

    Grails 是一个基于 Groovy 语言的开源Web应用框架,设计用于快速开发、高效构建动态、敏捷的Web应用程序。它借鉴了Ruby on Rails的许多优秀理念,同时提供了Java平台的强大功能和兼容性。在本文中,我们将深入探讨...

    Grails技术精解与Web开发实践.part3

    自己买的书,然后用扫描机扫描的,整个文件太大了,不能一次性上传上来,所以拆成3个part。 我自己学grails很想看这本书,结果网上没有,就自己去买了,然后共享给需要的人。 如果有什么问题请联系我下架。

    基于Grails的办公自动化系统的研究与实现.rar

    总的来说,基于Grails的办公自动化系统结合了现代Web开发的便捷性与高效性,为企业提供了一种灵活、可扩展的解决方案。通过深入研究和实践,我们可以充分利用Grails框架的优势,打造满足现代办公需求的高效系统。

    Grails从零开始开发项目二

    Grails是一种基于Groovy语言的开源Web应用框架,它以其高效的开发速度和丰富的插件生态系统而受到开发者们的青睐。 首先,让我们了解一下Groovy语言。Groovy是Java平台上的动态类型语言,它与Java语法高度兼容,但...

Global site tag (gtag.js) - Google Analytics