weixin_42252871
weixin_42252871
2008-09-13 19:37
浏览 219
已采纳

请教logic:iterate 里面的id和name写什么,对应哪里?谢谢!


    <th>工号</th>
    <th>姓名</th>
    <th>工作</th>
    <th>年限</th>
    <th>工资</th>


[color=red][/color]





/logic:iterate

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • iteye_18036
    iteye_18036 2008-09-13 21:17
    已采纳

    [code="java"] [/code]
    name属性:是你放置Bean的集合,在你的这段代码中:
    [code="java"]public class QueryAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {

    EmpDao empDao = new EmpDao();
    ArrayList list = empDao.empName();
    //System.out.println(list);
    request.setAttribute("list", list);

    return new ActionForward("/display.jsp");
    }
    } [/code]
    [code="java"]request.setAttribute("list", list);[/code]你是将list放入到request范围内,对应的名字是list,如果你要是写成[code="java"]request.setAttribute("myList", list);[/code],那么,logic:iterator中的name属性就要为"myList".
    logic:iterator中的id属性,其实是你要从你的集合中取出的Bean的名字,这个名字是任意起的,主要是下面的标签中的name属性要跟logic:iterator中的id属性对应上.其实这里的是这样的,首先logic:iterator标签会把name属性值为list的集合里的bean逐一取出来,每取出来一个,就把他存到名为id属性的值的pageContext范围内,一看代码你就能明白:
    主要代码:
    [code="java"]//首先取出List,getAttribute()方法中的值就是logic:iterator标签的name
    //值
    List list=request.getAttribute("list");
    //然后把取出来的bean存入pageContext范围内,对应的名字就是id的值
    pageContext.setAttribute("emp",bean);
    //bean:write标签其实就是利用反射把Bean从相应的范围内取出
    pageContext.getAttribute("emp");[/code]
    大体过程就是这样,希望对楼主有帮助

    点赞 评论

相关推荐