日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Struts2标签

發布時間:2024/1/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Struts2标签 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Struts2提供了大量標簽幫助開發表現層頁面,Struts2標簽庫與Struts1相比,不依賴于任何表現層技術,大部分可以在各種表現層技術中使用,包括最常用的jsp頁面,也可以在Velocity和FreeMarker等模板技術中使用。
注:極小部分在某些表現層中受到限制

還記得如何開發自定義標簽以及使用嗎?

JSP2自定義標簽

使用Struts2標簽

Struts2標簽庫分為UI標簽和非UI標簽,UI標簽庫又分為表單標簽庫和非表單標簽,非UI標簽又分為控制標簽和數據訪問標簽
Struts2框架已經完成了開發自定義標簽的步驟,即提供了標簽處理類,也提供了標簽庫定義文件。
使用WinRAR解壓struts2-core-2.5.20.jar文件,\struts2-core-2.5.20\META-INF找到struts-tags.tld,這就是Struts2的標簽庫定義文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"><display-name>Struts Tags</display-name><tlib-version>2.3</tlib-version>,<short-name>s</short-name><uri>/struts-tags</uri>········<tag> </tag>········</taglib>

Struts2的OGNL表達式語言

Struts內建的表達式語言,大大增強了Struts的數據訪問功能,XWork在原有的OGNL的基礎上,增加了對ValueStack的支持。
OGNL并不是真正的編程語言,而是一門數據訪問語言
傳統的OGNL表達式求值中,系統會假設只有一個根對象
如果系統的Stack Context中包含兩個對象:foo對象、bar對象,并將foo設置稱根對象。
如下所例:

#foo.blah //返回的是foo.getBlah()方法的返回值 #bar.blah //返回的是bar.getBlah()方法的返回值 blah //在foo是根對象,即返回foo.getBlah().的返回值 #bar.foo.blah //返回bar.getFoo().getBlah()方法的返回值

Struts2可以直接從對象中獲取屬性,Struts2提供了一個特殊的OGNL PropertyAccessor(屬性訪問器),它可以自動搜尋Stack Context的所有的實例。
例如:Stack Context中包含了兩個根實例
1、animal:擁有屬性name,species
2、person:擁有屬性name,salary
棧中分布:animal實例在person實例的上面

species //返回animal.getSpecies()方法 salary //返回person.getSalary()方法 name //返回animal.getName()方法,Struts先找到animal實例

如果要取得person的name

#person.name

還可以通過索引訪問Stack Context中的對象

[0].name //返回animal.getName()方法 [1].name //返回person.getName()方法

Struts2內置了一些命名對象
parameters:用于訪問HTTP請求參數。#parameters.foo,用于返回HttpServletRequest的getParameter(“foo”)方法返回值
request:用于訪問HttpServletRequest的屬性
session:用于訪問Session的屬性
application:用于訪問ServletContext的屬性
attr:該對象將依次搜索如下對象:PageContext、HttpServletRequest、HttpSession、ServletContext中的屬性
注:當系統創建Action實例后,該Action實例已經保存在ValueStack中,無需寫#即可訪問Action屬性
擴充:
對于Stack Context 和ValueStack概念的認識
Stack Context:是整個OGNL計算求值的Context,Stack Context對象就是一個Map類型的實例,它有一個根對象ValueStack(一般保存action實例),除此之外,還包含以上內置的命名對象。

  • 訪問Stack Context里的命名對象需要在對象名前加#
  • 訪問Stack Context根對象里的屬性,可以省略對象名

可以將Stack Context中的對象放入ValueStack棧頂

OGNL集合操作

1、直接創建List類型的集合
{e1,e2,e3····}
2、直接生成Map類型的集合
#{key1:value1,key2:value2····}
對于集合,提供了兩個運算符
1、in:判斷某個元素是否在指定集合中
2、not in:判斷某個元素是否不在指定集合中
通過某個規則可以取得集合的子集
1、?:取出所有符合選擇邏輯的元素
2、^:取出符合選擇邏輯的最后一個元素
3、$:取出符合選擇邏輯的第一個元素

訪問靜態成員

Struts默認關閉了訪問靜態方法,只能通過OGNL表達式訪問靜態域,,為了讓OGNL表達式訪問靜態域,需要在Struts.xml中設置如下代碼片段

<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>

OGNL表達式可以通過以下語法訪問靜態成員

@className@staticField @className@siaticMethod(val····)

例如如下jsp片段

<!--生成一個偽隨機數--> <s:property value="@java.lang.Math@random()"/> <!--圓周率的值--> <s:property value="@java.lang.Math@PI"/>

支持Lambda表達式(java8新特性,好好學學)

將函數作為方法的參數
假設有如下斐波那契數列:

if n==0 return 0; else if n==1 return 1; else return fun(n)+fun(n-1);

用OGNL表達式輸出第10個數

<s:property value="#fun=:[#this==0?0:#this==1?1:#fun(#this-2)+#fun(#this-1)],#fun(10)">

非UI標簽

控制標簽

主要用于流程控制,如分支、循環等,也可完成對集合的合并,排序等操作以及操作Struts2的valueStack
控制標簽 如以下9個:
1、if
2、elseif
3、else
<s:if···>可以直接單獨用,其他兩個必須跟著<s:if···>一起用
test屬性進行條件判斷的邏輯表達式
比如:

<s:if test="#age>60"> 老年人 </s:if> <s:elseif test="#age>35"> 中年人 </s:elseif> <s:elseif test="#age>15"> 青年人 </s:elseif> <s:else> 少年 <s:else>

4、iterator標簽
主要對集合進行迭代輸出
有以下三個屬性:
1、value:用于指定被迭代的集合,沒有指定該屬性,則使用ValueStack棧頂的集合。
2、var:指定了集合元素的ID
3、status:指定迭代時IteratorStatus實例,通過該實例可以判斷當前元素的屬性,比如當前迭代元素的索引
IteratorStatus實例包含了以下幾個方法:
1、int getCount():返回當前迭代了幾個元素
2、int getIndex():返回當前迭代元素的索引
3、boolean isEven():判斷當前被迭代的元素索引是否為偶數
4、boolean isOdd():判斷當前被迭代的元素索引是否為奇數
5、boolean isFirst()
6、boolean isLast()

<table border="1" width="100"> <s:iterator var="name" status="st" value="{e1,e2,e3}"> <tr <s:if test="#st.odd">style="background:#bbbbbb"</s:if>> <td><s:property value="name"/></td> </tr> </s:iterator> </table>

5、append標簽
將多個集合對象連接起來
var:拼接生成新集合的名字
可以接收<s:param···/>子標簽,每一子標簽代表一個集合

<s:append var="newList"> <s:param value="{e1,e2,e3}"/> <s:param value="{a1,a2,a3}"/> </s:append> <table border="1" width="100"> <s:iterator value="#newList" var="name" status="st"> <tr> <td><s:property value="#st.count"></td> <td><s:property value="name"></td> </tr> </iterator> </table>

注:<s:append···> 可以將Map集合和List集合連接在一起
6、generator標簽
可以將指定字符串按指定分隔符分成多個子串,臨時生成的多個字串可以用Iterator標簽迭代輸出
有這樣的一種說法:運用此標簽首先將整個字符串轉化成yi
個集合,整個生成的集合將位于ValueStack棧頂,標簽使用結束,該集合將被移出ValueStack
generator標簽有以下幾個屬性
count;指定集合中元素的個數
separator:指定解析字符串的分隔符
val:指定被解析的字符串
converter:指定一個轉換器,負責將集合中的每一個字符串轉換為對象
var:指定該屬性,生成的集合對象會放在Stack Context中以及requestScope
7、merge標簽
將多個集合拼接成一個集合,與append標簽的區別在于:
假設有三個集合,每個集合中有兩個元素
append標簽新集合的順序:
第一集合第一元素
第一集合第二元素
第二集合第一元素
第二集合第二元素
第三集合第一元素
第三集合第二元素
merge標簽新集合的順序:
第一集合第一元素
第二集合第一元素
第三集合第一元素
第一集合第二元素
第二集合第二元素
第三集合第二元素
8、subset標簽
用于取得集合的子集
可指定以下幾個屬性
count:指定子集中元素的個數,不指定此屬性則默認源集合全部元素
source:指定源集合
start:指定子集從原集合第幾個元素開始截取,默認值0
var:與 generator一樣,會生成臨時集合對象放入ValueStack中,標簽執行結束,則一處ValueStack。如果指定了該屬性, 生成該集合的Iterator對象設置成page范圍內的屬性值,屬性名即var=“屬性名”
decider:是否選定該元素 ,指定一個Decider對象
Struts2允許開發者決定截取標準,需要實現一個Decider類,該類又要實現SubIteratorFilter.Decider接口,重寫boolean decide(Object ele)方法

public class myDecider implements SubsetIteratorFilter.Decider { public boolean decide(Object element)throws Exception { String str=(String)element; //判斷字符串中是否包含1 boolean boo=str.indexOf("1")>0; return boo; } }

jsp頁面中使用

<!--使用自定義的Decider實例截取目標集合--> <!--使用var屬性,將生成的Iterator對象放入pageScope--> <s:subset source="{"245s","51c5d","dcse","cde1dcsd","ecw"}" decider="#myDecider" var="newList"/> ${pageScope.newList} <table border="1" width="100"> <s:iterator status="st" value="#attr.newList"> <tr <s:if test="#st.odd">style="background-color:"#bbbbbb"</s:if>> <td><s:property/></td> </tr> </table>

9、sort標簽
對指定集合元素進行排序,必須提供自己的排序規則,即自定義java類實現java.util.Comparator接口
sort標簽可指定以下屬性:
comparator:該屬性指定排序的Comparator實例
source:指定被排序的集合,不指定該屬性,則選取ValueStack棧頂集合
var:指定該屬性,則將生成集合的Iterator對象設置成page范圍內的屬性
排序后的新集合放入pageScope范圍內
事例:
src/myComparator.java

public class myComparator implements Comparator { public int compare(Object element1,Object element2) { //根據字符串長度決定大小 return element1.toString().length()-element2.toString().length(); } }

jsp

<s:sort source="{"deffc","deswff","dewfweff","dwfqefrewgfwe"}" var="sortedList" comparator="#myComparator"/> ${pageScope.sortedList} <table border="1" width="100"> <s:iterator status="st" value="#attr.sortedList"> <tr <s:if test="#st.odd">style="background-color:"#bbbbbb"</s:if>> <td><s:property/></td> </tr> </table>

數據標簽

提供各種數據訪問相關的功能
主要標簽如下幾個:
1、action標簽
允許在jsp界面中直接調用Action
有以下幾個屬性
1、var:如果設置了該屬性,該Action將被放入Stack Context中
2、name:指定調用哪個Action
3、namespace:指定調用的Action所在的namespace
4、executeResult:是否將Action處理結果頁面保存到本頁面
5、ignoreContextParams:該頁面的請求參數是否傳入調用的Action中

/src/tagAction.java

public class tagAction extends ActonSupport { String user; String pass; //省略getter和setter方法 ····· public String execute()throws IOException,JspException { return "done"; } public String login()throws Exception { ActionContext.getContext().put("user",getuser()); return "done";ccc } }

在Struts.xml文件中將Action類映射成兩個邏輯action

<action name="tag2" class="tagAction"> <result name="done">/WEB-INF/content/succ.jsp</result> </action> <action name="tag1" class="tagAction" method="login"> <result name="done">/WEB-INF/content/success.jsp</result> </action>

jsp頁面中使用<s:action>標簽調用兩個Action代碼邏輯片段

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><%@ taglib uri="/struts-tags" prefix="ss" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> <ss:action name="tag1" executeResult="true"/><hr/> <ss:action name="tag1" executeResult="false"/>不包含結果 <ss:property value="user"/><hr/> <ss:action name="tag1" executeResult="true" ignoreContextParams="true"/><hr/> </body> </html>


2、bean標簽
用于創建一個javaBean實例,可以在該標簽體內使用<param…/>為javaBean實例傳入屬性,javaBean類應提供對應的setter方法,如果訪問javaBean某個屬性,還應該提供getter方法
此標簽有以下屬性
1、name:指定要實例化javaBean的實現類
2、var:如果指定了該屬性,則將javabean實例放入Stack Context 中,并放入requestScope中
在使用bean標簽時,會創建一個javabean對象,并臨時放入ValueStack頂端,該標簽執行結束,則將其從ValueStack中移出
一個簡單的例子
/src/webapp/Person.java

public class Person { private String name; private String age; //省略setter和getter方法 ······ }

JSP頁面

<!--未指定var屬性,只能在標簽內部訪問javabean實例--> <s:bean name="webapp.Person"> <s:param name="name" value="binfeng"/> <s:param name="age" value="21"/> </s:bean>

3、date標簽
用于格式化輸出一個日期,還可以計算指定日期和當前時刻的時間差
可以有如下幾個屬性:
1、format:如果指定了該屬性,則使用指定格式輸出時間
2、nice:是否輸出指定日期和當前日期的時間差,默認false,與format一般不同時使用,如果兩者都指定,忽略format,如果兩者都沒有的話,系統會取國際化資源尋找key為struts.date.format,如果無法找到,則默認采用DateFormat.MEDIUM格式輸出
3、name:指定格式化的日期值
4、var:如果指定了該屬性,格式化的字符串將放入Stack Context中,并放入requestScope范圍內

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> <s:bean name="java.util.Date" var="now"/> <s:date name="#now" format="dd/MM/yyyy" nice="false"/><hr/> <s:date name="#now" format="dd/MM/yyyy" nice="true"/><hr/> <s:date name="#now" nice="true"/><hr/> <s:date name="#now" nice="false"/><hr/> <s:date name="#now" nice="false" var="abc"/><hr/> ${requestScope.abc} <hr/><s:property value="#abc"/> </body> </html>


4、debug標簽
用于輔助調試,會在頁面上生成一個超級鏈接,通過該鏈接可以查到Stack Context和ValueStack中所有值信息
5、include標簽
用于將一個jsp頁面或者servlet包含到本頁面中
value:指定被包含的jsp頁面或者servlet
6、param標簽
為其他標簽提供參數
name:參數名
value:參數值
7、push
將某個值放入ValueStack棧頂
value:指定放入棧頂的值
8、set標簽
用于將某個值放入指定范圍,
可以理解為設置新的變量,將已有的值(對象)賦給新的變量,并將新的變量放入指定的范圍內
擁有以下屬性:
scope:指定新值防放置的范圍,該屬性可以接受application、session、request、page或action,默認值是action,action范圍指的是存入request范圍,并被放入OGNL的StackContext中
value:賦給變量的值,如果沒有指定此屬性,則取ValueStack棧頂的值
var:指定了該屬性,則將該值放入到ValueStack中
9、url標簽
生成一個url地址,可以指定子標簽<s:param···>,向指定url發送請求參數
可以指定以下屬性
1、action:指定生成的url地址為哪個action,如果沒有指定值,則使用value的地址值
2、anchor:指定url的錨點
3、encode:指定是否對參數進行編碼,默認true
4、escapeAmp:是否需要對&符號進行編碼,默認true
5、forceAddSchemeHostAndPort:是否需要在url對應的地址里強制添加scheme、主機和端口
6、includeContext:是否將當前上下文包含到url中
7、includeParams:是否包含請求參數,屬性值取none、get、all
8、method:指定Action的方法
9、namespace:指定命名空間
10、portletMode:指定結果頁面的portlet模式
11、scheme:設置scheme屬性
12、value:生成url地址值,和action都沒指定,則以當前頁面作為url地址值
13、var:指定該屬性,將會把鏈接值放入ValueStack中
14、windowState:指定結果頁面的portlet窗口狀態
10、property標簽
輸出指定值
value:指定輸出屬性值,沒有指定,則輸出ValueStack棧頂的值
default:如果需要輸出的屬性值為null,則顯示default屬性給的值
escape:指定是否escape HTML代碼,默認為true

UI標簽

主題和模板

Struts中的UI標簽都是基于主題和模板的,
模板:是一個UI標簽外在表現形式
主題:所有的UI標簽都提供了對應的模板,這一系列模板就會形成一個主題
設置主題的方法有以下幾種:
1、設定特定UI標簽上的theme屬性來指定主題
2、通過UI標簽外圍的<s:form…/>的theme屬性指定主題
3、獲取page會話范圍內的theme的屬性來確定主題
4、獲取request會話范圍內的theme的屬性來確定主題
5、獲取session會話范圍內的theme的屬性來確定主題
6、獲取application會話范圍內的theme的屬性來確定主題
7、通過設置名struts.ui.theme的常量(默認值xhtml)來確定主題,該常量可以在struts.properties文件或者struts.xml中設置
排在前面的優先級會覆蓋后面的
Struts加載模板是通過主題和模板目錄來實現的
模板目錄包含好幾個主題,每個主題又包含好幾個模板文件
Struts2的模板目錄是通過struts.ui.templateDir常量指定的,該常量的默認值是template.加載模板文件的順序:
1、搜索web應用中/template/主題/模板
2、搜索classpath路徑上的/template/主題/模板
模板默認的文件是*.ftl文件,*.ftl文件是FreeMarker模板文件,也可以修改自己的模板技術,通過修改struts.ui.templateSuffix常量的值,該常量接受以下幾個值:
1、ftl
2、vm: 基于Velocity的模板技術
3、jsp:基于jsp的模板技術
struts提供了三個默認的主題:simple,xhtml,css_xhtml
simple:最簡單的主題,最底層的基礎
xhtml:Struts2默認的主題,對simple主題進行了擴展和包裝,在simlp主題上加了如下附加的特性:
1、針對HTML標簽使用標準的兩列表格布局
2、每個HTML標簽增加了配套的label,可以通過labelposition屬性設置位置
3、自動輸出檢驗錯誤提示
4、輸出js的客戶端檢驗
css_xhtml主題對原有的xhtml主題進行擴展,在基礎上加了css樣式控制

自定義主題

創建自定義主題有以下三種方式
1、開發者完全實現一個全新的主題
2、包裝一個現有的主題
3、擴展一個現有的主題
1、開發一個全新的太過麻煩
2、包裝一個現有的,xhtml主題就大量使用了包裝技術,如

<!--包含xhtml主題下的controlheader.ftl模板--> <#include ''/${parameters.templateDir}/xhtml/controlheader.ftl''/> <!--包含simple主題下的xxx.ftl模板--> <#include ''/${parameters.templateDir}/simple/xxx.ftl''/>

3、對現有主題進行擴展,開發者只需要自己寫一份自定義的模板文件,并將該文件放在對應的主題目錄下,還需要在主題目錄下加一個theme.property文件,該文件指定自定義模板是以哪個模板為基礎進行擴展的,比如:

#指定該主題以xhtml主題進行擴展 parent=xhtml

表單標簽

所有表單標簽處理類都繼承UIBean類,UIBean包含了一些以下通用屬性
1、特殊的
form:可以實現表單元素與表單的交互
2、與模板相關的通用屬性
templateDir:指定該表單所用的模板文件目錄
theme:指定該表單所用的主題
3、JavaScript相關的通用屬性
onclick:指定鼠標在該標簽生成的表單元素上單擊時觸發的js函數
ondbclick:指定鼠標在該標簽生成的表單元素上雙擊時觸發的js函數
onmousedown:指定鼠標在該標簽生成的表單元素上按下時觸發的js函數
onmouseup:指定鼠標在該標簽生成的表單元素上松開時觸發的js函數
onmouseover:指定鼠標在該標簽生成的表單元素上懸停時觸發的js函數
onmouseout:指定鼠標移出該標簽生成的表單元素上時觸發的js函數
onfocus:指定該標簽生成的表單元素得到焦點時觸發的函數
onblur:指定該標簽生成的表單元素失去焦點時觸發的函數
onkeydown:按下鍵盤上某個鍵觸發的函數
onselect:對下拉列表項選擇類型的表單元素,選擇該元素時觸發js函數
onchange:對文本框等可以接受輸入的表單元素,指定當值改變時觸發的js函數
4、當鼠標在表單元素上懸停時,系統會出現提示,這種特性叫做tooltip
與tooltip相關的屬性
tooltip:設置此組件的tooltip
tooltipIcon:tooltip圖標的URL路徑
tooltipAboveMousePoint:是否在光標位置上顯示tooltip
tooltipBgColor:設置tooltip的背景色
tooltipBgImg:設置tooltip的背景圖片
tooltipBorderWidth:設置tooltip邊框的寬度
tooltipBorderColor:設置tooltip邊框的顏色
tooltipDelay:設置顯示tooltip延遲時間(毫秒)
tooltipFixCoordinateX:設置固定tooltip在指定的x坐標
tooltipFixCoordinateY:設置固定tooltip在指定的y坐標
tooltipFontColor:設置tooltip字體顏色
tooltipFontFace:設置tooltip字體
tooltipFontSize:設置tooltip字體大小
tooltipFontWeight:設置tooltip是否使用粗體,normal或者bold兩個值
tooltipLeftOfMousePoint:是否在光標左側顯示tooltip,默認在右側
tooltipOffsetX:設置tooltip相對光標位置的水平位移
tooltipOffsetY:設置tooltip相對光標位置的垂直位移
tooltipOpacity:設置tooltip的透明度,0-100
tooltioPadding:內部間隔
tooltipShaowColor:指定顏色創建陰影
tooltipShaowWidth:指定寬度創建陰影
tooltipStatic:tooltip是否隨著光標移動而移動
tooltipSticky:tooltip是否一直停留在它初始位置,直到另一個tooltip出現,或者點擊了html頁面
tooltipStayAppearTIME:消失的時間間隔
tooltipTextAlign:標題與內容的對齊方式
tooltipTitle:tooltip標題文字
tooltipTitleColor:tooltip標題文字顏色
tooltipWidth:tooltip寬度
5、設置表單元素的css樣式
cssClass:設置表單元素的class屬性
cssStyle:設置表單元素的style屬性
title:設置表單元素的title屬性
disabled:設置表單元素的disabled屬性
label:設置表單元素的label屬性
labelPosition:設置表單元素的label位置
requiredPosition:設置必填標記位于label的位置
name:表單元素的name屬性
required:定義是否在表單元素的label上添加必填標記
tabIndex:定義表單元素的tabIndex屬性
value:定義value屬性

表單標簽的name和value屬性

每個表單元素被映射成一個Action屬性,當表單被提交,所對應的action被實例化,如果該屬性有值,對應得表單元素會顯示該屬性的值,這個值作為value屬性的值
name設置表單元素的名字,該屬性指定綁定值得表達式
如:

<!--文本框的值綁定到action的person屬性的firstname屬性--> <s:textfield name="person.firstname"/>

特殊的表單標簽

2、checkboxlist標簽
一次可以創建多個復選框,同時生成多個<input type=“checkbox”…/>的html標簽
包含以下屬性:
1、list:指定的集合生成多個復選框
2、listKey:指定集合元素中的某個屬性作為復選框的value
3、listValue:指定集合元素中的某個屬性作為復選框的標簽
設置表單元素的 name 屬性,與 Action 中的屬性名對應
使用簡單標簽生成多個復選框

<s:form> <s:checkboxlist name="a" label="你喜歡什么?" labelposition="top" list="{'籃球','乒乓球','羽毛球’}"/> </s:form>


使用簡單的map對象生成多個復選框

<s:checkboxlist name="b" label="你最喜歡什么動物?" labelposition="top" list="#{'鳥類':'鳳凰','野獸':'老虎'}" listKey="key" listValue="value"/>


使用集合中放多個javabean實例生成多個復選框
該javabean的類代碼

public class bookService {public Book[] getBooks(){return new Book[]{new Book("book1","a"),new Book("book2","b"),new Book("book3","c"),};} } public class Book { private String name; private String author; public String getName() {return name; } public void setName(String name) {this.name = name; } public String getAuthor() {return author; } public void setAuthor(String author) {this.author = author; } public Book(String name,String author) {this.name=name;this.author=author; } } <s:bean name="org.crazyit.app.action.bookService" var="bs"/> <s:checkboxlist name="b" label="你最喜歡什么書?" labelposition="top" list="#bs.books" listKey="author" listValue="name"/>


3、radio標簽
與checkboxlist不同的是radio生成的是多個單選按鈕
4、select標簽
該標簽會生成一個下拉列表,以下屬性
list:指定下拉列表框的選項
listKey
listValue
multiple:是否允許多選
5、optgroup標簽
生成一個下拉列表框的選項組,該標簽必須放在<s:select…>標簽下使用

<s:select name="b" label="你最喜歡什么書?" labelposition="top" list="#bs.books" listKey="author" listValue="name"> <s:optgroup label="IT" list="#{'book4':'d','book5':'e'}" listKey="value" listValue="key"/> <s:optgroup label="life" list="#{'book6':'df'}" listKey="value" listValue="key"/> </s:select>


6、head標簽
該標簽用于生成對這些css和javascript代碼的引用
7、updownselect標簽
與select的區別是該標簽生成的額列表框可以上下移動選項,除了可以指定listKey和listValue屬性外,還有以下幾個屬性
1、allowMoveUp:是否顯示上移按鈕,默認為true
2、allowMoveDown:是否顯示下移按鈕,默認為true
3、allowSelectAll:是否顯示全選按鈕,默認為true
4、moveUpLabel:設置上移按鈕上的文本,默認為^
5、moveDownLabel:設置下移按鈕上的文本,默認為v
6、selectAllLabel:設置全選按鈕上的文本,默認為*
8、doubleselect標簽
生成一個級聯列表框(生成兩個下拉列表框),當選擇第一個下拉列表框時,第二個內容也會隨著而動
需要指定兩個下拉列表框的選項
以下屬性:
list:指定輸出第一個下拉列表框的選項的集合
listKey
listValue
doubleList:指定輸出第二個下拉列表框選項的集合
doubleListKey
doubleListValue
doubleName

<s:form action="check"> <s:doubleselect name="ab" label="你喜歡的圖書" list="{'李剛','david'}" doubleName="ba" doubleList="top=='李剛'?{'輕量級java','瘋狂ios講義','瘋狂java講義'}:{'javascript'}"/> </s:form>


9、optiontransferselect標簽
生成兩個列表選擇框,并生成系列的按鈕用于控制各選項在兩個下拉列表之間的移動、升降。當提交該表單時,兩個列表選擇對應的請求參數將被提交
常用屬性
1、addAllToLeftLabel:設置全部移動到左邊按鈕上的文本
2、addAllToRightLabel:設置全部移動到右邊按鈕上的文本
3、addToLeftLabel:設置向左移動按鈕上的文本
4、addToRight:設置向右移動按鈕上的文本
5、allowAddAllToLeft:設置是否出現全部移動到左邊的按鈕
6、allowAddAllToRight:設置是否出現全部移動到右邊的按鈕
7、allowAddToLeft:設置是否出現移動到左邊的按鈕
8、allowAddToRight:設置是否出現移動到右邊的按鈕
9、leftTitle:設置左邊列表框的標題
10、rightTitle:設置右邊列表框的標題
11、allowSelectAll:是否出現選擇全部按鈕
12、selectAllLabel:全部選擇按鈕上的文本
13、doubleList:第二個下拉選項框的集合
14、doubleListKey:第二個下拉選項框的選項的value值
15、doubleListLabel:第二個下拉選項框選項的lable屬性
16、doubleName:第二個下拉選項框的name屬性
17、doubleValue:第二個下拉選項框的value屬性
18、doubleMultiple:第二個下拉選項框是否允許多選
19、list
20、listKey
21、listValue
22、name
23、value
24、multiple

<s:optiontransferselect name="cnbook" label="請選擇你喜歡的圖書" leftTitle="中文圖書" rightTitle="中文圖書" list="{'瘋狂的講義','輕量級javaee'}" multiple="true" headerKey="cnKey" headerValue="選擇中文圖書" emptyOption="true" doubleList="{'abc'}" doubleName="enBook" doubleHeaderKey="enKey" doubleHeaderValue="選擇外文圖書" doubleMultiple="true" />


10、token標簽
用于防止重復提交表單的標簽,(避免刷新頁面重復提交)
要使該標簽起作用,在struts.xml文件中啟用TokenInterceptor攔截器或者TokenSeesionStoreInterceptor攔截器
實現原理是在表單中增加一個隱藏域,每次加載頁面時,該隱藏域的值都不相同,如果兩次請求時對應的隱藏域相同,則阻止表單提交(前一次值會保存在session中)
注:生成的隱藏域默認name是struts.token。
使用分成兩步:在jsp中加入<s:token />
配置action啟用攔截器,(并為invalid.token指定物理視圖資源)
注:使用token攔截器,必須顯示配置使用defaultStack攔截器,否則不會默認生效。

非表單標簽

主要用于在頁面中顯示action封裝的信息
1、actionerror:action實例getActionError()不返回null,該標簽輸出系列錯誤
2、actionmessage:實例getActionMessage()不返回null,該標簽輸出系列信息
3、component:用于創建自定義視圖
4、fielderror:輸出表單域的類型轉換錯誤、檢驗錯誤提示

總結

以上是生活随笔為你收集整理的使用Struts2标签的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

999久久国精品免费观看网站 | 午夜精品中文字幕 | 亚洲干 | 国产成人亚洲在线观看 | 麻豆超碰| 亚洲精品456在线播放乱码 | 中文字幕在线观看免费高清电影 | 亚洲综合成人婷婷小说 | 二区在线播放 | 国产精品自在线拍国产 | 97超视频免费观看 | 天天操天天爽天天干 | 久久久久久看片 | 国产精品99久久久精品免费观看 | 国产精品午夜久久 | 久久久久久久久久久网 | 欧美91精品| 精品人人人| 久久精品欧美一区二区三区麻豆 | 日韩在线一区二区免费 | 六月激情网 | 日韩区欧美久久久无人区 | 久久欧美在线电影 | 免费久久片 | 国产一线天在线观看 | 久久第四色 | 日韩 在线 | 一区 在线 影院 | 在线看国产 | 在线观看精品国产 | 黄色一级大片免费看 | 人人干在线观看 | 国产 亚洲 欧美 在线 | 三级毛片视频 | 色就是色综合 | 精品一区二区日韩 | 欧美在线观看视频一区二区三区 | 精品国产aⅴ麻豆 | 又色又爽又激情的59视频 | 亚洲一级免费电影 | 探花国产在线 | 波多野结衣理论片 | 日本精品久久久久久 | 色综合久久五月天 | 国产精品一区专区欧美日韩 | 日日夜夜精品网站 | 免费麻豆网站 | 一级性视频 | 日韩电影中文字幕在线 | 亚洲黄色免费网站 | 日本黄色一级电影 | 99久久日韩精品免费热麻豆美女 | 亚洲理论片 | 四虎国产精品成人免费影视 | 国产视频97 | 欧洲在线免费视频 | 久久网址 | 久久久久久久久久影视 | 人人爽夜夜爽 | 2023国产精品自产拍在线观看 | 深夜免费福利网站 | 在线中文字幕视频 | 激情视频久久 | 国产一级性生活 | 99久久精品免费看国产免费软件 | 欧美狠狠操 | 亚洲视频99 | 天天操月月操 | 91日本在线播放 | 中文字幕在线观看资源 | 国产精品免费成人 | 精品国产乱码久久久久久1区二区 | 13日本xxxxxⅹxxx20 | 久久免费视频在线观看 | 久久国产精品电影 | 在线免费观看视频一区二区三区 | 国产麻豆精品一区 | 精品国产乱码久久久久久1区2匹 | 日韩成人精品一区二区三区 | 亚洲欧美精品一区 | 成人亚洲欧美 | 亚洲理论在线观看电影 | 91超碰在线播放 | 97天天综合网 | 99热99热 | 亚洲高清av| 久久成人久久 | 国产成人精品一区二区三区福利 | 久久人人97超碰国产公开结果 | 免费a现在观看 | 亚洲一区日韩 | 欧美日韩不卡在线 | 狠狠色狠狠综合久久 | av电影免费在线看 | 婷婷丁香六月天 | 国产精品h在线观看 | 91探花系列在线播放 | 精品一区二区在线免费观看 | 国产在线播放观看 | 1024手机基地在线观看 | 亚洲区视频在线 | 国内精品在线看 | 亚洲va欧洲va国产va不卡 | 国产清纯在线 | 亚洲国产精品传媒在线观看 | 激情影音| 人人爽人人澡人人添人人人人 | 日本精品久久久久久 | 中文字幕一区二区三区乱码不卡 | 高清av免费看 | 国产精品国产自产拍高清av | 免费a级毛片在线看 | 在线视频手机国产 | 天天躁日日躁狠狠躁av麻豆 | 国产区久久 | 中文字幕在线看视频 | 日韩大片在线 | 亚洲精品国产日韩 | 五月婷网站 | 一区二区三区在线电影 | 精品国产激情 | 黄色亚洲精品 | 日韩精选在线观看 | 激情五月综合 | 黄色小网站在线 | 99精品久久久久久久久久综合 | 久久精品电影 | 182午夜在线观看 | 天天操综合网站 | 97成人免费| 亚洲精品久久在线 | 香蕉在线观看视频 | 久久久亚洲电影 | 久久国产手机看片 | 91av在线播放视频 | 99国产一区二区三精品乱码 | 国产美腿白丝袜足在线av | 麻豆久久久久久久 | 美女啪啪图片 | 国产精品久久精品国产 | 久久久久国产精品免费网站 | 在线观看亚洲国产精品 | 精品播放 | 中文字幕第一页在线vr | 亚洲日b视频 | 国产高清中文字幕 | 欧美日韩精品在线观看 | 视频精品一区二区三区 | 黄p在线播放 | 国产又粗又猛又黄视频 | 久久成人福利 | av电影免费观看 | 色网站在线免费 | 最新色站 | 久久久穴| 欧美日韩视频在线一区 | www.色午夜| 91传媒免费观看 | 亚洲电影影音先锋 | 欧美激情xxxx | 欧美亚洲一级片 | 日韩电影在线观看一区二区三区 | 最近中文字幕久久 | 91精品天码美女少妇 | 久久精品综合一区 | 日韩高清三区 | 国产精品嫩草55av | 久久xx视频| 免费黄av | 久久久视频在线 | www.久久成人| 狠狠干干| 天天综合狠狠精品 | 免费高清在线观看成人 | 日本精品免费看 | 国产精品 中文字幕 亚洲 欧美 | 欧洲亚洲国产视频 | 77国产精品 | 精品国产91亚洲一区二区三区www | 国产精品免费久久 | 欧美大片在线观看一区 | 亚洲夜夜爽 | 欧美一区二区精品在线 | 狠狠网亚洲精品 | 中文国产字幕 | 超碰在线98 | 懂色av一区二区在线播放 | 免费观看国产视频 | 麻豆影视在线播放 | 国产高清av免费在线观看 | 国产精品永久免费视频 | 精品国产一区二区三区四区vr | 亚洲狠狠操 | 精品亚洲欧美无人区乱码 | 中文字幕资源在线观看 | 日韩欧美在线视频一区二区 | 久久视了 | 在线观看911视频 | 亚洲一级特黄 | 欧美日韩亚洲精品在线 | 精品视频在线免费 | 91丨九色丨国产在线 | av福利在线免费观看 | 中文字幕资源网 国产 | 午夜天使 | 欧美一级视频一区 | 欧洲亚洲国产视频 | 国产久草在线观看 | 免费视频久久久久久久 | 国产亚洲精品精品精品 | 成人国产精品一区二区 | 日韩在线免费电影 | 天天射天 | 久 久久影院 | aaa免费毛片| 国产精品久久久久久久7电影 | 欧美91片 | 天天弄天天操 | 欧美天堂影院 | 成人黄色资源 | 欧美 日韩 国产 成人 在线 | 欧美aaa一级| 亚洲精品久久久蜜桃 | 日韩av成人在线观看 | 精品国产一区二区三区不卡 | 国产亚洲欧美日韩高清 | 亚洲日韩欧美一区二区在线 | 一区二区三区日韩视频在线观看 | 一色屋精品视频在线观看 | a级片久久久 | 日本久久99 | 久久久久伊人 | 久久私人影院 | 国产精品欧美久久久久无广告 | 一区二区亚洲精品 | 天天射天天舔天天干 | 国产老熟 | 国产一区二区不卡视频 | 色偷偷人人澡久久超碰69 | 一级黄色片毛片 | 日韩三级免费观看 | 成人a免费| 激情视频一区二区三区 | 99视频偷窥在线精品国自产拍 | 黄视频色网站 | 日韩激情片在线观看 | 午夜影院一级 | 日韩有码在线观看视频 | 亚洲国产精品va在线看黑人 | 久久久久久久久久久免费视频 | 一级黄色大片 | 免费一级黄色 | 成人av高清在线 | 成年人视频在线免费观看 | 欧美成天堂网地址 | 国产专区在线看 | 成人视屏免费看 | 国产精品一区二区三区在线看 | 日韩欧美一区二区三区免费观看 | 97超级碰碰碰碰久久久久 | 亚洲精品乱码久久 | 西西444www| a级国产乱理论片在线观看 特级毛片在线观看 | 激情综合五月天 | 深爱激情丁香 | 在线观看中文字幕 | www.午夜| 久久伦理电影 | 欧美日韩视频在线观看一区二区 | 91亚洲精品久久久中文字幕 | 国产成人一区二区三区在线观看 | 国产一级免费视频 | 久久久国产精品久久久 | 热久久电影 | 国产女教师精品久久av | 亚洲网站在线看 | 女人18精品一区二区三区 | 九九99 | 91免费版成人| 区一区二区三在线观看 | 国产高清成人av | 四虎影视国产精品免费久久 | 四虎影视成人永久免费观看视频 | 色综合久久久久综合99 | 国产成人一二三 | 五月花婷婷 | 国产日产在线观看 | 日韩网站视频 | 国产一区二区在线免费播放 | 三级av在线 | 在线观看理论 | 国产视频黄 | 精品二区视频 | 丁香综合五月 | av无限看| 操操操日日日干干干 | 黄色aaaaa| 最新国产在线视频 | 亚洲综合视频在线播放 | 色偷偷人人澡久久超碰69 | 成片视频免费观看 | 黄色片亚洲 | 香蕉在线视频播放网站 | 国产一区二区手机在线观看 | 国产精品久久综合 | 97免费在线观看 | 欧美日韩在线观看一区 | 久久国产剧场电影 | 欧美性生活一级片 | 亚洲天堂视频在线 | 日韩免费av网址 | 免费成人av电影 | 亚洲 精品在线视频 | 国产视频综合在线 | 福利一区二区 | 91精选在线 | 日本黄色免费在线 | 欧美精品久久99 | 国产美女久久久 | 最新av免费在线 | 国产明星视频三级a三级点| 欧美一区二区在线 | 五月天婷婷狠狠 | 亚洲国产999 | 国产一区二区三区在线免费观看 | 91精品视频网站 | 最近中文字幕在线播放 | 久久久久久久久毛片精品 | 人成免费网站 | 久久久麻豆精品一区二区 | 日日爽视频 | www.久久爱.cn | 日韩h在线观看 | 黄色影院在线观看 | 在线精品观看 | 五月婷婷,六月丁香 | 综合色爱 | 日本不卡久久 | 亚洲欧美日韩精品久久久 | av在线永久免费观看 | 福利久久久 | 色橹橹欧美在线观看视频高清 | 久久精品毛片基地 | 97视频免费在线观看 | 欧洲精品码一区二区三区免费看 | 国产成人精品电影久久久 | 日韩中文在线播放 | 免费高清在线观看电视网站 | 日韩字幕 | 中文字幕av最新 | 天天视频色 | 久久99久久99精品 | 日韩精品首页 | 五月天中文字幕mv在线 | 毛片在线网 | 一区二区三区观看 | 97视频免费观看 | 丁香婷婷深情五月亚洲 | 狠狠夜夜 | 国产精品18毛片一区二区 | 91香蕉国产| 99精品国产99久久久久久97 | 国产视频久久久久 | 91九色性视频 | 日韩在线视频不卡 | 91精品国自产拍天天拍 | 亚洲天天做 | 国产va精品免费观看 | 在线观看视频日韩 | 久久精品精品电影网 | 欧美一级片在线观看视频 | 欧美精品久久久久a | 精品国产一区二区三区久久久蜜月 | 久久视频国产 | 国产精品毛片一区视频播 | 国产一级在线 | 狠狠干激情 | 国产分类视频 | 麻豆激情电影 | 免费美女久久99 | 国产日韩欧美精品在线观看 | 成人av在线亚洲 | 看av在线 | 91综合视频在线观看 | 亚洲综合在线观看视频 | 在线午夜电影神马影院 | 亚洲一区久久久 | 91精品视频免费 | 亚洲va欧美va人人爽春色影视 | 久久国产手机看片 | 日韩中文字幕在线 | 正在播放国产一区 | 中文电影网 | 亚洲电影久久 | 一区二区三区电影在线播 | 日韩电影一区二区在线观看 | 日韩精品第一区 | 欧美 日韩 国产 中文字幕 | 干天天 | 久久综合狠狠综合久久激情 | 日本精品视频网站 | 91视频成人免费 | 99视频精品全部免费 在线 | 97超碰免费在线 | 激情一区二区三区欧美 | 成人免费一级片 | 欧美性粗大hdvideo | 摸bbb搡bbb搡bbbb | 蜜臀91丨九色丨蝌蚪老版 | 精品国产大片 | 99亚洲精品 | 久久久久久久久久久高潮一区二区 | 日本精品视频在线 | 97超碰网| 国产69精品久久99不卡的观看体验 | 亚洲精品乱码久久 | 国产精品男女视频 | 2019国产精品 | 97香蕉久久超级碰碰高清版 | 午夜久久影院 | 欧美在线aaa | av天天澡天天爽天天av | 91影视成人 | 一区二区三区日韩精品 | av免费看电影 | 九九热1 | 操高跟美女 | 欧美日韩国语 | 日韩成人看片 | 亚洲成人蜜桃 | 1024手机基地在线观看 | 亚洲国产欧美一区二区三区丁香婷 | 肉色欧美久久久久久久免费看 | 精品欧美一区二区在线观看 | 91mv.cool在线观看 | 婷五月激情 | www.天天综合 | 激情五月在线观看 | 亚洲综合成人婷婷小说 | 天天爽人人爽 | 精品一二三四视频 | 久草在线在线精品观看 | 国产高清视频免费最新在线 | 91在线播| 亚洲一二三在线 | 久爱精品在线 | 91成人免费观看视频 | 91久久精品一区二区三区 | 免费在线观看国产黄 | 色97在线| 国产免费资源 | 欧美日韩观看 | 成人免费视频视频在线观看 免费 | 超碰97人 | av一级片在线观看 | 亚洲欧美偷拍另类 | 美女黄网站视频免费 | 亚洲涩综合 | 亚洲综合欧美精品电影 | 亚洲天天 | 91视频久久久 | zzijzzij日本成熟少妇 | 成年人在线免费看视频 | 久久96国产精品久久99漫画 | 欧美人体xx | 日韩成人精品一区二区三区 | 99久久电影 | 婷婷色在线资源 | 免费亚洲片 | 久久永久免费视频 | 午夜久久久久久久久久久 | 久久伊人精品一区二区三区 | 国产黄色精品视频 | 婷婷久草 | 国产高清一区二区 | 久久久久99精品成人片三人毛片 | 天天骚夜夜操 | 国产黄色片免费看 | 日韩高清不卡一区二区三区 | 国产高清精品在线观看 | 免费亚洲电影 | 人人射人人澡 | 99在线观看 | 视频福利在线 | 成人精品一区二区三区中文字幕 | 国产久视频| 亚洲综合小说电影qvod | 亚洲永久av| 日韩免费电影一区二区三区 | 日韩精品一区二区三区免费视频观看 | 欧美日韩不卡一区 | 人人插人人舔 | 国产玖玖精品视频 | 久久国产露脸精品国产 | 国产99中文字幕 | 国内精品久久久久久久久久久久 | 91九色国产在线 | 青青五月天 | 毛片精品免费在线观看 | 日日摸日日添日日躁av | 成人免费视频网站在线观看 | 久久精品九色 | 天天操夜操视频 | 日本久久综合网 | 五月婷婷在线视频观看 | 亚洲干视频在线观看 | 久久高视频 | 九九热中文字幕 | 91九色视频导航 | 美女网站黄在线观看 | 激情视频二区 | 国产精品一区二区62 | 在线亚州 | 色多视频在线观看 | 国产在线理论片 | 久久免费视屏 | 久久久久免费网站 | 欧美污污网站 | 91 在线视频 | 蜜臀久久99精品久久久无需会员 | 亚洲综合黄色 | 国产成人精品久久久 | 国产免费观看久久 | 中文字幕免费一区 | 欧美另类一二三四区 | 国产成免费视频 | 激情自拍av | 深夜成人av| 久艹视频在线免费观看 | 免费在线观看日韩欧美 | 99视频免费观看 | 91精品中文字幕 | 99r在线精品 | 美女久久久久久久久久 | 天天干中文字幕 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 九九在线高清精品视频 | 日韩高清免费在线 | 99热这里只有精品8 久久综合毛片 | 亚洲精品乱码白浆高清久久久久久 | 久久人人爽人人 | 日韩视频在线不卡 | 欧美二区三区91 | 精品久久久久久亚洲综合网站 | 国产特级毛片aaaaaaa高清 | 久久免费福利视频 | 日韩av成人在线观看 | av福利在线免费观看 | 91视频 - x99av | 青草草在线 | 超碰在线公开免费 | 深爱激情站 | 综合五月 | 日韩一区二区在线免费观看 | 亚洲永久av | 99国产免费网址 | 国产精品你懂的在线观看 | 亚洲一区日韩精品 | 亚洲国产精品电影 | 亚洲国产欧美在线人成大黄瓜 | 日韩高清一二区 | 色综合天天干 | 国产精品免费久久久 | 最近中文字幕第一页 | 天天综合网久久综合网 | 久久字幕精品一区 | 日韩黄色在线 | 国产日韩欧美在线看 | 一区二区三区电影 | 欧美久久久久久久久久 | 欧美日韩在线观看视频 | 成人免费91| 一区二区三区手机在线观看 | 黄色影院在线免费观看 | 日韩免费视频线观看 | 婷婷视频在线 | 视频国产一区二区三区 | 国产精品免费人成网站 | 首页中文字幕 | 成人一级在线 | 亚洲精品视频偷拍 | 成年人视频免费在线 | 国产精品久久久久久久久久久免费 | 91人人射| 亚洲禁18久人片 | 天天干,天天干 | 欧美性粗大hdvideo | 91亚洲精品久久久久图片蜜桃 | 在线播放国产精品 | www.亚洲精品在线 | 国产成人亚洲在线观看 | 色综合久久久久综合体桃花网 | 久久久久久国产精品 | 国产欧美日韩精品一区二区免费 | 国产又粗又猛又爽又黄的视频先 | 麻豆观看| 国产麻豆精品一区二区 | 免费www视频 | 九九综合在线 | 午夜成人免费影院 | 婷婷色5月| 精品一区免费 | 久久综合五月天婷婷伊人 | 久久这里只有精品视频首页 | 色婷婷一区 | 成人午夜黄色影院 | 成人a免费看 | 岛国av在线| 国产麻豆果冻传媒在线观看 | 99热在线网站| 日韩激情中文字幕 | 精品一区在线 | 免费久久网 | 日韩电影一区二区在线观看 | 中文字幕 国产视频 | 国产精品久久久久久69 | av在线专区 | 人人爽人人爽人人片 | 免费在线中文字幕 | 国内精品久久久久久久久久清纯 | 999久久国产| 亚洲在线高清 | 免费a视频| 国产三级精品在线 | 亚洲国产视频a | 欧美a级片网站 | 国产一级特黄电影 | 午夜性盈盈 | 精品视频专区 | 国产精品久久久久久久久久妇女 | 国产黄免费 | 成人午夜电影网站 | 在线播放第一页 | 亚洲精欧美一区二区精品 | 国产视频在线观看一区二区 | 黄色三级久久 | 欧美二区三区91 | 最近高清中文字幕在线国语5 | 黄色h在线观看 | 日韩欧美精品一区二区三区经典 | 99在线精品免费视频九九视 | 婷婷久久综合网 | 久久 亚洲视频 | 久久婷婷综合激情 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 久久久午夜电影 | 91视频在线网址 | 亚洲理论在线观看电影 | 在线观看免费一区 | av无限看 | 在线看片中文字幕 | 国产精品大尺度 | 一区二区精品国产 | 涩涩伊人| 91av在线免费视频 | 亚洲成人资源在线观看 | av丝袜制服| 91视频免费| 日韩欧美高清在线观看 | 六月婷操 | 午夜aaaa| 婷婷丁香在线视频 | 美女免费视频一区二区 | 在线观看黄色免费视频 | av在线一| 欧美xxxxx在线视频 | 免费黄a | 国产亚洲情侣一区二区无 | 国产精品午夜久久 | 日韩av一区二区三区四区 | 一区二区视频欧美 | 日本中文字幕电影在线免费观看 | 国产精品大片在线观看 | 最新av在线播放 | 久久免费视频6 | 日韩电影中文 | 视频1区2区 | 视频一区二区精品 | 国产日韩视频在线 | 色.www| 天天操天天是 | 91亚洲影院 | 亚洲最大av网站 | 国产精品激情偷乱一区二区∴ | 日韩精品aaa| 成人av在线直播 | 亚洲韩国一区二区三区 | 日本公妇在线观看高清 | 国产在线视频一区二区三区 | 国产在线日韩 | 四虎国产精品免费观看视频优播 | 青草视频在线看 | 一区二区三区在线免费观看视频 | 欧美片网站yy | 久久伊人操 | 米奇四色影视 | 麻豆果冻剧传媒在线播放 | 久久亚洲在线 | 亚洲成人精品在线观看 | 99视频导航| 日本三级中文字幕在线观看 | 日韩av二区 | 欧美午夜一区二区福利视频 | 最新国产在线 | 四虎国产精品永久在线国在线 | 久久成人午夜视频 | 国内丰满少妇猛烈精品播放 | 激情网色| 成人h在线播放 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩av有码在线 | 成人在线播放网站 | 91成人亚洲 | 国产黄色一级片在线 | 美女视频一区二区 | 日韩久久久 | 三级视频国产 | 亚洲va男人天堂 | 国产高清视频 | 国内精品视频在线 | 国产成人亚洲在线观看 | 黄色电影在线免费观看 | 99精品在线免费在线观看 | 中文字幕电影一区 | 欧美视频不卡 | 欧美91视频 | 日韩精品视频第一页 | 色综合在 | 97在线成人 | 国产麻豆精品免费视频 | 精品国产1区 | 国产精品久久久久一区 | 久久免费99精品久久久久久 | 五月开心六月伊人色婷婷 | 99久久毛片 | 99久久精品久久亚洲精品 | 99色在线播放 | 国产精品大尺度 | 日韩一区二区三区在线看 | 操少妇视频| 欧美激情第28页 | 国产在线观看中文字幕 | 伊人狠狠色| 免费瑟瑟网站 | 蜜臀av性久久久久av蜜臀妖精 | 99视频精品全国免费 | 天堂资源在线观看视频 | 91精品国产综合久久福利不卡 | 九九综合在线 | 精品久久国产一区 | 激情丁香综合五月 | 一区二区中文字幕在线播放 | 狠狠色丁香婷婷综合久小说久 | 亚洲欧洲精品一区二区 | 欧美日本不卡视频 | 欧美精品999 | 久久久久免费精品国产小说色大师 | 久久丁香 | 人人爽久久久噜噜噜电影 | 五月婷丁香网 | 98久久 | 免费av网站在线看 | 国产视频中文字幕 | 精品在线小视频 | 国产69久久久欧美一级 | 久久系列 | 国产又粗又硬又长又爽的视频 | 天天色官网| 欧洲精品码一区二区三区免费看 | 国产综合在线观看视频 | 美女av免费 | 国产高清小视频 | 一级一片免费观看 | 天天爽综合网 | 偷拍精品一区二区三区 | 成人在线播放免费观看 | 四虎在线免费观看 | 日本中文一区二区 | 欧美一级电影片 | 免费视频资源 | 久热av| 国产成人亚洲在线观看 | 中文字幕一区二区三区四区在线视频 | 极品中文字幕 | 日韩免费av网址 | 视频二区在线 | 国产电影一区二区三区四区 | 国产精品美女www爽爽爽视频 | 草久草久 | 国产成在线观看免费视频 | 日日干视频 | 一区二区中文字幕在线播放 | 午夜精品一二三区 | 亚洲理论片在线观看 | 欧美日韩视频免费看 | 免费看黄在线看 | 日本精品久久久一区二区三区 | 7777xxxx| 日日爱视频 | 日韩理论片在线观看 | 天天射,天天干 | 狠狠撸电影 | 激情偷乱人伦小说视频在线观看 | 国产精品大尺度 | 怡红院成人在线 | 最近最新中文字幕视频 | 69绿帽绿奴3pvideos | 蜜桃av久久久亚洲精品 | 国产中文字幕免费 | 色在线中文字幕 | 免费观看的黄色 | 久久婷婷精品视频 | 欧美色图狠狠干 | 久久久国产一区二区三区四区小说 | 九九九九九国产 | 成人黄色视| 黄色的网站免费看 | 国产免费叼嘿网站免费 | 日韩精品一区二区三区丰满 | 免费在线观看国产精品 | 国产一区二区视频在线 | 天天干天天综合 | 亚洲欧洲国产日韩精品 | 久久好看免费视频 | 丝袜美腿在线视频 | 色婷婷啪啪免费在线电影观看 | 久久精品国产免费看久久精品 | 国产精华国产精品 | www.888av| 在线免费观看视频 | 亚洲伊人色 | 国产群p| 欧美激情视频一区 | 久草在线免费看视频 | 亚洲精品网站 | 日韩高清精品免费观看 | 国产v亚洲v | 国产伦理久久 | 99精品国产兔费观看久久99 | 五月色婷| 在线观看国产高清视频 | 亚洲三级在线播放 | 激情一区二区三区欧美 | 国产香蕉久久精品综合网 | 草在线视频 | 黄色国产高清 | 人人躁 | 九九热在线精品视频 | www视频免费在线观看 | 奇米影视四色8888 | 色视频在线免费观看 | 亚洲女欲精品久久久久久久18 | 射久久 | 91视频91色| 久久精品一区二区三区中文字幕 | 久久黄色免费观看 | 日韩av不卡播放 | 日产av在线播放 | 国产精品欧美一区二区三区不卡 | 99热999| 亚洲天堂网在线视频观看 | 9999激情 | 日韩精品免费 | 开心激情久久 | 中文字幕色婷婷在线视频 | 日韩高清在线一区二区 | 亚洲免费一级电影 | 黄色毛片视频免费观看中文 | 国产精品免费在线播放 | 在线观看av不卡 | 在线亚洲免费视频 | 日韩在线不卡视频 | 特级毛片在线免费观看 | 狠狠色综合欧美激情 | 精品嫩模福利一区二区蜜臀 | 18pao国产成视频永久免费 | 婷婷电影在线观看 | 国产美女视频免费 | 天天干夜夜干 | 日韩av看片 | 黄a在线看 | 亚洲精品一区二区在线观看 | 国产成人av电影在线观看 | 免费在线观看亚洲视频 | 久久经典国产视频 | 国产色拍拍拍拍在线精品 | 中文字幕a∨在线乱码免费看 | 欧美日韩精 | 亚洲国产精品视频在线观看 | 久久成人国产精品一区二区 | 在线观看视频福利 | 欧美日韩综合在线观看 | 久久精品视频在线 | 日韩欧美在线观看一区二区三区 | 九九热中文字幕 | 一区二区三区精品久久久 | 蜜桃视频精品 | 999成人网 | 国产精品美女久久久久久免费 | 免费看精品久久片 | 精品国产1区二区 | 丝袜美腿一区 | 久久久国产精品网站 | 婷婷六月天综合 | 亚洲国产成人在线播放 | 综合网天天 | 91精品国产自产在线观看 | 久久www免费视频 | 99久久er热在这里只有精品15 | 色橹橹欧美在线观看视频高清 | 色婷婷亚洲精品 | 91九色国产蝌蚪 | 天天干天天摸 | 在线色网站| 日韩欧美精品在线 | 久久久久一区二区三区四区 | 在线免费观看国产 | av大全在线免费观看 | 久久免费a | 视频福利在线 | 成人午夜久久 | 国产成人精品午夜在线播放 | 四虎永久网站 | 免费看一级一片 | 久久久精品福利视频 | 久国产在线播放 | 久精品在线观看 | 亚洲精品一区二区18漫画 | 国产在线观看a | 国产精品原创视频 | 免费av黄色 | 中文字幕欧美三区 | 国产不卡免费视频 | 免费久久99精品国产婷婷六月 | 丁香六月中文字幕 | 免费在线观看黄色网 | 免费观看一级一片 | 99国产一区二区三精品乱码 | 亚洲国产精品久久久久 | 国产在线无| 黄色的视频网站 | 丁香花在线观看视频在线 | 久草在线观看视频免费 | 在线免费试看 | 日韩中文字幕在线 | 91色蜜桃 | 一区二区影院 | 欧美另类tv | 国产福利av | 国产在线播放观看 | 久久国产免费看 | 久久综合五月天 | 欧美大片在线观看一区 | 成人久久18免费网站麻豆 | 婷婷久久综合九色综合 | 国外成人在线视频网站 | 西西www444 | 久久手机在线视频 | 九九久久久久久久久激情 | 456免费视频 | 天天干天天插伊人网 | 欧美性色综合网站 | 国产精品99免视看9 国产精品毛片一区视频 | 国产在线高清视频 | 在线视频观看你懂的 | 国产高清视频免费在线观看 | 波多野结衣电影久久 | av视屏在线 | av中文字幕亚洲 | 欧美精品视 | 91av欧美| 日韩精品一区二区三区三炮视频 | 欧美久久电影 | 97天堂网 | 欧美激情一区不卡 | 亚洲国产精品小视频 | 黄色av免费看 | 亚洲高清资源 | 久久久久久免费网 | 国产成人精品国内自产拍免费看 | 97精品超碰一区二区三区 | 久久av中文字幕片 | 日韩精品久久久久久中文字幕8 | 欧美一级在线观看视频 | 成人h动漫精品一区二 | 亚洲三级黄色 | 欧美日bb| 日韩一区二区三区视频在线 | 99久久婷婷国产一区二区三区 | 国内小视频 | 日韩黄色在线 | av观看免费在线 | 成人av在线影视 | 久9在线 | 久久经典国产 | 福利一区在线视频 | 国产精品免费一区二区三区在线观看 | 日韩精品专区在线影院重磅 |