`
xiaguangme
  • 浏览: 73485 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

grails的controller和action那点事 含groovy远程调试 请求contriller中的action让其返回xml 出现404问题两个问题

 
阅读更多

本文同步在我独立博客

http://www.simonme.org/?p=169

这里会有最新的更新,

 

grails的controller和action那点事

最近由于项目需要,用到了grails,这玩意确实好用,生产率高有类型python的速度与简洁。仅第一印象,用的还不深入,说的不对请轻拍。

遇到的几个问题:

1. groovy远程调试

玩Java的应该都知道在eclipse中有个java remote debug的功能,可以调试java拉起的程序,含jar,含web。

话说业界某公司做IDE,拖拽图元出来的代码,都能对图元进行远程调试,虽然那功能做的不是很漂亮,但也不错。

不多了,言归正传。

一个语言如果不能远程调试,那多痛苦啊,尤其是用在web后端的语言。因为一般上点规模的不是玩具的系统都会涉及到很多其他模块,在本机搭环境,会痛苦的一沓。何况很多系统的模块只支持Linux系统

找了好久未能解决。

stackoverflow有一哥们在问,但是也没具体结果

貌似结论就是不支持

How to debug Groovy code via the remote Java application debugging in Eclipse

后来,后来,终于在群里,—飞/aiq警 这个哥们告诉我上IntelliJ IDEA 这个IDE

我带着半信半疑的态度用了把,果然行。

再次谢谢 —飞/aiq警 这个哥们。

说下方法(我这边打出来war是放在tomcat容器中的)

1. 修改tomcat的启动脚本增加dtsocket配置已经打开远程debug的参数

2. 重启tomcat 确认8333端口已经监听

3.  配置IntelliJ, 与eclipse的远程调试类似,大同小异,只是菜单在地方不一样,快捷键不一样

我新建了一个远程debug配置

如下图1

然后启动这个debug 就可以连接到远程的server上了

然后run debug 刚才的那个远程debug就可以了

试下断点,果然行

 

2. 关于请求contriller中的action让其返回xml 出现404问题

在很多场景下,比如做api的需求,webservice的需求,都需要返回xml或者json格式的数据。

但是我按官网的文档区做,怎么做怎么就是404.

说我那个action对应的view不在,汗,我把那个view放上去,他就显示view中的内容,也不显示action中组装的xml的内容。

没招,试了很久,翻阅若干文档,国内的,国外的,E文不够好,看的不是很明白。

终于,终于,发现一个哥们说的,试了下,果然ok,

请猛戳这里REST Service XML Output in Grails via Content Negotiation

关键点在这里:

if you call http://localhost:8080/myapp/blah/list.xml or http://localhost:8080/myapp/blah/list?format=xml, you will get an XML result

其实,看到这里,这个问题,也不复杂。但是我为什么会被绕进去呢,嗯,(⊙_⊙),人品问题?好吧。

我解释下,这玩意按官网的说法,你要想响应回xml格式的内容,只需要

 

就可以了。

但是我的为什么出问题呢

原因是我测试的时候测试页面用的是post请求(当然我已经在urlMappings中配置上post对应的action

“/commonFileShare/preBatchDownload”(controller:”commonFileShare”) {
action = [POST:'preBatchDownload', GET:'preBatchDownload']
}

)

如果用get请求的话就是ok

后来我post的时候

http://192.168.1.148:8080/xxx/commonFileShare/preBatchDownload?format=xml

也是就说你用post方式请求的时候,后面加?format=xml

就可以啦。

–EOF–

 

分享到:
评论

相关推荐

    Groovy和Grails配置方法

    ### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...

    eclipse插件grails(groovy)

    Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...

    Grails&Groovy学习资料

    Grails和Groovy是两个密切相关的技术,它们在IT领域,尤其是Web开发中扮演着重要角色。Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,提供了丰富的功能,而Groovy则是一种面向Java平台的动态编程...

    Groovy&Grails准备,收集的Groovy与Grails的书籍

    Groovy和Grails是两个密切相关的开源技术,主要用于构建现代、高效的Java平台应用程序。Groovy是一种动态、灵活的编程语言,它与Java高度兼容,但语法更为简洁,提供了更多的灵活性。而Grails则是一个基于Groovy的...

    Grails+groovy 完整参考手册.7z

    - **书籍**:《Groovy编程:极简之道》和《Grails in Action》等书籍深入浅出地介绍了这两个技术。 通过阅读《Grails+groovy 完整参考手册.docx》,你可以更深入地了解这两个技术,包括它们的原理、最佳实践以及...

    Groovy.in.Action.2nd.Edition.pdf

    6. Groovy的使用场景:书中详细介绍了Groovy在多个领域的应用,包括并行和函数式编程、对象迭代方法、集合和映射增强、多线程和进程控制、文件和I/O流处理、数据库操作(SQL和NoSQL)等。 7. Web开发、测试、GUI...

    Groovy_in_Action Groovy经典入门 使用Grails快速开发Web应用

    Groovy_in_Action.pdf Groovy经典入门.pdf 使用Grails快速开发Web应用.pdf 在Eclipse里使用Grails类创建工具.pdf Programming Groovy. Dynamic Productivity for the Java Developer.pdf等一系列groovy资源

    Groovy and Grails Recipes.pdf

    根据提供的文件信息,我们可以从《Groovy and Grails Recipes》一书中提炼出多个与Groovy语言及Grails框架相关的知识点。下面将详细阐述这些知识点。 ### Groovy编程语言 **1. Groovy简介** - **定义**:Groovy是...

    grails login

    Grails的环境配置通常包括设置GRAILS_HOME路径以及将其添加到系统的PATH变量中。 **2. 创建新项目** 使用Grails命令行工具创建一个新的Grails应用,例如`grails create-app loginDemo`。这将在指定目录下生成一个...

    grails in action 2009

    《Grails in Action 2009》是针对Groovy和Grails框架的一本详尽教程,适合希望深入了解这两种技术的开发者。Groovy是一种简洁、动态的Java平台上的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,它以简化...

    Groovy轻松入门—Grails实战基础篇

    Groovy是一种基于Java平台的动态、灵活...综上所述,“Groovy轻松入门—Grails实战基础篇”将带你走进Groovy和Grails的世界,通过深入学习这些知识点,你可以快速掌握这个强大的开发工具,从而高效地构建现代Web应用。

    groovy grails简介

    Groovy和Grails是两个密切相关的开源技术,主要用于构建现代Web应用程序。Groovy是一种动态、类型安全的编程语言,设计用于Java虚拟机(JVM)上运行,它简化了Java的语法并增加了灵活性。而Grails则是一个基于Groovy...

    Groovy学习资料(包括Groovy in action 的中英文以及API)

    书中还涵盖了Groovy对XML和JSON的支持,使得数据交换和解析更加便捷。 压缩包中的"API"部分可能包含Groovy的标准库文档,这对于开发者来说是非常宝贵的资源。Groovy的API包含了各种内置类、方法和函数,覆盖了I/O、...

    Groovy in action

    Groovy in Action is a comprehensive guide to Groovy programming, introducing Java developers to the new dynamic features that Groovy provides. To bring you Groovy in Action, Manning again went to the...

Global site tag (gtag.js) - Google Analytics