在JBoss Seam+ExtJS项目中,用Groovy代替Java编写Seam组件,可以让Java更像JavaScript,用JavaScript的感觉去写Java程序变成现实,使代码简洁清晰。在客户端UI层,通过引入命名空间(namespace)机制和编程约定,可以让JavaScript更像Java, 提高JavaScript程序的可读性和可维护性。
1.让Java更像JavaScript
(1)创建类实例
JavaScript:
var addBtn = new Ext.Toolbar.Button({
text : '新建',
tooltip : '新建角色',
icon : Divo.getIconAdd(),
cls : 'x-btn-text-icon',
handler : addRole
})
Groovy:
def doc = new DocumentUser(
userId : 1L,
docId : 1L,
canRead : 1,
canWrite : 0
))
(2)类中的方法定义
JavaScript:
function onRoleMainted(subj, msg, data) {
...
}
Groovy:
def addPermissions(ss, userId) {
...
}
(3)声明类属性
JavaScript:
Divo.app.role.Role = function() {
var actions
var meta, smartGrid, grid, ds, selModel, tb
...
}()
Groovy:
class ContentDragServiceTest {
def _service
def nodeC1,nodeC11,nodeC12,nodeC111,nodeC112,nodeC113
...
}
2.让JavaScript更像Java
(1)与Java中的包(package)机制类似,在JavaScript中引入命名空间,避免对象名冲突
Groovy:
package com.divo.doc.service
class DocumentService {
...
}
JavaScript:
Ext.namespace("Divo.app.role")
Divo.app.role.Role = function() {
...
}
(2)JavaScript中,约定js文件名等于类名或对象名,目录名对应命名空间名
(3)JavaScript中,大小写约定与Java一致
Groovy:
def createDir(Document obj) {
def dir = testing?DIR:AppUtil.getRootDir()+DIR
if (!(new File(dir+obj.dirName)).exists()) {
if (!(new File(dir+obj.dirName)).mkdir())
throw new Exception("无法创建目录"+dir+obj.dirName)
}
}
JavaScript:
function init() {
oRoleForm = Divo.app.role.RoleForm
Divo.subscribe(Divo.app.role.ROLE_MAINT, onRoleMainted, this)
createHTML()
createGridMeta()
createGrid()
}
(4)JavaScript中,不用分号作为语句结束符,与Groovy一致。
分享到:
相关推荐
总的来说,Java调用JavaScript代码的技术让开发者能够灵活地组合两种语言的优势,实现高效且可配置的业务逻辑,为软件开发提供了更大的灵活性。然而,需要注意的是,随着技术的发展,如WebAssembly的兴起,未来跨...
在IT行业中,Java和JavaScript是两种非常重要的编程语言,它们分别在服务器端和客户端领域有着广泛的应用。然而,有时候我们可能需要在Java程序中执行JavaScript代码,这通常是出于跨语言交互或者利用JavaScript的...
6. Nashorn引擎特性:Nashorn引擎是Java中的JavaScript运行时,提供了一种方式让Java应用程序执行JavaScript代码。它包括了ECMAScript 5.1的完整实现,还支持一些扩展特性。 7. JDK中的JavaScript支持:从内容中...
Java和JavaScript之间的DES加密解密是信息安全领域中的一个重要话题,主要涉及到数据的保护和通信的安全。DES(Data Encryption Standard)是一种古老的对称加密算法,尽管它在安全性上已不被视为最佳选择,但在某些...
总的来说,这个压缩包提供的可能是使用Rhino引擎高效读取和执行JavaScript的示例代码,通过分析和学习这些代码,开发者可以更好地理解和利用Rhino这一强大的工具,提升Java应用程序的动态性和灵活性。
使用 Java 开发 SonarQube JavaScript 检测规则 在 SonarQube 中使用 Java 开发检测规则是非常重要的,特别是在 JavaScript 项目中检测代码质量。SonarQube 提供了一个强大的平台,允许开发者使用 Java 语言开发...
Java作为一种跨平台的语言,在服务器端有着广泛的应用,但浏览器环境则更适合JavaScript。 - **开发效率提升**: Java提供了丰富的类库和支持,使得开发者能够快速地构建复杂的应用程序。通过将Java编译为JavaScript...
Java与Java Applet和JavaScript混编方法是指在网页开发中,通过灵活使用Java、Java Applet和JavaScript三种语言的优点,实现它们之间的互相补充,开发更完美的Web应用程序。 在Java与JavaScript混编中,可以使用...
这两种语言在不同的环境运行,Java主要在服务器端,而JavaScript则在客户端。在数据传输过程中,为了保证数据的安全,加密技术扮演了关键角色。本篇将深入探讨如何使用DES(Data Encryption Standard)算法在Java和...
【JSP, Java, Servlet, JavaScript 综合项目】 在这个综合项目中,我们将深入探讨四种核心技术:JavaServer Pages(JSP)、Java、Servlet以及JavaScript,它们都是构建动态Web应用程序的关键组件。这些技术协同工作...
在IT领域,Java和JavaScript是两种非常重要的编程语言,它们各自有着独特的特性和用途,但同时也经常被一起提及,因为它们在构建现代Web应用程序时常常相辅相成。"Java/JavaScript专家门诊"可能是一个讨论这两种...
Java和JavaScript作为两种不同的编程语言,它们各自在特定领域有着优势:Java以其强大的后端处理能力,而JavaScript则在前端展示和浏览器交互上表现出色。通过桥接技术,可以实现两者之间的通信,提升应用程序的功能...
Java编译成JavaScript技术探讨 Java编译成JavaScript技术是近年来web开发领域中的热点话题。随着Ajax技术的兴起,web应用中的JavaScript使用率越来越高,如何将Java代码编译成JavaScript代码以实现跨浏览器的互动...
需要注意的是,随着互联网技术的发展,当前主流的Web应用开发已经不依赖于Java Applet,而更多地使用JavaScript框架、HTML5、CSS3等技术。Java Applet由于其安全风险和兼容性问题,在现代浏览器中的支持已经越来越少...
通过上述方法,Java Applet 可以直接执行 JavaScript 代码,从而实现更灵活的功能扩展。 综上所述,通过灵活运用 Java、Java Applet 和 JavaScript 之间的交互机制,开发者可以创建出更加丰富、动态的 Web 应用程序...
Java以其面向对象的特性、强大的功能和跨平台能力在服务器端和企业级应用中占据主导地位,而JavaScript则以其轻量级、灵活和易于学习的特性在前端开发中不可或缺。了解它们的差异有助于选择合适的工具来解决问题。
在Web开发中,由于浏览器端不支持Java,而JavaScript则可以在客户端运行,因此,使用RSA在Java后端生成密钥对,并将公钥传递给JavaScript前端进行加密,再将加密后的数据发送回服务器,由Java后端使用私钥解密,是...
* 在Java中使用脚本语言JavaScript。 * * @author LeiWen@FansUnion.cn,http://FansUnion.cn, * http://blog.csdn.net/FansUnion * * QQ:240370818 参考资料:...
JavaScript和Java是两种在互联网开发中广泛使用的编程语言,但它们之间存在显著的差异。本文将深入探讨这两种语言的不同之处,以便对它们有更清晰的理解。 首先,从起源上讲,JavaScript是由Netscape公司的Brendan ...
这时,就需要Java和JavaScript Bridge来建立一个通道,让JavaScript可以调用Android的API。 Java和JavaScript Bridge的工作原理通常基于回调机制。JavaScript通过执行特定的函数或方法,触发一个事件,这个事件被...