Grails…单击按钮即可发送/保存表数据

Grails…单击按钮即可发送/保存表数据,grails,Grails,我有一个Grails项目,需要发送/保存表数据。我有一个带有以下代码的控制器(没有视图) class JsonController { def getCompany = { for (String s in request.getHeaderNames()) { println request.getHeader(s) } println Company.list() render Company.list() as XML } def ge

我有一个Grails项目,需要发送/保存表数据。我有一个带有以下代码的控制器(没有视图)

class JsonController {

def getCompany = {
    for (String s in request.getHeaderNames()) {

        println request.getHeader(s)
    }
    println Company.list()
    render Company.list() as XML
}

def getEmployees = {
    for (String s in request.getHeaderNames()) {

        println request.getHeader(s)
    }
    render Employees.list() as XML
}

def getManagers = {
    for (String s in request.getHeaderNames()) {

        println request.getHeader(s)
    }
    render Managers.list() as XML
}
}
现在,我需要在单击链接时调用/运行这些函数,并通过电子邮件发送输出或保存到文件夹。我该怎么做


谢谢

注意:以下代码需要

我会将您的
JsonController
移动到一个服务,我将其重命名为
XMLService
,因为这就是您要返回的内容。然后,将
XMLService
注入您想要使用它的任何人工制品中,例如另一个服务或控制器

import grails.converters.XML;

class XMLService {

  def getCompanies = {
    return Company.list() as XML
  }

  def getEmployees = {
    return Employees.list() as XML
  }

  def getManagers = {
    return Managers.list() as XML
  }
}
然后,在控制器或服务中。此示例使用一个服务:

  class MyMailingService {  

    def mailService  //<-- included from the Mail plugin
    def xmlService

    void sendEmployeeList(){
      mailService.sendMail {
        to "fred@g2one.com","ginger@g2one.com"
        subject "Hello to mutliple recipients"
        body xmlService.getEmployees()
      }
    }

  }
类MyMailingService{

def mailService/注意到您已经找到了电子邮件文本文件的答案-这是如何存储到XML文件的 其中rowid将是每个xml行的定义

  class MyStorageService {  

    def xmlService

    void storeEmployeeList(){
      //It was a little unclear how you wanted to store the file, so be careful because this this does not include checks you would want to implement in production (e.g. checks for existing files, possible runtime exceptions, etc).
      def f= new File('employees.txt') //see http://docs.codehaus.org/display/GROOVY/JN2015-Files
      f << xmlService.getEmployees()
    }

  }
def file=""${System.properties['catalina.base']}/file.xml" 
try {
          new File(file).withWriter { writer ->

          def xml = new MarkupBuilder( writer )
          def Users = Registeration.list()
          xml.mkp.xmlDeclaration(version: "1.0", encoding: "utf-8")
          xml.rowid {
            Employees.each { employee ->
               xml.registeration(id: employee.id) {
                                   username(employee.username)
                                   //somethingelse(employee.somethingelse)
              }
               }
           }
             }

      } catch (Exception e) {
          result=e.printStackTrace()
      }
      if (result!=null) { 
           result="all done stored in "+file
      }else{
          result="Something has gone wrong with "+file
      }