小编Fab*_*ier的帖子

如何强制grails下载csv文件?

在我的gsp视图中,我有这个代码:

<g:each in="${fileResourceInstanceList}" status="i" var="fileResourceInstance">

<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
<td>${fileResourceInstance.decodeURL()}</td>

<td><a href="${createLinkTo( dir:"/upload_data/datasets/ds"+signalDataInstance.datasetID , file: fileResourceInstance.decodeURL(), absolute:true )}" target="_new">view</a></td>

<td><g:link action="deleteFile" id="${fileResourceInstance.replace('.','###')}" params="[rs:signalDataInstance.datasetID]" onclick="return confirm('Are you sure?');"> delete </g:link></td>
</tr>
</g:each>
Run Code Online (Sandbox Code Playgroud)

我想下载我的csv文件,而不是在我的浏览器中读取我的csv文件!
如何强制下载?

这是我的控制器中的代码部分:

    def f = new File( "${linkDir}".toString() )
    if( f.exists() ){
        f.eachFile(){ file->
        if( !file.isDirectory() )
            fileResourceInstanceList.add( file.name )
        }
    }
Run Code Online (Sandbox Code Playgroud)

在我的代码中添加此部分以强行下载?:

response.setHeader("Content-disposition", "attachment; filename=" + file.name + ".csv");
render(contentType: "text/csv", text: file.name.toString());
Run Code Online (Sandbox Code Playgroud)

grails groovy grails-controller

13
推荐指数
1
解决办法
9204
查看次数

如何使用grails jasper插件添加到JasperReports 3.7.2中的表组件?

我想使用grails jasper插件添加到JasperReports 3.7.2中的新表组件.我发现这个新组件对生成表很有用.

我已经定义了Table数据集1和一些字段(例如:$ F {name}),问题,我的所有字段值都是null.我还定义了字段(没有附加表),我得到了值.

这是我的表格代码:

<subDataset name="Table Dataset 1">
    <field name="name" class="java.lang.String"/>
    <field name="signal" class="java.lang.Double"/>
    ...
</subDataset>

<componentElement>
<reportElement key="table" style="table" x="0" y="0" width="802" height="50"/>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Table Dataset 1">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression>
</datasetRun>
<jr:column width="90">
<jr:columnHeader style="table_CH" height="30" rowSpan="1">
<staticText>
<reportElement x="0" y="0" width="90" height="30"/>
<textElement/>
<text><![CDATA[Name]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell style="table_TD" height="20" rowSpan="1">
<textField>
<reportElement x="0" y="0" width="90" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
    ...
Run Code Online (Sandbox Code Playgroud)

我想,我的问题是由于这部分(我正在使用JREmptyDataSource):

<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression>
Run Code Online (Sandbox Code Playgroud)

但是如何才能获得<MODEL_DATA>Table组件?
(例如:chain(controller:'jasper',action:'index',model:[data:<MODEL_DATA>],params:params))

grails jasper-reports ireport grails-plugin

6
推荐指数
1
解决办法
3万
查看次数

如何使用java或groovy计算目录上的md5校验和?

我希望使用java或groovy来获取完整目录的md5校验和.

我必须将源目录,目标,校验和源和目标以及删除源目录后的目录复制.

我发现这个文件的脚本,但如何与目录做同样的事情?

import java.security.MessageDigest

def generateMD5(final file) {
    MessageDigest digest = MessageDigest.getInstance("MD5")
    file.withInputStream(){ is ->
        byte[] buffer = new byte[8192]
        int read = 0
        while( (read = is.read(buffer)) > 0) {
            digest.update(buffer, 0, read);
        }
    }
    byte[] md5sum = digest.digest()
    BigInteger bigInt = new BigInteger(1, md5sum)

    return bigInt.toString(16).padLeft(32, '0')
}
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

java directory groovy checksum md5

5
推荐指数
2
解决办法
2万
查看次数

使用带有Intellij IDEA的Grails生产模式

我尝试在生产模式下运行grails应用程序,我在Grails主页中看到了教程,但我没有可选择的"配置类型".

我有一个Grails Script参数字段,尝试使用"生产单词",但它什么都没改变; 始终处于开发模式.用IntelliJ IDEA强制"生产模式"的想法?

谢谢

注意:使用IDEA 8.1.3.

grails intellij-idea

4
推荐指数
1
解决办法
2456
查看次数

如何使用YAHOO.util.Connect.asyncRequest并返回结果?

我正在使用YAHOO.util.Connect.asyncRequest从数据库中获取数据,这里是代码:

function getCountArticle(contentCurValue) {

  var handleSuccess = function (res) {
      var countPubmed = YAHOO.lang.JSON.parse(res.responseText);
      var contentCountPubmed = countPubmed.totalArticleRecords;
      alert(contentCountPubmed); //return 15 for example
  };

  var handleFailure = function () {
      alert("Error connecting data : Bad pubmed query");
  };

  var callback =
  {
    success:handleSuccess,
    failure:handleFailure,
    timeout: 5000
  };

  var sURL = 'qct-list-article.html?term=' + contentCurValue + '&retstart=0' + '&retmax=1';

  var request = YAHOO.util.Connect.asyncRequest('GET',sURL,callback);

}
Run Code Online (Sandbox Code Playgroud)

我希望这个函数返回:"contentCurValue"(例如:15),但是当我尝试使用这段代码时,我得到"undefined":

var test = getCountArticle();
alert(test); // return undefined, should return 15
Run Code Online (Sandbox Code Playgroud)

我的错误可能是由于异步查询,但我怎么强制"var test = getCountArticle();" 等待结果

javascript yui yui-datatable

4
推荐指数
1
解决办法
1万
查看次数

保护Spring Security UI有哪些选择?

我正在使用默认的securityConfigType,它被设置为使用注释.
我有哪些选择来保护Spring Security UI控制器?

我是否需要在所有控制器上使用s2ui-override来通过子类化来保护它们?
更新Spring Security UI插件并在控制器上添加@Secured(['ROLE_ADMIN'])?
还是有一些更简单的方法?

我可以混合Spring安全访问控制机制(例如:混合注释和静态URL规则).

grails groovy grails-plugin

3
推荐指数
1
解决办法
439
查看次数

groovy XmlSlurper不解析我的xml文件

我有一个xml,我不能用xmlslurper解析这个文件.这是我的xml文件的副本:

<Entrezgene-Set>
<Entrezgene>
<Entrezgene_summary>The protein encoded by this gene is a plasma glycoprotein of unknown function. The protein shows sequence similarity to the variable regions of some immunoglobulin supergene family member proteins. [provided by RefSeq]</Entrezgene_summary>
</Entrezgene>
</Entrezgene-Set>
Run Code Online (Sandbox Code Playgroud)

我只需要从中获取文本 <Entrezgene_summary>

这是我的代码:

  def pubmedEfetch = {

  def base = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?"
  def qs = []
  qs << "db=gene"
  qs << "id=1"
  qs << "retmode=xml"
  def url = new URL(base + qs.join("&"))
  def connection = url.openConnection()

  def result = [:]

  if(connection.responseCode == 200){
    def …
Run Code Online (Sandbox Code Playgroud)

xml grails groovy xmlslurper

2
推荐指数
1
解决办法
4320
查看次数

如何强制Grails GORM尊重DB方案?

我有两个域名:

class CodeSet { 

  String id
  String owner
  String comments
  String geneRLF
  String systemAPF

  static hasMany = [cartridges:Cartridge]

    static constraints = {
      id(unique:true,blank:false)
    }

    static mapping = {
      table 'code_set'
      version false
      columns {
         id column:'code_set_id', generator: 'assigned'
         owner column:'owner'
         comments column:'comments'
         geneRLF column:'gene_rlf'
         systemAPF column:'system_apf'
      }
  }

and :

class Cartridge {

  String id
  String code_set_id
  Date runDate

  static belongsTo = CodeSet

    static constraints = {
      id(unique:true,blank:false)
    }

      static mapping = {
      table 'cartridge'
      version false
      columns {
         id …
Run Code Online (Sandbox Code Playgroud)

grails groovy database-design relational-database grails-orm

2
推荐指数
1
解决办法
1607
查看次数

Groovy动态调用类和find方法不起作用?

我试图建立一个类似于的动态查询:

def domain = DomainName
def ids = 1
def domainClass = "$domain" as Class
domainClass.find("from ${domain} as m where m.job = ${ids} ").id
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

如果我正在尝试这个,一切都很好:

def domain = DomainName
def ids = 1
DomainName.find("from ${domain} as m where m.job = ${ids} ").id
Run Code Online (Sandbox Code Playgroud)

如何在find中使用动态域名类?

grails groovy grails-orm groovyclassloader

2
推荐指数
1
解决办法
3595
查看次数