我需要将使用java类中的方法生成的文件列表显示到Tapestry中的tml文件中
我有一个java类,其中有一个方法-getFiles(),它打印目录中的文件列表。这是密码我需要将使用java类中的方法生成的文件列表显示到Tapestry中的tml文件中,java,tapestry,tml,Java,Tapestry,Tml,我有一个java类,其中有一个方法-getFiles(),它打印目录中的文件列表。这是密码 @Property private String[] filesInDir; public void getFiles(String path){ File aDirectory = new File("C://Users/A634682/report1/src/main/java/com/example/report1/reports2"); // get a list
@Property
private String[] filesInDir;
public void getFiles(String path){
File aDirectory = new File("C://Users/A634682/report1/src/main/java/com/example/report1/reports2");
// get a listing of all files in the directory
filesInDir = aDirectory.list();
// sort the list of files (optional)
// Arrays.sort(filesInDir);
System.out.println("File list begins here >>>>>");
// have everything i need, just print it now
for ( int i=0; i<filesInDir.length; i++ )
{
System.out.println( "file: " + filesInDir[i] );
}
}
@属性
私有字符串[]文件索引;
公共void getFiles(字符串路径){
文件aDirectory=new文件(“C://Users/A634682/report1/src/main/java/com/example/report1/reports2”);
//获取目录中所有文件的列表
filesInDir=aDirectory.list();
//对文件列表进行排序(可选)
//Arrays.sort(filesInDir);
System.out.println(“文件列表从这里开始>>>>”;
//有我需要的一切,现在就打印出来
对于(int i=0;i您可以将一个简单的t:Loop
组件与您的filesInDir
一起用作源代码。这里可以找到一个示例:
在开始渲染之前,您需要初始化属性,即在中。我这样做了。在tml文件中,我使用了grid:但现在我得到的值为False。打印的行数等于我在文件夹中的文件数。但我无法得到文件名。如何获得grid中每行的实际字符串值?我有一个简单的String数组作为源。t:Grid
是比t:Loop
更高级的组件,因为您只提供了source
,而没有提供model
参数,它为String
类自动创建了一个新的BeanModel
,并且它可以自动检测的唯一属性是它的String\isEmpty()
。因此,对于该唯一属性t:Grid
创建了唯一的列和显示值#isEmpty
,它是false
,因为您的所有字符串都不是空的。您可以阅读有关网格的更多信息。