代码:<c:foreach items="${list }" var="tmp"> //list是某po对像的集体
    姓名:${tmp.name }
    年龄:${tmp.age }
</c:foreach>
问题:
    1.想问一下,在<foreach>标签中,${tmp.name }中的tmp对像是在哪个作用域中?(Session||request||??).还有这个对像是怎么加上去的?
  2.我在标签处理程序中.强制在session加入一个属性:this.pageContent.getSession().setAttribute("num",123); 然后在<foreach>标签中通过EL表达式想将num取出:${num }. 但是这种方法不能取出.很问该怎么做?  综述一下问题:就是如何在一个标签处理程序中.在(某个做用域对像)加入一个属性(setAttribute),并且能在本标签中通过EL表达式取出!

解决方案 »

  1.   

    1,request,后台setAttribute进去的。
    2,试试java嘛~
      

  2.   

    问题1:跟你的list有关,你的list在那个作用域,tmp也在那个作用域
    问题2:num跟foreach标签没关系,直接${num}就可以取出该值了;foreach标签是遍历集合里面的数据
      

  3.   

    同意2楼的,list之所以能够取到,是由于这个页面中能拿到了这个list,而list是哪里来的那就看你怎么设置的了,如果是让一个页面的那么上一页面设成request。setAttribute 就行。但是若是在其他页面传过来的就要在session中或更宽的范围了
    关于num要直接取出来,不要用循环
      

  4.   

    问题2,我觉得在forEach标签中用EL取出num应该是没有问题的啊,取不到?
      

  5.   

    可以去下载一个structs的src
    看看里面的标签代码
      

  6.   

    我来说两句,foreach是遍历集合的,当然取不到你直接在session里的内容喽!
    当遍历集合的时候用foreach,而像一个封装的一个类对象,和单个的值都用El直接取就可以了!
      

  7.   

    标签的取值去的是request中的。session中有值不是通过标签取得的。