grails的文件上传,集合迭代,标签

grails框架刚用起来,感觉听蹩脚的!处处碰壁,但是用了一段时间,习惯啦,废话少说,步入正题!

grails没用明显DAO层,我们能看到的对对象的增删查改操作,实际上不是groovy语言对象的特有操作,而是在应用grails之后,框架利用AOP功能自动给对象添加的 !所以在你没有启动grails程序时,你直接掉对象的数据库操作是错误的!但是我们需要批量插入数据怎么办,一个一个写吗?不用!

可以自定义一个Controller,启动后操作:

 

class TestDataController {
  def create={
    try{
      createData();
      println("创建成功!!!!");
    }catch (Exception e){
          e.printStackTrace();
    }
     render("测试数据插入——————————————————————————————");
  }
  public static  void createData(){
    println "****************";
    for (int i = 0; i < 50; i++) {
      User user = new User();
      user.name = "user" + i;
      user.password="password"+i;
      user.age = i;
      user.birth = new Date();
      user.sex = true;
      List<Book> books = new ArrayList<Book>();
      for (int j = 0; j < 100; j++) {
        Book tmp = new Book();
        tmp.name = "book" + j + ":" + i;
        tmp.price = j * 100.32;
        books.add(tmp);
        if(j == 50)
          println "-----------"+tmp;
      }
      user.books = books;
      user.save(flush:true);
    }
  }
}

 

 这是我的TestDataController.groovy文件,就是插入测试数据的(注意数据插入是所有属性默认是不允许为空的)!

但是怎么能通过浏览器调用这个Controller呢?这时就要配置UrlMappings.groovy文件了

 

class UrlMappings {

  static mappings = {
    "/testData" {
      //这个与Controller中的TestDataController的前半部分对应,切忌这是约定,必须这样写
      controller: "testData";
      //对应TestDataController中的create操作
      action: "create";
    }
  }
}

 接下来就是访问啦:http://localhost:8080/项目名/testData

select标签和迭代标签的应用:

 

<g:each in="${list}">
    <ul>
    <li>姓名: ${it.name}</li>
    <li>性别: <g:formatBoolean boolean="${it.sex}" true="男" false="女"/></li>
    <li>年龄: ${it.age}</li>
    <li>生日:<g:formatDate date="${it.birth}" format="yyyy年MM月dd日"/></li>
    <li>密码: ${it.password}</li>
    </ul>
  </g:each>
  <hr/>
 <g:select from="${list}" id="userID"  name="userID" optionKey="id" optionValue="name" value="2"></g:select>

 一看便知${}引用当前上下文中变量。这个与JSTL中的用法相似;


<g:each in="${要迭代的集合}">

${it},代指每次循环的变量

<g:formatBoolean>和<g:formatDate>我就不再说了,很简单格式化文本的,

<g:select>上面输出对应的html文本代码是:

 

<select name="userID" id="userID" >
     <option value="1" >test1</option>
</select>

from:那个集合

id和name是html代码中的属性

optionKey:每个option的value

optionValue:每个option中要显示的文本值

value:默认哪个optionKey被选中?

 文件上传:

 

class FileUploadController {
    def upload={
//myFile对应表单中input type=“file”的name值
       def f = request.getFile("myFile");
//判断是否等到文件
       if(!f.empty){
//获得原始的文件名
            String fileName=f.getOriginalFilename();
//获得文件的大小(默认单位是B)和类型
            println(new Date().toString()+"--name:"+fileName+";size:"+(f.size/1024)+"kb;type:"+f.contentType);
//文件要保存在哪个目录
            String filePath="web-app/upload/";
//开始写入,比Java简单多了吧!
            f.transferTo(new File(filePath+fileName));
//render在这里与response.getWriter().println很相似
          render("上传成功!");
       }else {
          render("上传失败!");
       }
    }
}

 gsp文件内容

 

 <g:uploadForm action="upload" controller="fileUpload" >
       文件:<input type="file" name="myFile" id="myFile"/>
        <g:submitButton name="submit" value="开始上传"/>
 </g:uploadForm>

 对应的HTML代码:

 

 <form action="/grails1/fileUpload/upload" method="post" enctype="multipart/form-data" >

       文件:<input type="file" name="myFile" id="myFile"/>

        <input type="submit" name="submit" value="开始上传" id="submit" />

    </form>

 这个我就不用解释了,太简单了!

 

 

利用MATLAB 4f光学系统,在Python中进行弗劳恩霍夫衍射和傅里叶面滤波——用镜头模拟光学图像处理。.zip 1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 立即下载

相关推荐

利用MATLAB和Excel对逆流双管热交换器的热性能进行分析。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

Grails3.1.14 上传

gsp页面<!-- enctype可以去掉……g:uploadForm会映射成普通的带enctype的form--> <g:uploadForm name="upLoadForm" method="post" enctype="multipart/form-data" controller="websiteOperate" action="uploadFile"> <div class="u

Optimistic 417

利用MATLAB对5G NR波束成形技术的性能分析.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

图片上传form表单需要设置的属性

对话框中,操作留空,方法选择“post”,编码类型输入“multipart/form-data”,名称命名为“upload_form”,其中编码类型必须为“multipart/form-data”。点击确定,产生的代码如下: <body> <form action="" method="post" enctype="multipart/form-data" name="upload_form"></

诸葛苍穹 1万+

上市公司赫芬达尔指数、企业勒纳指数(1999-2025年)

上市公司赫芬达尔指数(HHI)和勒纳指数(LI)是衡量市场结构和市场势力(垄断力量)的两个重要指标 赫芬达尔指数(HHI)可衡量一个公司在市场中的相对份额或集中度,通过计算公司在市场中份额的平方和得出。数值越小,说明市场份额分布越分散,竞争程度越高;数值越大,说明市场集中度越高,少数企业占据较大份额,垄断程度越高 勒纳指数(LI)用于衡量企业的市场势力,即企业偏离完全竞争价格、制定高于边际成本的价格的能力,数值越接近1,表示企业市场势力越强,垄断程度越高 本文借鉴刘贯春等(2021)、孙茹峰和李楠博(2024)的思路和方法,分别测算上市公司赫芬达尔指数、勒纳指数: 赫芬达尔指数 = (公司营业收入/同行业同年营业收入合计)的平方和 企业勒纳指数 =(营业收入-营业成本-销售费用-管理费用)/营业收入 一、数据介绍 数据名称:上市公司赫芬达尔指数、企业勒纳指数 数据范围:上市公司 时间范围:1999-2025年 样本数量:85810条 数据来源:上市公司年报 更新时间:2026年11月 数据说明:内含原始数据、测算结果 二、数据指标 股票代码 股票简称 年份 省份 城市 区县 省份代码 城市代码 区县代码 行业代码 行业名称 赫芬达尔指数 勒纳指数 营业收入 营业成本 销售费用 管理费用 三、参考文献 [1]刘贯春,叶永卫,张军.社会保险缴费、企业流动性约束与稳就业——基于《社会保险法》实施的准自然实验[J].中国工业经济,2021,(05):152-169. [2]孙茹峰,李楠博.金融化对企业绿色转型意向的影响研究[J].管理学报,2024,21(11):1612-1620+1677. [3]张倩肖,段义学.数字赋能、产业链整合与全要素生产率[J].经济管理,2023,45(04):5-21. [4]伍兆祥,代吉林,

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

groovy gsp g标签

接触到了groovy开发,自然就接触到了gsp。在grails开发中,gsp作为Grails的视图技术,事实上, 不过是标准 HTML 加上一些提供动态内容的 Grails 标记而已。         gsp--Groovy Servers Pages ,它被设计成像ASP和JSP这样被使用者熟悉的技术,但更加灵活和直观。 GSP存在于Grails的grails-app/views目录中,

w_j_w2010的博客 1118

通信行业CentOS 7内核网络栈优化:高并发连接下UDP/TCP性能调优与系统资源管理

内容概要:本文聚焦于CentOS 7系统在通信行业高并发场景下的性能调优实践,重点围绕内核网络栈优化展开,涵盖UDP/TCP缓冲区调整、文件句柄与连接跟踪表扩容、TIME_WAIT状态复用、软中断分布优化及tuned工具的自动化调优。通过具体配置参数和实际案例(如VoIP软交换系统)深入解析各项调优措施的设计原理与实施效果,有效解决高CPS下丢包、连接失败等问题,并展望了向云化、eBPF等动态智能调优方向的发展趋势。; 适合人群:从事通信系统运维、网络开发或Linux系统性能优化的技术人员,具备一定操作系统和网络基础知识,工作经验1年以上的中初级工程师。; 使用场景及目标:①应用于软交换、媒体网关、信令网关等高并发通信设备的系统调优;②解决UDP丢包、conntrack表满、TCP连接队列溢出等典型性能瓶颈;③提升系统在小包高频、低时延要求场景下的稳定性和吞吐能力。; 阅读建议:建议结合实际生产环境或测试平台同步验证文中配置,重点关注参数背后的物理意义(如BDP、softirq、conntrack机制),并配合ss、conntrack、dmesg等命令进行调优前后对比分析,确保安全可控地实施变更。

Grails开源框架 - 使用指南

作者: Graeme Rocher, Marc Palmer 版本: 1.0 Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provid

1042

从Elasticsearch的jvm.options读懂JVM参数的生效核验、内存分账与诊断兜底代码包

拿到一台机器和一个 Java 服务,怎样确认 JVM 实际吃进去了哪些参数,怎样给堆和堆外分配内存,怎样把 GC 日志、堆转储、异常栈这些“事后取证”的参数配齐,以及怎样在 JDK 8 与 JDK 9+ 之间安全迁移。 讲解的抓手是 Elasticsearch(下文简称 ES)的 jvm.options。这份文件经过 ES 团队多年打磨,又被无数生产集群验证过,几乎每一行都对应一个踩过的坑,是学习 JVM 参数最好的“样板间”。

2024 《计算机网络》实验教学指导书.doc

2024 《计算机网络》实验教学指导书.doc

gsp 页面 html.dat,Gsp

Gsp接触到了groovy开发,自然就接触到了gsp。在grails开发中,gsp作为Grails的视图技术,事实上, 不过是标准 HTML 加上一些提供动态内容的 Grails 标记而已。gsp--Groovy Servers Pages ,它被设计成像ASP和JSP这样被使用者熟悉的技术,但更加灵活和直观。GSP存在于Grails的grails-app/views目录中,他们通常会自动渲染(通...

weixin_34009282的博客 585

不平衡电网下自抗扰顺序模型预测PWM整流器控制仿真模型(Simulink仿真实现)

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,提出了一套融合全局规划、动态避障与局部协同调整的综合路径规划方法。研究内容涵盖基于改进RRT算法与图论的全局路径规划、基于动态风险场和动态窗口法(DWA)的模型预测控制实现动态避障,以及基于分布式协同控制的多无人机局部路径协同策略。通过Matlab平台构建仿真环境,在多种典型城市交通场景下对所提方法进行了系统性验证,结果表明该方法在路径安全性、编队稳定性与任务效率方面表现优异。文章还深入探讨了算法的创新点与未来研究方向,为复杂城市环境下多无人机系统的自主协同提供了理论支撑与技术路径。; 适合人群:具备自动化、控制理论、计算机科学或相关领域基础知识,从事无人机系统、智能交通、路径规划、多智能体协同控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为城市空中交通系统中的多无人机安全、高效飞行提供可靠的路径规划解决方案;②支持在复杂、动态的城市场景中开展无人机自主导航、编队飞行与协同控制的技术研究与仿真验证。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法的具体实现细节、参数配置对性能的影响以及不同仿真场景下的实验设计,以深入理解各模块的集成逻辑与实际应用效果。

Gsp

Gsp 接触到了groovy开发,自然就接触到了gsp。在grails开发中,gsp作为Grails的视图技术,事实上, 不过是标准 HTML 加上一些提供动态内容的 Grails 标记而已。 gsp--Groovy Servers Pages ,它被设计成像ASP和JSP这样被使用者熟悉的技术,但更加灵活和直观。 GSP存在于Grails的grails-app/views...

weixin_30716141的博客 148

【选址和定容】模拟退火改进多目标粒子群算法在分布式电源选址和定容中的应用【IEEE69节点】(Matlab代码实现)

内容概要:本文研究了模拟退火改进多目标粒子群算法在分布式电源选址和定容中的应用,以IEEE69节点配电系统为算例进行仿真分析。通过融合模拟退火算法的强全局搜索能力与粒子群算法的高效局部收敛特性,构建了一种改进的多目标优化算法,用于解决分布式电源在配电网中的最优位置选择与容量配置问题。研究旨在实现多重优化目标,包括最小化网络有功损耗、提升节点电压质量、增强系统运行的经济性与稳定性。文中详细阐述了多目标优化模型的数学构建、算法的改进机制与实现流程,并基于Matlab平台完成了算法编程与仿真验证,结果表明所提方法在求解质量和收敛性能上均优于传统算法。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力,从事配电网规划、分布式能源系统优化、智能优化算法应用等相关领域的科研人员、工程师以及高校研究生。; 使用场景及目标:①解决高比例分布式电源接入背景下配电网的科学规划问题;②为新型电力系统中源网协调设计提供有效的优化工具;③为相关领域的科研工作提供可复现、可拓展的算法模型与仿真代码实例,支持进一步的算法对比与功能升级。; 阅读建议:建议读者结合提供的Matlab代码与IEEE69节点标准数据,动手复现实验结果,深入理解算法的参数设置、迭代过程与多目标折衷分析方法,并可根据实际研究需求修改目标函数或引入新的约束条件以适应不同的应用场景。

无刷直流电机BLDC无感+滑模观测器+转速电流双闭环PI控制(总共三个仿真模型)(Simulink仿真实现)

内容概要:本文档系统性地提供了无刷直流电机(BLDC)的高级控制策略仿真资源,聚焦于无位置传感器控制技术,重点实现了基于滑模观测器(SMO)的转子位置估算方法,并结合转速与电流双闭环PI控制结构,构建了完整的Simulink仿真模型体系。资源包含三个核心仿真模型:无感控制下的滑模观测器设计、双闭环PI控制器的参数整定与动态调节,以及系统整体的运行性能仿真分析。文档深入剖析了滑模观测器在反电动势提取与相位补偿中的关键技术,展示了其在不同工况下对电机启动、调速及负载扰动响应的鲁棒性表现,旨在帮助研究人员掌握BLDC在无传感器条件下的高精度控制实现路径,并为进一步引入模糊PID等先进控制策略提供对比基准与技术支撑。; 适合人群:具备电机控制理论基础、自动控制原理知识及Simulink建模经验,从事电气工程、自动化、电力电子或新能源驱动系统研究的科研人员、工程技术人员及高校研究生。; 使用场景及目标:①深入理解无刷直流电机无位置传感器控制的基本原理与实现流程;②掌握滑模观测器在转子位置与速度估算中的设计方法及其抗干扰特性;③学习并优化转速电流双闭环PI控制结构,提升系统动态响应性能与运行稳定性。; 阅读建议:建议结合Simulink模型进行同步仿真操作,重点关注滑模观测器的抖振抑制效果、系统启动过程的稳定性以及PI参数调节对动态性能的影响,同时可参照文档中提及的模糊PID等对比方案,拓展对先进控制算法的研究与实践应用。

上一篇: grails 常用命令
下一篇: grails分页标签
iteye_3157
博客等级 码龄8年 2粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值