Category: 计算机技术

使用Grails布局功能

Grails使用的是SiteMesh。这是最早在WebWork下使用的布局引擎。但是随着Struts的普及,Tiles的使用远远超过了SiteMesh。不过SiteMesh实现的布局很简介优雅,不需要编写很多劳什子的布局xml文件。 现在SiteMesh集成进Grails,使用起来也更简单了。下面的截图,就是使用SiteMesh的页面。 日志引用Grails实现复杂的数据录入    发送文章为PDF   

星期日 七月 10th, 2011 in 计算机技术 | No Comments »

Grails开发环境下如何生成模拟测试数据

开发环境下经常需要一些模拟测试数据。比如数据库中要有一些初始的实体。Grails提供了很好的办法。可在BootStrap.groovy中: 编写只针对开发环境的初始化代码: import bookproto.Book class BootStrap {     def init = { servletContext ->         environments{             development{                 def book=new Book(name:"中国史学史")                 book.save()                 println """book id: ${book.id}"""             }         }     }     def destroy = {     } } 以上示例是在Grails的GORM中使用uuid基础上做的处理。 日志引用Grails实现复杂的数据录入Grails实现备选相关图书Grails创建和更新实体使用相同的视图    发送文章为PDF   

星期日 七月 10th, 2011 in 计算机技术 | No Comments »

Grails的GORM中使用uuid

开发中,有很多情况需要使用不连续的随机生成的唯一标识。好处是: 可以隐藏商业细节,比如生成订单,自增列会暴露商业秘密 另外,自增列往往依赖数据库生成,对集群和分布式部署应用有影响,还有就是导入数据时需要对数据库自增列做设置 因此,使用uuid做实体唯一标识的地方很常见。在Grails实现实体自身多对多的变通方案基础上,把默认的native生成主键的方式改为使用uuid: class Book {     static constraints = {         bookRelation(nullable:true)     }         static mapping = {         id generator:’uuid.hex’, params:[separator:'-']    }        String id     String name     BookRelation bookRelation } 日志引用Grails实现复杂的数据录入Grails开发环境下如何生成模拟测试数据    发送文章为PDF   

星期五 七月 8th, 2011 in 计算机技术 | No Comments »

Grails实现实体自身多对多的变通方案

Grails中的GORM,是自动的对象关系映射api。封装了Hibernate,功能应该是Hibernate的子集,不过借助强大的groovy语言使用起来更方便。 项目中需要实现实体自身多对多的关系。图书和相关图书。 一本书,有0到多个相关图书。一本书,还可能被0到多个图书相关。这里要注意啦,这两个集合不是重合的。即,a图书的相关图书有b,但b不一定相关图书有a。这也好比,你的朋友中,有人未必拿你当朋友,呵呵。 日志引用Grails实现备选相关图书Grails的GORM中使用uuid    发送文章为PDF   

星期五 七月 8th, 2011 in 计算机技术 | No Comments »

Grails从1.4m1版本回退到1.3.7

回退的原因是,在mac环境下,1.4m1版本,修改controller后,系统不能自动的reload。用过grails的人应该知道,重启一次grails是个比较漫长的过程。讨论这个问题的帖子可见: http://grails.1312388.n4.nabble.com/1-4-M1-Controller-reloading-seems-to-be-broken-td3556582.html 另外,bug链接: http://jira.grails.org/browse/GRAILS-7594 虽然报告的是win7下的问题,但是应该是类似的。虽然已经fixed了,但是是尚未发布build版本的2.0-M1。 日志引用测试Tomcat对断点续传的支持使用Grails布局功能    发送文章为PDF   

星期五 七月 8th, 2011 in 计算机技术 | 2 Comments »

JQuery编写简单的自定义事件触发

javascript开发中也会用到观察者模式。比如当数据模型改变后,会触发事件。订阅该事件的子视图都将会得到事件,并触发它们调用代码刷新自己的内容。 比如下面要实现的一个简单例子,一上来是这样的: 当修改文本框中的文字并点击保存后:    发送文章为PDF   

星期三 七月 6th, 2011 in 计算机技术 | No Comments »

列出当前设备的网卡以及Socket绑定特定网卡

这里是用Java写的示例。如何知道当前的设备有几个网卡: Enumeration<NetworkInterface> enumeration= NetworkInterface.getNetworkInterfaces(); while(enumeration.hasMoreElements()){      NetworkInterface networkInterface=enumeration.nextElement();      System.out.println(networkInterface); }   在我本机上显示: name:en1 (en1) index: 5 addresses: /192.168.0.172; /fe80:0:0:0:7aca:39ff:feb5:a315%5; name:lo0 (lo0) index: 1 addresses: /127.0.0.1; /fe80:0:0:0:0:0:0:1%1; /0:0:0:0:0:0:0:1;      发送文章为PDF   

星期三 七月 6th, 2011 in 计算机技术 | No Comments »

Grails使用JQuery实现Ajax方式的自动完成

在Grails使用JQuery UI实现最简单自动完成中实现了简单的自动完成。但是不具实战意义。因为一般自动完成都是通过ajax的方式在服务器端自动获取的。 这里实现一个简单的通过Ajax实现的示例。首先,在服务器端创建一个假的返回结果页面。url为: http://your_server:port/your_app/b.txt 正式使用的时候,这个url可以是动态返回结果的,比如这样: http://your_server:port/your_app/b.gsp?keyword=a 返回的结果格式为json,这里把Grails使用JQuery UI实现最简单自动完成中的数组直接拿过来即可:    发送文章为PDF   

星期二 七月 5th, 2011 in 计算机技术 | 1 Comment »

Grails使用JQuery UI实现最简单自动完成

Grails 1.4已经默认集成JQuery了。加入很方便,在gsp页面中: <html>    <head>      <r:require module="jquery"/>       <r:layoutResources/>    </head>    <body>    </body> </html> 通过浏览器查看该文件,可以确定使用的jquery的哪个版本: <html>    <head>            <script src="/AjaxDemos/static/plugins/jquery-1.6.1.1/js/jquery/jquery-1.6.1.min.js" type="text/javascript" ></script>      </head>    <body>    </body> </html> 日志引用Grails使用JQuery实现Ajax方式的自动完成    发送文章为PDF   

星期二 七月 5th, 2011 in 计算机技术 | 1 Comment »

编写最简单的界面切换应用

以下是在iOS中最简单的界面切换示例。使用了多个Controller,并演示Controller之间在切换界面时的代码处理。 实现的应用界面: 首先,创建一个window-based application,即:    发送文章为PDF   

星期二 六月 7th, 2011 in 计算机技术 | 2 Comments »