Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。
Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用
(1)UI标签:(User Interface, 用户界面)标签,主要用于生成HTML元素标签,UI标签又可分为表单标签非表单标签
(2)非UI标签,主要用于数据访问,逻辑控制等的标签。非UI标签可分为流程控制标签(包括用于实现分支、循环等流程控制的标签)和数据访问标签(主要包括用户输出ValueStack中的值,完成国际化等功能的)
(3)ajax标签
<%@ taglib uri="/struts-tags" prefix="s"%>
<s:property
value
=
"#userlist"
></s:property>
(2)iterator(循环遍历)和if(条件语句)标签结合使用:
novelList指action中设置的带get()方法的属性
id指novellist的遍历项
<s:iterator value="novelList" id="row" status="st" >
<s:if test="(#st.index)%2==0"><div class='content_list blue'></s:if>
<s:if test="(#st.index)%2==0"><div class="list list_distance"></s:if>
<s:if test="(#st.index)%2==1"><div class="list"></s:if>
<dl>
<dt><a href="${row.link_url} target="_blank"><img src="${row.imgPath}" alt="${row.name}" border="0" /></a></dt>
<dd class="font_14 black"><strong><a href="${row.link_url}" target="_blank">${row.name}</a></strong></dd>
<dd><span class="black">作者:</span><span class="blue list_distance">${row.author}</span><span class="black">人气:${row.clickPoint}</span></dd>
<dd><span class="black">简介:${row.outline}</span></dd>
</dl>
<div class="clear"></div>
</div>
<s:if test="(#st.index)%2==1"><div class="clear"></div></div></s:if>
</s:iterator>
<s:action name="novel_imgjs" namespace=”/novel“ executeResult="true" ></s:action>
<style type="text/css"> .doubleselect br{ display:none; } </style> //横向显示