我直接在A类中的main实例化A类后调用B类的静态方法可以,如果是在某gsp页面实例化A类,在调用B类的静态方法就出错,我在B类中的那个静态方法里使用了反射,以下是代码
SysContext.groovy
Groovy代码
package cn.aloxc.stock.context
import cn.aloxc.stock.*;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class SysContext {
public static void main(def args)
{
println getPrpt("BOYI_PERIOD");
}
public static getPrpt(def a)
{
Class clazz = Class.forName("cn.aloxc.stock.context.SysContext");
def field = clazz.getField("${a.toUpperCase()}");
def property = field.get(clazz);
return property;
}
public static BOYI_PERIOD = ["day","week","month","season"];
}
XlsExportService .groovy
Groovy代码
package cn.aloxc.stock.tools;
import cn.aloxc.stock.*;
import cn.aloxc.stock.context.SysContext;
class XlsExportService {
public static void main(def args)
{
def domains = ["cn.aloxc.stock.Zcggstat","cn.aloxc.stock.Boyistat","cn.aloxc.stock.Fundstat"]
me.xlsExportData(null,null,domains)
}
def xlsExportData(out, request, domains){
domains.eachWithIndex{domain ,dmnIdx ->
def smpDmn = domain.replaceAll("${SysContext.DOMAIN_ROOT}.","").toLowerCase(); //eg:zcggstat
SysContext.getPrpt("${BOYI_PERIOD}").eachWithIndex{ aTp , aIdx ->
//
}
}
}
xx.gsp
<%@ page import="cn.aloxc.stock.tools.XlsExportService" %>
<%
XlsExportService xlsExportService = new XlsExportService();
//response.setHeader("Content-disposition", "attachment; filename=boyistat.xls")
//response.setContentType("application/vnd.ms-excel")
def domains = [];
grailsApplication.domainClasses.each{
domains << it.fullName;
}
xlsExportService.xlsExportData(response.outputStream, request,domains);
%>
省去了部分代码,不知道大家有碰到这样的问题否
分享到:
相关推荐
- **元编程**:Groovy允许在运行时修改类和对象的行为,这使得它非常适合构建框架和库,比如Grails web框架就是基于Groovy构建的。 在4.0.1这个版本中,可能包含了对先前版本的一些改进和bug修复,以提升稳定性和...
在Groovy 2.2.2这个版本中,可能包含的改进和修复包括性能提升、新的API、bug修复以及对Java平台的更好兼容性。具体的变更日志可以在解压后的groovy-2.2.2文件夹中的文档中找到,通常包括README和CHANGES文件,它们...
- **Web开发**:Grails是一个基于Groovy的全栈框架,用于快速开发企业级Web应用。 - **领域特定语言(DSL)**:Groovy的简洁语法使其成为创建DSL的理想选择,如构建配置文件、测试框架等。 6. **Groovy与其他技术...
3. **Grails框架**:基于Groovy的Web开发框架,它简化了Spring Boot和Hibernate等技术的使用,提高了开发效率。 4. **领域特定语言(DSL)**:Groovy的简洁语法使得构建DSL变得简单,例如配置文件、测试框架或数据库...
- 开源项目:研究开源项目,如Grails(Groovy Web框架)和Griffon(Groovy桌面应用框架),可以加深对Groovy的理解。 总的来说,`groovy-src-1.8.6`对于Java开发者来说,是一个宝贵的资源,它不仅可以帮助理解...
Grails是一个基于Groovy语言的开源Web应用框架,它构建于Java平台之上,利用了Spring框架、Hibernate持久化和Groovy的强大特性。Grails遵循Model-View-Controller(MVC)架构模式,致力于简化开发过程,提高开发效率...
Grails是基于Groovy构建的一个开源Web应用框架,它简化了开发流程,提供了一种快速开发Java应用的方式。在升级或迁移Grails版本时,保持特定Groovy版本的备份是为了确保代码在新环境中能够正确运行,因为不同的...
Gretty是一个用于Grails、Groovy和Java Web应用的Gradle插件,它允许开发者在开发过程中快速启动和管理嵌入式Servlet容器,如Jetty或Tomcat。这个插件简化了本地开发流程,因为你可以直接通过Gradle任务运行和调试...
Grails是基于Groovy语言的开源Web应用框架,它简化了开发过程,提供了一种更加简洁、高效的编程模型。Maven则是一个强大的项目管理和集成工具,它通过使用Archetype插件来创建项目模板,使得开发者可以快速启动新...
4. **Groovy/Grails支持**:Groovy是Spring生态系统中的动态语言,Grails是一个基于Groovy的Web开发框架。STS提供了良好的Groovy和Grails开发环境。 5. **Git集成**:内置Git版本控制系统,方便团队协作和代码管理...
这款Web应用程序采用Grails、Groovy和Java技术构建,提供了多用户支持,允许团队成员共享和协作管理敏感的密码信息,同时保持数据的安全性。 Grails是一种基于Java平台的敏捷开发框架,它利用了Groovy语言的简洁性...
3. Groovy和Grails支持:对于使用Groovy语言和Grails框架的开发者,STS提供了很好的集成。 4. 支持Cloud Foundry和Pivotal Cloud Foundry:用于部署和管理云端Spring应用。 5. Spring Roo:快速原型工具,可以自动...
2. **Grails**:一个基于Groovy的Web应用框架,它包含了内置的测试支持,允许开发者快速地创建和运行单元测试、集成测试和功能测试。 3. **Gradle**:一种流行的构建自动化工具,使用Groovy作为其DSL(领域特定语言...
STS是一种专门针对Java开发者的集成开发环境(IDE),尤其侧重于Spring框架、Grails框架及其它Spring项目相关的应用开发。下面将详细介绍这个更新站点所代表的知识点。 ### SpringSource Tool Suite (STS) #### 1. ...
这个库绑定了 Java 对象,它知道Hibernate (GORM) 实体 包含依赖 Gradle gex.serling:binding-util:0.1.16 用法 鉴于: 领域类 package gex.serling.binding.domain import grails.persistence.Entity @Entity ...