[英]Unable to return the perl Hash into the template toolkit file
提前致谢。 我正在尝试使用模板工具包文件显示文件列表。在此之前,我将哈希从perl文件返回到.tt(模板工具包文件)文件中。 但是条件没有执行,而且我也无法显示文件列表。 供您参考,我正在提供文件。
sub example{
my $path = "/sa2/tools/jayaram_delete";
if (chdir($path)) {
@files = glob "*";//I am getting the list of files
} else {
@files = ();
}
$run{'files'} = \@files;
$run{'testing'}= 'files';
return 'site/screen/screen.tt',\%run;
}
//This is The condition to display the Upload functionality in the .tt file
[% IF screenName == 'Resource Management' %]
//This is the code given in Stackoverflow,for displaying the list of files getting from perl file to .tt file.But this functionality is not working in this .tt file.
[% files %]
[% FOREACH n IN files %]
[% n %]
[% END %]
//This is the Table format to display the Upload functionality in the .tt file.
<table id='dataTableExample' class=dataTable cellpadding=01 cellspacing=01>
<tr class=verification style="text-align:left;">
<th colspan="2">Instrumentation Configuration</th>
</tr>
<tr class=controlTableDataRow>
<td class=controlTableCommandCell>
<form action='/sa/site/screen/testresults/ajaxTab/test/[% parentid %]/[% id %]' method='post' enctype="multipart/form-data" target='file_upload'>
<input type="file" name="uploadFile" size=30>
<input type="submit" name="submit" value="Upload">
<iframe id='file_upload' name='file_upload' style="display:none" src='about:blank' onload="if (file_upload.location.href != 'about:blank') uploadStatus(this)" >
</iframe>
</form>
</td>
</tr>
//This is the sample code to display in the .tt file
<table class=propertyTable cellpadding=5 cellspacing=0>
<tr class=propertyTableHeaderRow>
<th>FileName</th>
<th>Last Modified Date</th>
</tr>
</table>
[% END %]
For your reference i am providing the complete file,please help to solve this problem for displaying the list of files in .tt file.
此构造可以很好地满足您的目标:
use strict;
use warnings;
use Template;
my @files = glob "*";
my $tt = Template->new();
my $va = {
files => \@files
};
$tt->process('my.tt', $va);
在my.tt文件中:
[% FOREACH n IN files %]
[% n %]
[% END %]
我意识到这是一个非常老的问题,但是我碰到了这个问题,并且相信我看到了这个问题。 看起来您的代码在结尾处有一个额外的[%END%]上限。 我将这段代码放入模板中,它执行了与您所看到的相同的操作。 删除了最后一个[%END%],我得到了输出。 显然,由于我没有进行处理,因此它不是您想要的输出,但是它解决了TT消隐的问题。 我确定您的问题早已解决,但是希望这可以在将来为其他人节省一些麻烦。 那些无赖标记可能会使TT感到痛苦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.