当前位置: 代码迷 >> 综合 >> Struts2常用标签使用和总结(包括前后台,出生日期,级联城市,遍历列表等)
  详细解决方案

Struts2常用标签使用和总结(包括前后台,出生日期,级联城市,遍历列表等)

热度:49   发布时间:2024-01-11 19:16:54.0

1.Struts2的作用 

一 介绍

Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。

 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用

 

二.Struts2分类

(1)UI标签:(User  Interface, 用户界面)标签,主要用于生成HTML元素标签,UI标签又可分为表单标签非表单标签

(2)非UI标签,主要用于数据访问,逻辑控制等的标签。非UI标签可分为流程控制标签(包括用于实现分支、循环等流程控制的标签)和数据访问标签(主要包括用户输出ValueStack中的值,完成国际化等功能的)

(3)ajax标签

 

三.页面使用struts标签

<%@ taglib uri="/struts-tags" prefix="s"%>

 

四.标签的使用

(1)property标签,用于输出指定的值:

                             <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>

  

(3)action标签,jsp页面中包含action页面

                             <s:action name="novel_imgjs" namespace=”/novel“  executeResult="true" ></s:action>


(4)doubleselect标签级联标签城市

<style type="text/css"> .doubleselect br{ display:none; } </style> //横向显示

<s:set name="area" value="#{'请选择':{'请选择'}, 
                    '北京':{'北京'}, 
                     '天津':{'天津'}, 
                     '河北':{'石家庄','唐山','秦皇岛','邯郸','邢台','保定','张家口','承德','沧州','廊坊','衡水'}, 
                     '山西':{'太原','大同','阳泉','长治','晋城','朔州','晋中','运城','忻州','临汾','吕梁'}, 
                     '内蒙古自制区':{'呼和浩特','包头','乌海','赤峰','通辽','鄂尔多斯','呼伦贝尔','巴彦淖尔','乌兰察布','兴安盟','锡林郭勒盟','阿拉善盟'}, 
                     '辽宁':{'沈阳','大连','鞍山','抚顺','本溪','丹东','锦州','营口','阜新','辽阳','盘锦','铁岭','朝阳','葫芦岛'}, 
                     '吉林':{'长春','吉林','四平','辽源','通化','白山','松原','白城','延边朝鲜族自治州'}, 
                     '黑龙江':{'哈尔滨','齐齐哈尔','鸡西','鹤岗','双鸭山','大庆','伊春','佳木斯','七台河','牡丹江','黑河','绥化','大兴安岭地区'}, 
                     '上海':{'上海'}, 
                     '江苏':{'南京','无锡','徐州','常州','苏州','南通','连云港','淮安','盐城','扬州','镇江','泰州','宿迁'}, 
                     '浙江':{'杭州','宁波','温州','嘉兴','湖州','绍兴','金华','衢州','舟山','台州','丽水'}, 
                     '安徽':{'合肥','芜湖','蚌埠','淮南','马鞍山','淮北','铜陵','安庆','黄山','滁州','阜阳','宿州','巢湖','六安','亳州','池州','宣城'}, 
                     '福建':{'福州','厦门','莆田','三明','泉州','漳州','南平','龙岩','宁德'}, 
                     '江西':{'南昌','景德镇','萍乡','九江','新余','鹰潭','赣州','吉安','宜春','抚州','上饶'}, 
                     '山东':{'济南','青岛','淄博','枣庄','东营','烟台','潍坊','济宁','泰安','威海','日照','莱芜','临沂','德州','聊城','滨州','菏泽'}, 
                     '河南':{'郑州','开封','洛阳','平顶山','安阳','鹤壁','新乡','焦作','濮阳','许昌','漯河','三门峡','南阳','商丘','信阳','周口','驻马店','济源'}, 
                     '湖北':{'武汉','黄石','十堰','宜昌','襄樊','鄂州','荆门','孝感','荆州','黄冈','咸宁','随州','恩施土家族苗族自治州','省直辖县级行政单位'}, 
                     '湖南':{'长沙','株洲','湘潭','衡阳','邵阳','岳阳','常德','张家界','益阳','郴州','永州','怀化','娄底','湘西土家族苗族自治州'}, 
                     '广东':{'广州','韶关','深圳','珠海','汕头','佛山','江门','湛江','茂名','肇庆','惠州','梅州','汕尾',' 河源','阳江','清远','东莞','中山','潮州','揭阳','云浮'}, 
                     '广西壮族自治区':{'南宁','柳州','桂林','梧州','北海','防城港','钦州','贵港','玉林','百色','贺州','河池','来宾','崇左'}, 
                     '海南':{'海口','三亚','省直辖县级行政单位'}, 
                     '重庆':{'重庆'}, 
                     '四川':{'成都','自贡','攀枝花','德阳','绵阳','广元','遂宁','内江','乐山','南充','眉山','宜宾','广安 ','达州','雅安','巴中','资阳','阿坝藏族羌族自治州','甘孜藏族自治州','凉山彝族自治州'}, 
                     '贵州':{'贵阳','六盘水','遵义','安顺','铜仁地区','黔西南布依族苗族自治州','毕节地区','黔东南苗族侗族自治州','黔南布依族苗族自治州','辽阳','盘锦','铁岭','朝阳','葫芦岛'}, 
                     '云南':{'昆明','曲靖','玉溪','保山','昭通','丽江','普洱','临沧','楚雄彝族自治州','红河哈尼族彝族自治州','文山壮族苗族自治州','西双版纳傣族自治州','大理白族自治州','德宏傣族景颇族自治州','怒江傈僳族自治州','迪庆藏族自治州'}, 
                    '西藏自治区':{'拉萨市','昌都地区','山南地区','日喀则地区','那曲地区','阿里地区','林芝地区'}, 
                     '陕西':{'西安','铜川','宝鸡','咸阳','渭南','延安','汉中','榆林','安康','商洛'}, 
                     '甘肃':{'兰州','嘉峪关','金昌','白银','天水','武威','张掖','平凉','酒泉','庆阳','定西','陇南','临夏回族自治州','甘南藏族自治州'}, 
                     '青海':{'西宁市','海东地区','海北藏族自治州','黄南藏族自治州','海南藏族自治州','果洛藏族自治州','玉树藏族自治州','海西蒙古族藏族自治州'}, 
                     '宁夏回族自治区':{'银川','石嘴山','吴忠','固原','中卫'}, 
                     '新疆维吾尔自治区':{'乌鲁木齐','克拉玛依','吐鲁番地区','哈密地区','昌吉回族自治州','博尔塔拉蒙古自治州','巴音郭楞蒙古自治州','阿克苏地区','克孜勒苏柯尔克孜自治州','喀什地区','和田地区','伊犁哈萨克自治州','塔城地区','阿勒泰地区','自治区直辖县级行政区划'}, 
                     '台湾':{'台北','高雄','基隆','台中','台南','新竹','嘉义'}, 
                     '香港特别行政区':{'香港'}, 
                     '澳门特别行政区':{'澳门'} 
                 }" /> 
<td height="36" class="text_reg">
<font><font>选择出生地:</font></font>
</td>
<td style="width:400px">
<div class="doubleselect"> 
 <s:doubleselect formName="userRegisterForm" label="地域" list="#area.keySet()" name="province"  doubleName="city"  doubleList="#area[top]" theme="simple" /> 
</div>
</td>

(5)datetimepicker标签

struts2.1.6 把struts2.0中的和ajax相关的,如datetimepicker,tree,treenode 都移动到了dojo中了 
解决方法如下:
1.jsp中加入如下内容  
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
 2.<head>中加入下列  
<head>  
  <s:head />  
  <sx:head />   
</head>  
3.页面中使用
<sx:datetimepicker name="birthday" label="生日:" displayFormat="yyyy-MM-dd"></sx:datetimepicker>
4.项目中引入struts2-dojo-plugin-2.2.1.1.jar 放在/web-inf/lib下。




















  相关解决方案