在我的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 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))
我希望使用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)
有更好的方法吗?
我尝试在生产模式下运行grails应用程序,我在Grails主页中看到了教程,但我没有可选择的"配置类型".
我有一个Grails Script参数字段,尝试使用"生产单词",但它什么都没改变; 始终处于开发模式.用IntelliJ IDEA强制"生产模式"的想法?
谢谢
注意:使用IDEA 8.1.3.
我正在使用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();" 等待结果?
我正在使用默认的securityConfigType,它被设置为使用注释.
我有哪些选择来保护Spring Security UI控制器?
我是否需要在所有控制器上使用s2ui-override来通过子类化来保护它们?
更新Spring Security UI插件并在控制器上添加@Secured(['ROLE_ADMIN'])?
还是有一些更简单的方法?
我可以混合Spring安全访问控制机制(例如:混合注释和静态URL规则).
我有一个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) 我有两个域名:
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
我试图建立一个类似于的动态查询:
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 ×7
groovy ×6
grails-orm ×2
checksum ×1
directory ×1
ireport ×1
java ×1
javascript ×1
md5 ×1
xml ×1
xmlslurper ×1
yui ×1