第15章struts2标签讲解Word下载.docx

上传人:b****3 文档编号:17396255 上传时间:2022-12-01 格式:DOCX 页数:12 大小:83.25KB
下载 相关 举报
第15章struts2标签讲解Word下载.docx_第1页
第1页 / 共12页
第15章struts2标签讲解Word下载.docx_第2页
第2页 / 共12页
第15章struts2标签讲解Word下载.docx_第3页
第3页 / 共12页
第15章struts2标签讲解Word下载.docx_第4页
第4页 / 共12页
第15章struts2标签讲解Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第15章struts2标签讲解Word下载.docx

《第15章struts2标签讲解Word下载.docx》由会员分享,可在线阅读,更多相关《第15章struts2标签讲解Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

第15章struts2标签讲解Word下载.docx

html>

<

head>

title>

MyJSP'

index.jsp'

startingpage<

/title>

/head>

body>

访问属性:

ahref="

http:

//localhost:

8080/ch2_example1/test/tags.action?

username=aaa&

password=bbb"

tags<

/a>

/body>

/html>

2.新建一个my.tags.TagsAction:

packagemy.tags;

importcom.opensymphony.xwork2.ActionSupport;

publicclassTagsActionextendsActionSupport{

privateStringusername;

privateStringpassword;

publicStringexecute(){

this.addFieldError("

fielderror.test"

"

wrong!

);

returnSUCCESS;

}

publicStringgetUsername(){

returnusername;

publicvoidsetUsername(Stringusername){

this.username=username;

publicStringgetPassword(){

returnpassword;

publicvoidsetPassword(Stringpassword){

this.password=password;

}

3.修改struts.xml:

packagename="

mypack"

namespace="

/test"

extends="

struts-default"

<

actionname="

tags"

class="

my.tags.TagsAction"

method="

execute"

resultname="

success"

/WEB-INF/page/tags.jsp

/result>

/action>

/package>

4.在WEB-INF/page下新建tags.jsp:

%@taglibprefix="

s"

uri="

/struts-tags"

%>

tags.jsp'

ol>

li>

property:

s:

propertyvalue="

username"

/>

/li>

property赋值为字符串:

'

username'

property设为默认值:

admin"

default="

管理员"

property设定HTML:

hr/>

escape="

true"

/ol>

测试:

在地址栏输入:

8080/ch2_example1/index_tags.jsp

点击超链接tags

得到下面的结果:

1.property:

aaa

2.property赋值为字符串:

username

3.property设为默认值:

管理员

4.property设定HTML:

解释:

这个用法上节课已经讲过,不解释了。

这是把username作为字符串处理。

这是给admin赋默认值,如果admin有值,则取它的值显示,如果没有,则显示默认值。

如果把escape改为false,则将对<

进行解析。

2、Bean标签:

Bean标签用于创建一个JavaBean的实例,创建实例时通过<

param/>

给JavaBean传入参数。

如果通过<

给JavaBean传入属性值则需要给JavaBean设置Setter方法,如果需要访问JavaBean的属性则需要设置Getter方法。

Bean标签有两个属性:

1.Name:

必填的属性,指定需要实例化的Java类

2.Var:

可选项。

如指定了该属性,则该JavaBean实例会被放入StackContext中(不是ValueStack),从而允许直接通过该var属性来访问该JavaBean的实例。

新建Person类

packagemy.ognl;

publicclassPerson{

privateStringname;

privateStringmajor;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

this.name=name;

publicStringgetMajor(){

returnmajor;

publicvoidsetMajor(Stringmajor){

this.major=major;

publicStringmethod1(){

return"

来自JavaBean的方法"

publicStringmethod1(Stringname){

returnname+"

新建index1.jsp:

%@taglibprefix="

basehref="

%=basePath%>

index1.jsp'

metahttp-equiv="

pragma"

content="

no-cache"

cache-control"

expires"

0"

keywords"

keyword1,keyword2,keyword3"

description"

Thisismypage"

--

linkrel="

stylesheet"

type="

text/css"

href="

styles.css"

-->

beanname="

my.ognl.Person"

paramname="

name"

value="

zhangsan'

/s:

param>

mynameis:

bean>

访问该jsp,得到结果为:

修改index1.jsp:

var="

person"

#person.name"

得到的结果是一样的。

如果想访问JavaBean中的方法,修改index1.jsp:

#person.method1()"

#person.method1('

ooo'

)"

测试结果为:

 

在tags.jsp中加入,通过debug标签查看结果

定义bean:

my.ognl.Dog"

mydog"

dagou'

debug>

在tags.jsp中加入以下语句:

查看结果及值栈内容:

xiaogou'

结果为:

注意:

开始的时候,新建对象,放到栈顶。

执行结束,对象就不在栈中了。

所以一定要在<

中赋值和取值,否则取不到。

如果想在<

执行完之后还能使用,就用var。

修改var这一部分:

取狗的名字:

#mydog.name"

此时mydog是放在了ActionContext中,可以通过#取出来。

三、fielderror标签

修改tags.jsp

fielderrorfieldName="

theme="

simple"

fielderror>

查看输出结果。

四、if、elseif、else标签

修改tags.jsp:

if,elseif,else:

age=

#parameters.age"

password=bbb&

age=8&

age=10

得到一个集合

age=8,10

如果希望得到集合中的第一个值,则写为:

#parameters.age[0]"

在刚才的基础上使用分支控制标签:

iftest="

#parameters.age[0]<

wrongdata<

if>

elseiftest="

18"

stillchild<

elseif>

else>

mrright!

修改地址栏传入的年龄值,查看不同的结果。

继续修改tags.jsp:

如果没有aaa这个属性,则可以这样判断:

#parameters.aaa==null"

aaaisnull<

五、iterator标签

遍历集合:

iteratorvalue="

{1,2,3}"

property/>

|

iterator>

自定义变量:

{'

aaa'

'

bbb'

ccc'

}"

x"

#x.toUpperCase()"

1.遍历集合:

1|2|3|

2.自定义变量:

AAA|BBB|CCC|

使用status:

status="

status"

遍历的元素个数:

#status.count"

遍历的元素索引:

#status.index"

遍历的是否偶数:

#status.even"

遍历的是否奇数:

#status.odd"

遍历的是否第一个?

#status.first"

遍历的是否最后一个?

#status.last"

br/>

输出结果为:

1.使用status:

aaa|遍历的元素个数:

1遍历的元素索引:

0遍历的是否偶数:

false遍历的是否奇数:

true遍历的是否第一个?

true遍历的是否最后一个?

false

bbb|遍历的元素个数:

2遍历的元素索引:

1遍历的是否偶数:

true遍历的是否奇数:

false遍历的是否第一个?

false遍历的是否最后一个?

ccc|遍历的元素个数:

3遍历的元素索引:

2遍历的是否偶数:

true

映射:

#{1:

a'

2:

b'

3:

c'

key"

|<

value"

#x.key"

#x.value"

映射:

1|a2|b3|c

【作业】

设计一个jsp页面,要求包含以下标签,该页面的主题自定。

checkbox、checkboxlist、combobox

date、doubleselect、label

password、radio

reset、select

text、textarea、textfield

要求查阅struts文档,将这些标签的介绍和属性也要写在大作业中。

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

当前位置:首页 > 成人教育 > 远程网络教育

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

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