如果在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的一个用法。
初学者,有错误的地方望大家不吝赐教。谢谢!
分享到:
相关推荐
通过利用Grails提供的便利工具和库,开发者可以快速实现复杂的Ajax功能,同时保持代码的整洁和可维护性。无论是简单的数据获取还是复杂的业务流程,Grails都能提供强大的支持,让Ajax在Grails应用中发挥出应有的价值...
这正是实现联动效果的关键,因为它能让用户体验更加流畅,无需等待整个页面的加载。 首先,我们需要在Grails的视图层创建两个下拉框,通常使用GSP(Groovy Server Pages)模板引擎来编写HTML。每个下拉框都有一个`...
在Grails框架中,Ajax是一种常用的前端技术,用于实现页面的部分刷新,提高用户体验。本教程将深入探讨如何在Grails应用中使用Ajax,通过几个实际的例子来帮助理解其工作原理和常见用法。 1. **Ajax简介** Ajax...
本文将深入探讨如何使用Grails的GORM(Grails Object-Relational Mapping)API以及Ajax技术来实现这种复杂的关系。 首先,了解多对多关系的基本概念。在多对多关系中,两个实体类之间存在一对多的双向关联,即每个...
### 精通Grails之用JSON和Ajax实现异步Grails #### 一、引言 随着Web 2.0技术的发展,JSON (JavaScript Object Notation) 和 Ajax (Asynchronous JavaScript + XML) 成为现代Web应用开发的重要组成部分。本文旨在...
在Grails这个基于Groovy的敏捷开发框架中,实现分页功能对于任何Web应用程序都是至关重要的,特别是当处理大量数据时。Grails提供了一些内置的支持,但如果你需要在自定义的控制器和视图中实现分页,那么就需要遵循...
通过学习《Ajax Development With Grails Dojo》,你可以实现以下目标: - **了解如何开始**:从安装Grails和Dojo开始,到搭建开发环境。 - **理解Grails对Ajax的支持**:掌握Grails提供的特定标签和其他机制,了解...
《使用 Grails 快速开发 Web 应用程序》 Grails,一个基于Groovy动态语言的开源MVC框架,为Web开发提供了高效...对于熟悉HTML、Web开发基础和Java或Groovy语言的开发者,Grails提供了一个高效且有趣的Web开发新选择。
Grails 的强大之处在于其插件生态,如Security、Spring Security Core、Cache、Ajax等,它们提供开箱即用的功能,减少重复造轮子的工作。 6. **Grails URL 映射** 通过配置URL映射,Grails允许开发者定义清晰、...
2. **视图(View)**: 视图负责展示数据,通常使用GSP(Grails Server Pages)技术,这是一种结合了HTML和Groovy的模板语言,可以嵌入Groovy表达式和控制结构,实现动态内容的生成。 3. **控制器(Controller)**: ...
首先,书中介绍了Grails的目的和优势,让读者理解选择Grails的理由。接着,书中深入讲解了Groovy语言的基础和高级特性,因为掌握Groovy是使用Grails的前提。紧接着,书中详细讨论了Grails的项目结构,以及如何基于...
- **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中实现 Ajax 功能、处理遗留数据库的方法、利用遗留框架以及如何在 Grails 中使用 WebFlow。 - **高效编程系列**:涵盖使用 ...
通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句即可实现数据的持久化操作。 #### Controllers(控制器) 控制器(Controllers)负责处理来自用户的...
Grails支持多语言环境,通过`messages.properties` 文件实现国际化,可以根据用户浏览器设置自动选择对应的语言版本。 总结来说,《Grails用户手册》涵盖了从项目创建到部署运行的全过程,包括Grails的基础概念、...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
- **Ajax支持**:提供了与Prototype、Dojo和GWT集成的Ajax功能,以及服务端的Ajax处理。 6. **其他主题**: - **验证**:详述了声明式约束、客户端验证和国际化。 - **服务层**:涉及服务的作用域、事务和依赖...
**正文** 在IT行业中,开发Web应用程序时,我们经常使用各种框架来提高效率和灵活性。Grails就是一个基于Groovy语言的开源Web应用...无论是新手还是经验丰富的开发者,都能从中受益匪浅,实现高效的Grails应用开发。
如果你对JSP语法熟悉且内存有限,也可选择Classic版本。 - 安装Eclipse 3.4.0 JEE版本或其他支持JSP编辑的最新版本。 3. **安装Groovy Eclipse插件** - Groovy Eclipse插件是Grails在Eclipse中开发的关键,可以从...
- **AJAX in Grails**:书中会介绍如何使用jQuery或其他库实现异步更新,提升用户体验。 - **Remote Function Calls (RFC)**:通过AJAX调用控制器的方法,实现页面部分更新。 6. **Java平台集成**: - **...
选择"File" > "New" > "Other",在弹出的对话框中展开"Grails",然后选择"Grails Project"。输入项目名,选择Grails版本,然后点击"Finish"。Eclipse会自动为你的项目生成基本的Grails结构,包括`grails-app`目录,...