99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

anyline JSP標簽

2022-09-16 10:24 更新

al:checkbox實現(xiàn)多選框


<div class="al-chk-item-border">
<input type="checkbox" value="1" id="lvl_1" checked="checked" name="lvl"/><label for="lvl_1" class="al-chk-item-label">高級</label>
</div>
<div class="al-chk-item-border">
<input type="checkbox" value="2" id="lvl_2" checked="checked" name="lvl"/><label for="lvl_2" class="al-chk-item-label">中級</label>
</div>
<div class="al-chk-item-border">
<input type="checkbox" value="3" id="lvl_3" name="lvl"/><label for="lvl_3" class="al-chk-item-label">初級</label>
</div>

標簽實現(xiàn):

<al:checkbox data="{1:高級,2:中級,3:初級}" name="lvl" value="1"></al:checkbox>默認選中1
<al:checkbox data="{1:高級,2:中級,3:初級}" name="lvl" value="1,2"></al:checkbox>默認選中1,2

al:checkbox實現(xiàn)開關(guān)復選框


<input type="checkbox" id="chk_fn" name="fn" value="1" /><label for="chk_fn">是否開放</label>

標簽實現(xiàn):

<al:checkbox data="{1:是否開放}" name="fn" id="chk"></al:checkbox>
<al:checkbox data="{1:是否開放}" name="fn"></al:checkbox>如果不設(shè)置id則會根據(jù)name和value生成id="fn_1"
<al:checkbox data="{1:是否開放}" name="fn" id="chk" value="1"></al:checkbox>如果設(shè)置value="1"(與data中的值一致),則生成的checkbox默認選中

關(guān)于al:date中的nvl與dev

value與body為空的情況下

如果nvl=true則顯示當前日期,如果nvl=false則不輸出

如果nvl=其他值,則直接輸出nvl

如果沒有指定value,body,nvl都為空,同時def有值,則輸入def

需要注意的是def與nvl=true時,日期都會參與格式化與運算(如增加一天),而nvl=其他值時,直接原樣輸出evl并不執(zhí)行格式化與其他運算

關(guān)于al:number中的def與evl

def是指如果沒有輸入值,則取默認值,默認值同樣會執(zhí)行格式化與其他運算

evl/nvl是指如果結(jié)果為empt(null),則直接輸出evl/nvl,不會執(zhí)行格式化,不會執(zhí)行運算

關(guān)于分頁后退保持頁數(shù)

有一種典型的場景AJAX分頁,
用戶第一次打開列表頁時默認顯示第1頁。

用戶在列表頁中切換到第2頁后,在第2頁中打開一個條目的明細。操作完明細后退。返回到到列表
這時列表頁需要直接顯示第2頁數(shù)據(jù)。
如何區(qū)分是后退過來的還是頁面刷新過來的。navi是在列表頁中存放了一個隱藏的input在切換頁數(shù)后修改這個input
刷新過來的頁面這個input值為空,而后退過來的這個input值為2
根據(jù)瀏覽器加載機制,在頁面加載完成之后才會給input賦值。所以在頁面加載過程中取不到這個input值。
可以把需要取input值的代碼放在setTimeout(function(){取值},0);

al:checkbox設(shè)置data-*屬性

set.add(DataRow.parseJson("{''ID'':''1'',''CODE'':''01'',''NM'':''高級'',''TITLE'':''高級工工程師'',''LVL'':''A''}"));
set.add(DataRow.parseJson("{''ID'':''2'',''CODE'':''02'',''NM'':''中級'',''TITLE'':''中級工工程師'',''LVL'':''B''}"));
set.add(DataRow.parseJson("{''ID'':''3'',''CODE'':''03'',''NM'':''初級'',''TITLE'':''初級工工程師'',''LVL'':''C''}"));

通過itemExtra設(shè)置data-*

 <al:checkbox data="${set}" border="true" itemExtra="id:ID,code:CODE"/>

根據(jù)ID值生成data-id值,執(zhí)行結(jié)果

<input type="checkbox" value="1" id="chk_1" name="chk"data-id="1"data-code="01"/><label for="chk_1" class="">高級</label>
<input type="checkbox" value="2" id="chk_2" name="chk"data-id="2"data-code="02"/><label for="chk_2" class="">中級</label>
<input type="checkbox" value="3" id="chk_3" name="chk"data-id="3"data-code="03"/><label for="chk_3" class="">初級</label>

如果直接指定data-*的值,則通過extra屬性

<al:checkbox data="${set}" border="false" extra="id:1,code:2" name="chk"/>

執(zhí)行結(jié)果

<input type="checkbox" value="1" id="chk_1" name="chk" data-id="1" data-code="2"/><label for="chk_1" class="al-chk-item-label">高級</label>
<input type="checkbox" value="2" id="chk_2" name="chk" data-id="1" data-code="2"/><label for="chk_2" class="al-chk-item-label">中級</label>
<input type="checkbox" value="3" id="chk_3" name="chk" data-id="1" data-code="2"/><label for="chk_3" class="al-chk-item-label">初級</label>

al:checkbox自定義樣式

默認情況下生成的標簽在最外層有div包圍,如果是多選框則每個條目外也有div包圍

可以通過clazz="item"設(shè)置每個條目外層div的class,通過borderClazz="border"設(shè)置最外層div的class

如果不需要外層div可以通過border="false"取消

al:checkbox生成臨時選項


在根據(jù)集合數(shù)據(jù)源生成多選框時,經(jīng)常需要生成一個數(shù)據(jù)源中沒有的默認項,

如數(shù)據(jù)源中只有高級、中級、初級三個選項,但收集數(shù)據(jù)時需要一個待定,這時需要在生成標簽時指定一個默認項

 <al:checkbox data="${set }" head="默認" name="lvl"></al:checkbox>

如果需要設(shè)置選中項,首先要給這一項設(shè)置value值也就是生成的input的value值,再通過標簽的value屬性設(shè)置默認選中項

 <al:checkbox data="${set }" head="默認" headValue="0" name="lvl" value="0"></al:checkbox>

當headValue與value中至少一個值相等時,當前項默認選中

al:checkbox根據(jù)集合數(shù)據(jù)源確定默認選中項

根據(jù)集合數(shù)據(jù)源確認默認選中項時,默認情況下會取集合中條目的ID值,選項中的value值在數(shù)據(jù)源中出現(xiàn)時則選中當前項
但數(shù)據(jù)源經(jīng)常是從數(shù)據(jù)庫中查詢出來的,列中并不一定有ID,也有可能是CD
這時需要顯式指定根據(jù)哪一列或哪一個屬性的值來確認默認選中項

<al:checkbox data="${set }" valueKey="CODE" textKey="TITLE"  value="${values}" rely="CD"/>

當set條目中的CODE值與values條目中的CD值有至少一項相等時,則選中當前項

set:用來生成復選框的數(shù)據(jù)源

value:用來確證默認選中項的數(shù)據(jù)源

al:checkbox 自定義value key與text key 

根據(jù)集合數(shù)據(jù)源生成checkbox時,默認情況下會取集合中條目的ID值作為input的value值,取條目的NM值作為label的標簽體

但數(shù)據(jù)源經(jīng)常是從數(shù)據(jù)庫中查詢出來的,列中并不一定有ID和NM,也有可能是CODE,TITLE或其他情況

這時需要顯式指定value key與text key

<al:checkbox data="${set }" valueKey="CODE" textKey="TITLE" />

al:checkbox根據(jù)集合數(shù)據(jù)源實現(xiàn)多選框 

<div class="al-chk-item-border">
<input type="checkbox" value="1" id="lvl_1" checked="checked" name="lvl"/><label for="lvl_1" class="al-chk-item-label">高級</label>
</div>
<div class="al-chk-item-border">
<input type="checkbox" value="2" id="lvl_2" checked="checked" name="lvl"/><label for="lvl_2" class="al-chk-item-label">中級</label>
</div>
<div class="al-chk-item-border">
<input type="checkbox" value="3" id="lvl_3" name="lvl"/><label for="lvl_3" class="al-chk-item-label">初級</label>
</div>

標簽實現(xiàn):、

DataSet set = new DataSet();

set.add(DataRow.parseJson("{''ID'':''1'',''NM'':''高級''}"));
set.add(DataRow.parseJson("{''ID'':''2'',''NM'':''中級''}"));
set.add(DataRow.parseJson("{''ID'':''3'',''NM'':''初級''}"));

DataSet values = new DataSet();
values.add(DataRow.parseJson("{''ID'':''1''}"));
values.add(DataRow.parseJson("{''ID'':''2''}"));
<al:checkbox data="${set }" name="lvl" value="${values }"></al:checkbox>

這里將根據(jù)values中的條目的ID來確定默認選中項

al:checkbox自定義選中條件 

通過集合數(shù)據(jù)源生成checkbox時,有時需要根據(jù)某一列表值設(shè)置默認選中

如所有級別為A的條目默認選中

DataSet set = new DataSet();

set.add(DataRow.parseJson("{''ID'':''1'',''CODE'':''01'',''NM'':''高級'',''TITLE'':''高級工工程師'',''LVL'':''A''}"));

set.add(DataRow.parseJson("{''ID'':''2'',''CODE'':''02'',''NM'':''中級'',''TITLE'':''中級工工程師'',''LVL'':''B''}"));

set.add(DataRow.parseJson("{''ID'':''3'',''CODE'':''03'',''NM'':''初級'',''TITLE'':''初級工工程師'',''LVL'':''C''}"));
<al:checkbox data="${set}" name="chk" checkedValue="A"/>

條目中ID=A時,當前項選中

<al:checkbox data="${set}" name="chk" checkedValue="A" rely="LVL"/>

注意:生成input.value時還是取ID列的值,rely只是在判斷選中條件時使用,如果不指定rely則根據(jù)ID=A判斷是否選中

al:text 

java:

String key ="NM";
DataRow row = new DataRow();
row.put(key,"張三");
DataSet set = new DataSet();
set.add(row);

jsp:

<al:text data="${row}" property="NM"/>

取row中的NM列的值

等同于${row.NM}

在實現(xiàn)開發(fā)過程中,NM經(jīng)常需要動態(tài)值,此時才需要text標簽

<al:text data="${row}" property="${key}"/>

按下標取值

<al:text data="${set}" index="0" property="${key}"/>

分頁查詢之AJAX分頁 

AJAX分頁一般需要

1.結(jié)構(gòu)頁面

2.數(shù)據(jù)頁面

每個頁面一般對應(yīng)后臺的Controller為其提供必要數(shù)據(jù)

大體流程一般是

1.訪問結(jié)構(gòu)controller 

2.結(jié)構(gòu)controler打到對應(yīng)的結(jié)構(gòu)頁面

3.結(jié)構(gòu)頁面發(fā)起ajax請求到數(shù)據(jù)controller

4.數(shù)據(jù)controller查詢數(shù)據(jù)并調(diào)用數(shù)據(jù)頁面生成html結(jié)構(gòu)返回到瀏覽器

5.結(jié)構(gòu)頁接收到html添加到當前頁面中

實現(xiàn)方式:

在結(jié)構(gòu)頁面中添加分頁標簽<al:navi page="分頁下標顯示位置"  body="生成的HTML結(jié)構(gòu)顯示位置" url="數(shù)據(jù)controller對應(yīng)的url"/>

navi標簽有多個屬性可以設(shè)置

type:0按下標分頁(默認) 1:只在底部顯示“加載下一頁”(內(nèi)容通過guide設(shè)置)

param:提供查詢參數(shù)的函數(shù),以json格式返回

creater:方式ajax或html

intime:頁面加載完成后是否立即執(zhí)行

refresh:生成刷新當前頁的函數(shù)

before:加載數(shù)據(jù)前執(zhí)行

after:加載數(shù)據(jù)后執(zhí)行

function:標簽執(zhí)行完后會生成一個函數(shù),可以調(diào)用當前方法相當于重新查詢第一頁數(shù)據(jù)

auto:瀏覽器滾動到底部時是否自動加載下一頁數(shù)據(jù),一般移動瀏覽器使用

jump:是否顯示跳轉(zhuǎn)到第幾頁

guide:加載下一頁的文本

empty:查詢無內(nèi)容時提示

over:到達最后一頁的提示

stat:是否顯示統(tǒng)計(統(tǒng)計格式在配置文件中設(shè)置)

style:對應(yīng)分頁配置文件中的key

為什么需要數(shù)據(jù)頁面?

JSP遍歷標簽中按下標取值

在<c:forEach>中經(jīng)常需要取上一條或下一條的數(shù)據(jù),但jstl中并沒有提供相應(yīng)的標簽,可以通過<al:text>來實現(xiàn)

<c:forEach var="item" items="${set}" varStatus="status">

    當前行姓名:${item.NM}

    上一行姓名:<al:text data="${set}" properyt="NN" index="${status.index-1}"></al:text>

</c:forEach>

JSP標簽中動態(tài)屬性 

靜態(tài)屬性一般通過EL表達式就可以實現(xiàn)

如${user.NM}

而實際開發(fā)過程中NM屬性經(jīng)過是動態(tài)值,此時可以通過<al:text>標簽實現(xiàn)

如:<al:text data="${user}" property="${key}"/>

運行時取值表達式

 select等標簽中textKey與textValue屬性,用來生成option標簽的value值和標簽體

如textValue="NM",生成標簽體時會調(diào)用集合中條目的getNm(),getString("NM")等方法。

如果需要提取多列值可以通過textValue="{列名/屬性名}"的形式實現(xiàn)

如textValue="{ID}-{NM}"  text="標題{TITLE}"

DataSet set = new DataSet();

set.add(DataRow.parseJson("{''ID'':''1'',''CODE'':''01'',''NM'':''高級'',''TITLE'':''高級'',''LVL'':''A''}"));set.add(DataRow.parseJson("{''ID'':''2'',''CODE'':''02'',''NM'':''中級'',''TITLE'':''中級'',''LVL'':''B''}"));set.add(DataRow.parseJson("{''ID'':''3'',''CODE'':''03'',''NM'':''初級'',''TITLE'':''初級'',''LVL'':''C''}"));<al:checkbox data="${set}" textKey="TITLE"/>

<select>

    <option value="1">高級</option>

    <option value="2">中級</option>

    <option value="3">初級</option>

</select>

<al:checkbox data="${set}" textKey="{CODE}-{TITLE}"/>

<select>

    <option value="1">01-高級</option>

    <option value="2">02-中級</option>

    <option value="3">03-初級</option>

</select>

<al:checkbox data="${set}" textKey="CODE:{CODE} 標題:{TITLE}"/>

<select>

    <option value="1">CODE:01 標題:高級</option>

    <option value="2">CODE:02 標題:中級</option>

    <option value="3">CODE:03 標題:初級</option>

</select>

des:value 

des:key

al:unescape 

al:delay 

al:text 

<al:text></al:text>

al:sum 

al:substring 

al:strip 

al:serial 

weixin:check 

al:select 

des:param 

des:url 

des:as 

des:input 

des:textarea 

seo:head 

seo:keywords 

aliyun:oss 

weixin:auth 

weixin:config 

weixin:pay 

al:evl 

al:ajax 

al:base 

al:checkbox 

用來生成<input id="op" type="checkbox" value="1"/><label>是否開放</label>標簽

屬性是否必須說明
datatrue數(shù)據(jù)源,一般是從數(shù)據(jù)庫中查出來的一個集合(List,DataSet等),有一些常用數(shù)據(jù)如,是否,開關(guān)等也可以直接寫入data屬性格式如:data="{1:是,0:否}"
borderfalse是否生成外層div
checkedfalse是否選中
checkedValuefalse生成多個多選框時,可以通過checkedValue設(shè)置默認選中的一項
valueKeyfalse如果是data是一個集合,需要通過當前屬性來指定以集合條目中的哪個屬性為checkbox屬性賦值
textKeyfalse如果是data是一個集合,需要通過當前屬性來指定以集合條目中的哪個屬性為label標簽賦值,支持多列 {ID}-{NM}
propertyfalsevalue="${list}" property="ID"item.get(valueKey)是在list.items.property 集合中時選中
relyfalserely="CHK" data.item.CHK  = true或1或checkedValue或value時選中
idfalseid
nametruename
clazzfalseclass
stylefalsecss樣式
onclickfalsejs事件
onchangefalsejs事件
onblurfalsejs事件
onfocusfalsejs事件
headfalse生成多個多選框時,可以通過head設(shè)置第一個默認選項
headValuefalse生成多個多選框時,可以通過head設(shè)置第一個默認選項
valuefalse

value="{1,2,3,4,5}" item.get(valueKey)是在1,3,4,5集合中時選中

value="${list}" property="ID" item.get(valueKey)是在list.items.property 集合中時選中

disabledfalsedisable
readonlyfalsereadonly
encryptfalse集合中的value值是否需要加密
extrafalse生成data-*數(shù)據(jù)
itemExtrafalse條目生成data-*數(shù)據(jù)
borderClazzfalse外層div.class
labelClazzfalselabel.class
evlfalsevalue或body值是否取第一個不為空的值,多個值之間以逗號分隔

al:config 

al:contains 

al:date 

al:division 

al:ellipsis 

al:else 

al:escape 

al:replace 

al:if 

al:message 

al:minute 

al:money 

al:navi 

用來實現(xiàn)jsp或ajax方式分頁

url         ;//數(shù)據(jù)來源
param           ;//參數(shù)收集函數(shù)
container       ;//返回內(nèi)容顯示容器
body            ;//返回內(nèi)容顯示容器class或id(如果body與page分開)
cur         ;//當前頁
page            ;//返回內(nèi)容顯示容器class或id(如果body與page分開)
bodyContainer       ;//如果body與page分開(兼容上一版本)
naviContainer       ;//如果body與page分開(兼容上一版本)
creater = "ajax"    ;//分頁方式 ajax | html
scroll          ;//自動翻頁時 監(jiān)聽的滾動事件源 默認window
method = "post"     ;
id          ;//一個頁面內(nèi)多個標簽時需要id區(qū)分
function        ;//指定function后,需主動調(diào)用function后加載數(shù)據(jù),查詢條件發(fā)生變化時可調(diào)用function
refresh         ;//刷新當前頁的函數(shù)
before          ;//渲染之前調(diào)用
after           ;//渲染之后調(diào)用
intime = false      ;//實時執(zhí)行
auto = null     ;//是否加載下一頁內(nèi)容(swap加載更多typ=1時 劃屏到底部自動加載)
callback        ;//回調(diào)函數(shù)
guide           ;//加載更多文本提示
empty           ;//查詢無數(shù)據(jù)顯示內(nèi)容
over            ;//最后一頁提示
style = "default"   ;//樣式標記對應(yīng)anyline-navi.xml中的config.key
stat = false        ;//是否顯示統(tǒng)計
jump = false        ;//是否顯示跳轉(zhuǎn)
vol = true      ;//是否顯示每頁多少條(配置文件開啟的情況下有效)
delay = 0       ;//延遲執(zhí)行時間

al:number 

al:nvl 

al:omit 

al:param 

al:radio 

al:random 

des:a

這個標簽用一般來加密url參數(shù)

原文:<a href="/a.html?id=1">連接</a>

<des:a href="/a.html?id=1">連接</des:a>生成密文<a href="/a.html?id=密文">連接</a>








以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號