Struts2标签库详解2Word文档格式.docx

上传人:b****7 文档编号:22852325 上传时间:2023-02-05 格式:DOCX 页数:37 大小:27.14KB
下载 相关 举报
Struts2标签库详解2Word文档格式.docx_第1页
第1页 / 共37页
Struts2标签库详解2Word文档格式.docx_第2页
第2页 / 共37页
Struts2标签库详解2Word文档格式.docx_第3页
第3页 / 共37页
Struts2标签库详解2Word文档格式.docx_第4页
第4页 / 共37页
Struts2标签库详解2Word文档格式.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

Struts2标签库详解2Word文档格式.docx

《Struts2标签库详解2Word文档格式.docx》由会员分享,可在线阅读,更多相关《Struts2标签库详解2Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。

Struts2标签库详解2Word文档格式.docx

elseiftest="

%{true}"

WillBeExecuted<

elseif>

else>

elseIf标签

参考if标签

else标签

append标签

用来做iterator标签的辅助,将不同iterator中的内容合在一个iterator中。

用来保存结果iterator的对象在valuecontext中的名字。

Action类

publicclassAppendIteratorTagActionextendsActionSupport{

privateListmyList1;

privateListmyList2;

privateListmyList3;

publicStringexecute()throwsException{

myList1=newArrayList();

myList1.add("

1"

);

2"

3"

myList2=newArrayList();

myList2.add("

a"

b"

c"

myList3=newArrayList();

myList3.add("

A"

B"

C"

return"

done"

;

}

publicListgetMyList1(){returnmyList1;

publicListgetMyList2(){returnmyList2;

publicListgetMyList3(){returnmyList3;

标签使用

appendid="

myAppendIterator"

paramvalue="

%{myList1}"

/>

%{myList2}"

%{myList3}"

append>

iteratorvalue="

%{#myAppendIterator}"

property/>

iterator>

generator标签(JSPTag)

从val属性生成一个iterator。

例1:

生成一个简单的iterator,并且使用iterator标签打印出内容。

generatorval="

%{'

aaa,bbb,ccc,ddd,eee'

}"

br/>

generator>

例2:

生成一个iterator,使用count属性。

因为count属性值为3,所以只有前三个内容(aaa,bbb,ccc)在生成的iterator中。

Generateaniteratorwithcountattribute

count="

例3:

生成iterator,使用了id属性,之后生成的对象放在pageContext中,可以通过指定的id来访问。

4"

separator="

"

id="

myAtt"

%

Iteratori=(Iterator)pageContext.getAttribute("

while(i.hasNext()){

Strings=(String)i.next();

%>

%=s%>

%

}

例4:

生成iterator,使用converter属性,这里的convertor仅仅将每一个对象添加了一个"

converter-"

前缀。

converter="

%{myConverter}"

publicclassGeneratorTagActionextendsActionSupport{

....

publicConvertergetMyConverter(){

returnnewConverter(){

publicObjectconvert(Stringvalue)throwsException{

+value;

};

...

}

iterator标签

迭代处理一个java.util.Connection或者java.util.Iterator对象

Id,

status

如果指定,在循环的过程中会保留一个IteratorStatus类型的变量,该变量用来查询当前迭代的状态

value

被迭代的对象

例1:

days"

p>

dayis:

property/>

/p>

例2:

beanname="

org.apache.struts2.example.IteratorExample"

it"

paramname="

day"

value="

'

foo'

"

/>

bar'

bean>

p/>

tableborder="

0"

cellspacing="

cellpadding="

tr>

th>

Daysoftheweek<

/th>

/tr>

#it.days"

status="

rowstatus"

#rowstatus.odd==true"

tdstyle="

background:

grey"

/td>

td>

/table>

例3:

groupDao.groups"

groupStatus"

tr

class="

#groupStatus.odd==true"

odd<

even<

propertyvalue="

name"

description"

users"

userStatus"

fullName"

!

#userStatus.last"

<

merge标签(同append?

sort标签(JSP-Tag)

对一个可以迭代的对象进行排序操作。

Comparator

java.util.Comparator

排序用的比较器

Source

排序对象

sortcomparator="

myComparator"

source="

myList"

--dosomethingwitheachsortedelements-->

..."

sort>

sortid="

mySortedList"

comparator="

IteratorsortedIterator=(Iterator)pageContext.getAttribute("

for(Iteratori=sortedIterator;

i.hasNext();

){

//dosomethingwitheachofthesortedelements

subset

递归iterator的一部分

count

False

Integer

Iterator中被递归的一部分的item的数量

Decider

org.apache.struts2.util.

SubsetIteratorFilter.Decider

用来判断iterator中的item是否包含在最终的subset内部

Iterator的对象

Start

开始位置

Java类

publicclassMySubsetTagActionextendsActionSupport{

l=newArrayList();

l.add(newInteger

(1));

l.add(newInteger

(2));

l.add(newInteger(3));

l.add(newInteger(4));

l.add(newInteger(5));

publicInteger[]getMyArray(){

returna;

publicListgetMyList(){

returnl;

publicDecidergetMyDecider(){

returnnewDecider(){

publicbooleandecide(Objectelement)throwsException{

inti=((Integer)element).intValue();

return(((i%2)==0)?

true:

false);

--s:

Listbasic-->

subsetsource="

subset>

--B:

Listwithcount-->

--C:

Listwithstart-->

13"

start="

--D:

Listwithid-->

subsetid="

mySubset"

%>

%=i.next()%>

%}%>

ListwithDecider-->

decider="

myDecider"

数据标签

@TODO完成如下数据标签

数据标签包括

a

action

bean

date

debug

i18n

include

param

push

set

text

url

property

4.2节UI标签

UI标签主要是指Form相关的标签,UI标签又分为两部分:

form标签和构成form内部字段的其他标签。

每一个UI标签都是基于模板的,即:

每一个标签都有一个对应的模板用来生成UI标签的样式,详细内容参看模板节。

所有的UI标签都有着共通的祖先UIBean,UIBean提供了这些UI标签的一系列共通的属性,这些属性可以分为三类:

模版相关的属性,JavaScript相关的属性和其他通用属性。

模版相关属性:

属性

主题

数据类型

说明

templateDir

n/a

定义模版目录

theme

定义主题的名字

template

定义模版名字

JavaScript相关属性:

onclick

simple

htmljavascriptonclick属性

ondbclick

htmljavascriptondbclick属性

onmousedown

htmljavascriptonmousedown属性

onmouseup

htmljavascriptonmouseup属性

onmouseover

htmljavascriptonmouseover属性

onmouseout

htmljavascriptonmouseout属性

onfocus

htmljavascriptonfocus属性

onblur

htmljavascriptonblur属性

onkeypress

htmljavascriptonkeypress属性

onkeyup

htmljavascriptonkeyup属性

onkeydown

htmljavascriptonkeydown属性

onselect

htmljavascriptonselect属性

onchange

htmljavascriptonchange属性

Tooltip相关属性:

tooltip

none

为指定的组件设置Tooltip

jsTooltipEnabled

false

使用js表示tooltip

tooltipIcon

/struts/static/tooltip/tooltip.gif

指向tooltip图表的URL

tooltipDelay

500

多长时间后显示Tooltip

key

这个输入字段对应的属性,用来自动设置name,label和value

通用属性:

cssClass

定义htmlclass属性

cssStyle

定义htmlstyle属性

title

定义htmltitle属性

disabled

定义htmldisabled属性

label

xhtml

定义form字段的标签

labelPosition

定义标签在Form中的位置,从左从上计算

requiredPosition

定义必须的标签在Form中的位置,从左从上计算

name

定义form字段的name映射

required

在label上添加一个*

tabIndex

定义htmltabIndex属性

Object

定义form字段的值

对于name和value的说明:

name用来说明Form字段的名字,和Action类的属性对应。

value用来记录Form字段的值,和Action类中属性的值对应。

所以在修改一个字段的内容的时候应该使用如下的标签:

formaction="

updateAddress"

textfieldlabel="

PostalCode"

name="

postalCode"

%{postalCode}"

form>

但是,由于name和value的关系,struts2标准标签可以自动对应,所以也可以使用如下标签:

UI标签说明:

Form部分

autocompleter

checkbox

checkboxlist

combobox

datetimepicker

doubleselect

head

file

form

hidden

optiontransferselect

optgroup

password

radio

reset

select

submit

textarea

textfield

token

updownselect

非Form部分:

actionerror

actionmessage

component

div

fielderror

table

tabbedPanel

tree

treenode

4.3节主题和模板

概念说明:

标签(tag):

一小段代码,在JSP,Velocity或者FreeMarker中执行。

程序开发的最小单位,用来生成HTML对应的元素。

模板(template):

一些代码,通常使用FreeMarker写成,可以被某些Tag表示出来(通常是UITag)。

主题(theme):

一组模板打包在一起,提供通用功能的模版

主题和模板主要针对可视化的标签(Tag)而言,使用以下例子来说明三者之间的关系。

假如我们要开发如下的一个画面:

我们使用如下的代码:

urlaction="

login"

loginUrl"

url>

%{loginUrl}"

Name"

passwordlabel="

Password"

password"

submit>

reset>

这里<

,<

textfield>

pass

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1