保存usersID,但是显示username的问题

下面这段代码哪位大神能够给我详细解析一下,比如为什么userTemp.setId(0);userTemp.setName("全部");等等,这都是什么意思啊?,而且为什么创建两个对象?为什么页面上又遍历了一次? service.getObjList(userList, user, " oid in (select id from organization)", " id");什么意思?
新手求详细易懂的解答,跪谢
action:

    public ArrayList getUserLisAll() throws Exception {
           Users user = new Users();
           ArrayList userList = new ArrayList<Users>();
           Users userTemp = new Users();
           userTemp.setId(0);
           userTemp.setName("全部");
           userList.add(userTemp);
           service.getObjList(userList, user, " oid in (select id from organization)", " id");
           return userList;
       }

JSP:

<s:iterator value="chengJiJiLuList" status="st" var="cil">
    <TR>
       <TD><input type="checkbox" name="selId" id="selId" value="<s:property value="id"/>"/></TD>
       <TD  align="center"><s:property value='#st.index+1'/></TD>
       <TD ><s:iterator value="userList" var="ulist">
                                <s:if test="#ulist.id==#cil.userID"><s:property value="#ulist.name"/></s:if>
                            </s:iterator></TD>
       <%--<TD ><s:property value="trainingOrCompetitionID"/></TD>--%>
       <TD  align="center"><s:date name="shiJian" format="yyyy-MM-dd" /></TD>
       <TD ><s:property value="xiangMu"/></TD>
       <TD ><s:property value="zhuangTai"/></TD>
       <TD ><s:property value="beiZhu"/></TD>
    </TR>
</s:iterator> 

userTemp类里有两个属性id和name,setxxx就是设置相关的值

userTemp.setId(0);--设置userTemp的id属性值为0
userTemp.setName("全部");--设置userTemp的name属性值为“全部”

ArrayList是用来装userTemp对象(可以装N多个,代码中只装了一个)

arrayList里面可能装了不止一个对象,页面上使用遍历可以不去考虑到底是1个或多个,都能解析出来

至于service.getObjList(userList, user, " oid in (select id from organization)", " id"); 什么意思,那得看你自己的项目了

希望你能看明白