Grails Controller Actions可能不会超载

Grails Controller Actions可能不会超载,第1张

概述我正在尝试使用重载方法在Grails 2.3.4中的控制器中附加 XML. 我在ReportController中有以下重载方法. String makePhotoXml(StringBuilder sb, Report r, String url, String desc) { sb.append("<photo>") sb.append(Utilities.makeEleme 我正在尝试使用重载方法在Grails 2.3.4中的控制器中附加 XML.

我在ReportController中有以下重载方法.

String makePhotoXml(StringBuilder sb,Report r,String url,String desc) {    sb.append("<photo>")    sb.append(UtilitIEs.makeElementcdata("url",url))    sb.append(UtilitIEs.makeElementcdata("caseID",r.caseID))    sb.append(UtilitIEs.makeElementcdata("type",r.type))    sb.append(UtilitIEs.makeElementcdata("date",r.dateCreated.format('MM/dd/yy')))    sb.append(UtilitIEs.makeElementcdata("address",r.address))    sb.append("<extra>extra</extra>")    sb.append(UtilitIEs.makeElementcdata("description",desc))    sb.append("</photo>")}String makePhotoXml(List<Report> reports) {    StringBuilder sb = new StringBuilder()    sb.append("<photos>")    sb.append("<Title>Photos</Title>")    for (Report r : reports) {        for (Photo photo : r.photos) {            makePhotoXml(sb,r,photo.url(),photo.description)        }        for (document doc : r.photodocuments) {            makePhotoXml(sb,doc.url(-1),doc.getDescription())        }    }    sb.append("</photos>")}

运行应用程序时,我收到此编译器错误:

| Error Compilation error: startup Failed:/Users/Anthony/GrailsApps/AppOrderWeb/grails-app/controllers/com/apporder/ReportController.groovy: 1360: Controller actions may not be overloaded.  The [makePhotoXml] action has been overloaded in [com.apporder.ReportController]. @ line 1360,column 5.       String makePhotoXml(StringBuilder sb,String desc) {

我认为Groovy和Grails支持方法重载.有关如何解决此问题并使此重载方法有效的任何想法?

@R_404_6120@ Groovy通常允许方法重载,但Grails禁止它用于控制器 *** 作的特定情况.如果您想在控制器中使用实用程序方法,则需要将它们设置为私有或受保护,因此Grails不会尝试将它们视为Web可见 *** 作.

或者,将辅助方法移动到服务中而不是将它们放在控制器中会更加Grails-y.

总结

以上是内存溢出为你收集整理的Grails Controller Actions可能不会超载全部内容,希望文章能够帮你解决Grails Controller Actions可能不会超载所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存