//Action private List<Task> dTaskAllLists = new ArrayList<Task>(); private String str; private Task task; //以上都有set & get方法 public String task(){ dTaskAllLists = taskingService.getTaskList(1);//控制台能打印,有5条数据 str = "Hello World"; task = (Task) dTaskAllLists.get(0); return "task"; } <!--VM 页面--> ${str} <!-----能正常打印输出--> ${task.task_create_time} <!----也能正常打印---> ${dTaskAllLists.size()} <!---没有显示,一片空白---> #foreach($taskList in $dTaskAllLists ) $!{taskList.task_create_time}<!--不能循环遍历,里面没有数据--> #end |
|
97分 |
奇怪,换个名字试试
|
我之前也是以为名字问题,但是我换了很多!证明不关这事 |
|
随便在后台定义一个list,然后放点值进去,还有把取长度那条语句删了,然后再前台循环看看呢
|
|
我定义了一个String类型的List,在前台能够获取的到,这是怎么一回事呢?难道是我的JavaBean有问题? |
|
应该不是,在velocity应该没有直接点size()这样的语法吧,你可以去查查
|
|
是可以的,获取到List的大小!我输出点size()的目的是测试List有没有值! |
|
那你循环你string数组的时候输出list.size()还有值,还有把你的sting换为你的bean再试试
|
|
private List<Task> dTaskAllLists = new ArrayList<Task>(); //获取bean前台获取不到 |
|
<!--VM 页面--> ${str} <!-----能正常打印输出--> ${task.task_create_time} <!----也能正常打印---> #foreach($taskList in $!{dTaskAllLists} ) $!{taskList.task_create_time}<!--不能循环遍历,里面没有数据--> #end #foreach($taskList in $dTaskAllLists ) |
|
试过了。没有用
|
|
要是我直接$dTaskAllLists ,就这样页面都不能直接打印
|
|
1分 |
试试、$!{dTaskAllLists}
我一般都加! |
试过了,没用 |
|
1分 |
这种动态语言不熟悉。
我能提点意见吗。 首先.size()应该换成应该是去掉用他的getSize()方法。 故获取不到。 |
1分 |
然后再去试试9楼的方法。 确定不是前面取size时有问题导致后面无法显示。
完毕。 |
这是Velocity模板的语法 |
|
不知道楼主问题解决了,我后来测试了下还是你名字起的有问题 public List<Task> getdTaskAllLists() { return dTaskAllLists; } public void setdTaskAllLists(List<Task> dTaskAllLists) { this.dTaskAllLists = dTaskAllLists; } 这样struts是映射不到的(get和set后面第一个字母小写了) |
|
感谢,我也找到问题所在了,dTaskAllLists自动生成set&get 的话,(get和set后面第一个字母小写了)还是小写!便没有变成大写! 这让我以后怎么相信这工具自动生成啊! |
|
感谢 |