`

Grails Ajax 实现 联动选择

阅读更多
如果在jsp中添加<g:javascript library="prototype" />再使用g:remoteLink,g:formRemote等可实现异步刷新。
查看生成的html会发现主要实现代码如下

new Ajax.Updater('Bdiv','/Test/test/b', {asynchronous:true,evalScripts:true});return false;


有了这段语句,可以在JavaScript脚本中方便实现异步刷新,而不会仅仅限制在grails提供的几个Tag。

如,欲实现简单的无刷新关联select
a.gsp
<html>
<head>
<title>test</title>
<g:javascript library="prototype" />
<script language="JavaScript">
function sel(){
    var select = document.getElementById("A");
    var index = select.selectedIndex;
    var a = select.options[index].value;
    new Ajax.Updater('Bdiv','/Test/test/b?Aid='+a,
        {asynchronous:true,evalScripts:true});return false;
    }
}
</script>
<body>
<select id="A" onChange="sel();">
<option vaule="1">1</option>
<option vaule="2">2</option>
<option vaule="3">3</option>
</select>
<div id="Bdiv">
</div>
</body>
</html>


b.gsp
<select id="B">
<g:each in="${BB}" var="bInstance">
  <option value="${bInstance.id}">${bInstance.name}</option>
</g:each>
</select>


TestController.groovy
class TestController{
    def index = { redirect(action:a,params:params) }
    def a={[params:params]}
    def b={
        render(action:"b",model:[BB:B.findAllByA(params.Aid)])
    }
}


B.groovy
class B{
String name
Integer A
}


这样,动了A之后,B会根据A的内容从数据库查询出A值为Aid的所有B,然后列在B选框中。
g:select标签是多选框,单选框标签没有找到,就这样实现了。

联动选择有JavaScript能很简单实现,这儿只是一个Ajax.Updater的一个用法。

初学者,有错误的地方望大家不吝赐教。谢谢!
0
0
分享到:
评论

相关推荐

    grails ajax

    通过利用Grails提供的便利工具和库,开发者可以快速实现复杂的Ajax功能,同时保持代码的整洁和可维护性。无论是简单的数据获取还是复杂的业务流程,Grails都能提供强大的支持,让Ajax在Grails应用中发挥出应有的价值...

    Grails 下拉框联动最优实现

    这正是实现联动效果的关键,因为它能让用户体验更加流畅,无需等待整个页面的加载。 首先,我们需要在Grails的视图层创建两个下拉框,通常使用GSP(Groovy Server Pages)模板引擎来编写HTML。每个下拉框都有一个`...

    grails 使用ajax的例子

    在Grails框架中,Ajax是一种常用的前端技术,用于实现页面的部分刷新,提高用户体验。本教程将深入探讨如何在Grails应用中使用Ajax,通过几个实际的例子来帮助理解其工作原理和常见用法。 1. **Ajax简介** Ajax...

    精通 Grails 使用 Ajax 实现多对多关系

    本文将深入探讨如何使用Grails的GORM(Grails Object-Relational Mapping)API以及Ajax技术来实现这种复杂的关系。 首先,了解多对多关系的基本概念。在多对多关系中,两个实体类之间存在一对多的双向关联,即每个...

    精通Grails 之用 JSON 和Ajax 实现异步Grails(pdf电子书)

    ### 精通Grails之用JSON和Ajax实现异步Grails #### 一、引言 随着Web 2.0技术的发展,JSON (JavaScript Object Notation) 和 Ajax (Asynchronous JavaScript + XML) 成为现代Web应用开发的重要组成部分。本文旨在...

    grails实现分页技术

    在Grails这个基于Groovy的敏捷开发框架中,实现分页功能对于任何Web应用程序都是至关重要的,特别是当处理大量数据时。Grails提供了一些内置的支持,但如果你需要在自定义的控制器和视图中实现分页,那么就需要遵循...

    Ajax Development With Grails Dojo

    通过学习《Ajax Development With Grails Dojo》,你可以实现以下目标: - **了解如何开始**:从安装Grails和Dojo开始,到搭建开发环境。 - **理解Grails对Ajax的支持**:掌握Grails提供的特定标签和其他机制,了解...

    使用 Grails 快速开发 Web 应用程序

    《使用 Grails 快速开发 Web 应用程序》 Grails,一个基于Groovy动态语言的开源MVC框架,为Web开发提供了高效...对于熟悉HTML、Web开发基础和Java或Groovy语言的开发者,Grails提供了一个高效且有趣的Web开发新选择。

    grails 文档

    Grails 的强大之处在于其插件生态,如Security、Spring Security Core、Cache、Ajax等,它们提供开箱即用的功能,减少重复造轮子的工作。 6. **Grails URL 映射** 通过配置URL映射,Grails允许开发者定义清晰、...

    Grails Grails Grails

    2. **视图(View)**: 视图负责展示数据,通常使用GSP(Grails Server Pages)技术,这是一种结合了HTML和Groovy的模板语言,可以嵌入Groovy表达式和控制结构,实现动态内容的生成。 3. **控制器(Controller)**: ...

    Grails权威指南 中文版

    首先,书中介绍了Grails的目的和优势,让读者理解选择Grails的理由。接着,书中深入讲解了Groovy语言的基础和高级特性,因为掌握Groovy是使用Grails的前提。紧接着,书中详细讨论了Grails的项目结构,以及如何基于...

    grails快速开发web

    - **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中实现 Ajax 功能、处理遗留数据库的方法、利用遗留框架以及如何在 Grails 中使用 WebFlow。 - **高效编程系列**:涵盖使用 ...

    the definitive guide to grails 2

    通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句即可实现数据的持久化操作。 #### Controllers(控制器) 控制器(Controllers)负责处理来自用户的...

    grails-用户手册

    Grails支持多语言环境,通过`messages.properties` 文件实现国际化,可以根据用户浏览器设置自动选择对应的语言版本。 总结来说,《Grails用户手册》涵盖了从项目创建到部署运行的全过程,包括Grails的基础概念、...

    Grails权威指南 Grails权威指南

    《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...

    Grails 中文参考手册

    - **Ajax支持**:提供了与Prototype、Dojo和GWT集成的Ajax功能,以及服务端的Ajax处理。 6. **其他主题**: - **验证**:详述了声明式约束、客户端验证和国际化。 - **服务层**:涉及服务的作用域、事务和依赖...

    eclipse开发grails插件

    **正文** 在IT行业中,开发Web应用程序时,我们经常使用各种框架来提高效率和灵活性。Grails就是一个基于Groovy语言的开源Web应用...无论是新手还是经验丰富的开发者,都能从中受益匪浅,实现高效的Grails应用开发。

    Eclipse下搭建Grails项目

    如果你对JSP语法熟悉且内存有限,也可选择Classic版本。 - 安装Eclipse 3.4.0 JEE版本或其他支持JSP编辑的最新版本。 3. **安装Groovy Eclipse插件** - Groovy Eclipse插件是Grails在Eclipse中开发的关键,可以从...

    Grails权威指南.pdf

    - **AJAX in Grails**:书中会介绍如何使用jQuery或其他库实现异步更新,提升用户体验。 - **Remote Function Calls (RFC)**:通过AJAX调用控制器的方法,实现页面部分更新。 6. **Java平台集成**: - **...

    eclipse插件grails(groovy)

    选择"File" &gt; "New" &gt; "Other",在弹出的对话框中展开"Grails",然后选择"Grails Project"。输入项目名,选择Grails版本,然后点击"Finish"。Eclipse会自动为你的项目生成基本的Grails结构,包括`grails-app`目录,...

Global site tag (gtag.js) - Google Analytics