`
lijunaccp
  • 浏览: 160637 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
利用Ant生成客户端调用WebService,开发中比较常用 准备条件: 1. 创建工程xfire_client 2. 导入Xfire的所有JAR包,把lib外的xfire-all-1.2.6.jar加到lib中 步聚如下: 1. build.xml <?xml version="1.0" encoding="UTF-8"?> <project name="WebService" basedir="." default="gen-webservice"> &l ...
以下的WEB工程虽然在实际应用中没有实际作用,但能很好的说明webservice的应用原理: 准备条件: 1. 创建一个工程Xfire 2. 导入Xfire的jar包,可到http://xfire.codehaus.org下载 步聚: 1. 写接口:Calculator.java package com.test.service; public interface Calculator { public int add(int a,int b); public int subtract(int a,int b); public int multiply(int a, ...
1.需要导入struts2-spring-plugin-2.1.8.1.jar包 这个包是Struts与spring整合的必须的 3.看下asm.jar文件有没有重复的,有的话保留asm.jar,删除另外一个。 4.web.xml中找到如下并改正,Struts2的核心类是下面这个。 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter ...
最权威的资料也就是官网了,如果英文好的话可访问下如下URL http://www.grails.org/GORM+-+Collection+Types 其实在grails中配置很简单 在一的一方需要增加SortedSet static hasMany=[slms:LtSlm] SortedSet slms 在多的一方需要实现Comparable class LtSlm implements Comparable { ... int compareTo(obj) { slmId.compareTo(obj.slmId) } }
//获得表格中的存储 var slmStore=sla_form_slaSlmGrid.getStore() //获得存储中的所有记录,当然有可以获得指定记录 var records=slmStore.getRange(0,slmStore.getTotalCount()) var slmIds=""; //遍历所有记录 for(var i=0;i<records.length;i++){ var record=records[i]; if(i>0){ slmIds=slmIds+"-" } ...
//获得表格中被选中的记录条数 var records = sla_addslm_grid.getSelectionModel().getSelections(); //遍历记录数 for(var i=0;i<records.length;i++){ //取得每条记录的字段值 var slmId=records[i].get("slmId"); var slmTitle=records[i].get("slmTitle"); var slmAppObj=records[i].get("slmAp ...
近来遇到在ExtJS中表单提交时,像Ext.form.ComboBox组件不经过处理值是发送不到后台的,有一种补救的方法是把ComboBox中的name属性去掉,换成hiddenValue,我试过,可以传到后台,但有时会也会有BUG,如下方法,还是比较保险的。 var test=comboboxName.getValue(); 用ComboBox组件变量名.getValue()。然后放到URL中传到后台。 但有时传到后台会出现乱码。 可用如下方法解决。 var url=encodeURI(url); encodeURI是JS中的方法,用来处理乱码问题。
产品部署检查清单 1.确认grails-app/conf/DataSource.groovy中的数据库连接。 要是待部署应用服务器可以通过JNDI提供数据库连接,你可以把用户名,口令和URL各变量换成一个jndiName变量: production{ dataSource{ jndiName="java:comp/env/jdbc/myDataSource" } } 2.检查grails-app/conf/BootStap.groovy中任何与产品有关的设置。 3.在grails-app/conf/Config.groovy中有一个enviro ...
在grails-app/conf/UrlMapping.groovy中可以改变映射 class UrlMappings { static mappings = { "/$controller/$action?/$id?"{ constraints { // apply constraints here } } "/"(controller:'race',action:'list') "500"(view:'/error') } }

grails插件

1.安装插件 命令行输入grails install-plugin 插件名 插件被下载到了你的主目录下的.grails目录。下一次在其他项目中安装searchable插件时,Grails会检查是否存在最新版本,若是没有,Grails就从.grails缓存中安装,而不是从互联网。 2.插件的内容可以在.grails/1.2.0/projects/工程名/plugins中找到
从与单个控制器打交道更进一步,把安全应用到所有控制器。要完成这一点,我们需要创建过滤器。 1.创建过器滤器 命令行输入grails create-filters Admin 2.会在grails-app/conf下生成AdminFilters.groovy 这个例子是把all过滤器更名为adminOnly,任何可能更新记录的调用都被限制为登录的管理员才能操作。 class AdminFilters { def filters = { adminOnly(controller:'*', action:'(create|edit|update|delete|save) ...
对于UserController进行控制,只允许管理员创建新用户 利用beforeInterceptor 如下: class UserController { def beforeInterceptor=[action:this.&auth,except:['login','logout','authenticate']] def auth(){ if(!session.user){ redirect(cotroller:'user',action:'login') return false } if(!session.user ...
大多数公共网站都在首部的右上角有一个不醒目的登录链接。下面是创建这个链接的方法: 1.命令行输入grails create-tag-lib Login 2.会在grails-app/taglib目录下生成LoginTagLib.groovy 编辑这个类 package racetrack class LoginTagLib { def loginControl={ if(request.getSession(false)&&session.user){ out<<"Hello ${session.user.login}" ...
编解码器(Codec)(编码器-解码器的缩写)是转换字符串的一种方法。Grails提供了大量便捷的编解码器,而且已经元编程到了所有字符串实例上。 例如: "<p>Hello</p>".encodeAsHTML()返回&lt;p&gt;Hello&lt;/p&gt; "You&Me".encodeAsURL()返回You+%26+Me "ABC123".encodeAsBase64()返回QUJDMTlz相应的还有decodeAsHTML()、decodeAsURL()、 ...
要想真正得到grails的内部工作零件,输入grails install-templates。这个命令会告诉grails为所有视图,控制器,领域类,标签类等能够定制的组件创建模板代码。检查src/templates,你可以了解所有这些文件的样板代码和细节。 可以对模板中的领域类进行修改: src/templates/artifacts/DomainClass.groovy @artifact.package@class @artifact.name@ { static constraints = { } //所有的领域类都产生toString()方法 Str ...
Global site tag (gtag.js) - Google Analytics