使用Struts标签取对象的属性值时需要注意的问题

来源:互联网 发布:c语言经典程序100例 编辑:程序博客网 时间:2024/05/01 00:47

以下是本人自己在使用struts标签来得到对象的值时的源代码:

<table border="1" style="width:600px;height:400px;">

             <tr><td colspan="6" align="center">学校列表</td></tr>
             <tr>
                <td align="center">学校编号</td>
                <td align="center">学校名称</td>
                <td align="center">学校地址</td>
                <td align="center">增加学校</td>
                <td align="center">修改学校</td>
                <td align="center">删除学校</td>
             </tr>
            <s:iterator var="school" value="list">
                        <tr>
                                <td align="center">${school.scode }</td>
                                <td align="center">${school.sname }</td>
                                <td align="center">${school.saddress }</td>
                                <s:hidden name="id" value="%{#school.id}"></s:hidden>
                                <td align="center"><a href="register.jsp"><img src="images/add.png" /></a></td>    
                                <td align="center"><a href="school_selectbyid.action?id=${school.id}"><img src="images/edit.png" /></a></td>    
                                <td align="center"><a href="school_delete.action?id=${school.id}" onclick="javascript:alert('你真的要删除吗?')"><img src="images/delete.png" /></a></td>                
                        </tr>
            </s:iterator>  
            <tr><td colspan="6" align="center"><a href="index.jsp">返回</td></tr>

              </table>


          在该源代码<s:iterator var="school" value="list">标签中的value为由相应的dao类封装好的List<School> list对象 ,var的作用是使用school这个名称来代替list对象来进行迭代。

         在<td></td>标签当中使用${school.scode }为EL表达式,效果相当于school.getScode()方法。此外在href当中需要动态添加对象的参数时使用EL表达式。而当我们需要在具有value属性的标签中动态添加值的时候,则需要使用OGNL表达式。%{#school.id},当中的#符号表示在ActionContext当中取值,此时需要区分ValueStack和ActionContext的不同作用范围。

0 0
原创粉丝点击