详解struts框架中的Html标签


======================================================
注:本文源代码点此下载
======================================================

struts提供了五个标签库,即:html、bean、logic、template和nested。

标签库

说明

html 标签

用来创建能够和struts 框架和其他相应的html 标签交互的html 输入表单

bean 标签

在访问javabeans 及其属性,以及定义一个新的bean 时使用

logic 标签

管理条件产生的输出和对象集产生的循环

template 标签

随着tiles框架包的出现,此标记已开始减少使用

nested 标签

增强对其他的struts 标签的嵌套使用的能力

标签的公共特征

使用固定属性名称的struts 标签:

属性

说明

id

命名自定义标签创建时的脚本变量名。

name

指出关键字值,在该关键字下可以找到一个存在的bean 。如果给出了scope属性,则仅仅在scope中查找。否则,根据标准的顺序在各种scope中查找:(page, request, session, or application)。

property

指出bean 中的某个属性,可以在其中检索值。如果没有标明,则使用对象本身的值。

scope

定义了bean在哪个范围(page, request, session, or application)中被查找。如果没有标明按顺序查找。脚本变量(见id)将在相同的范围中创建。

struts 标签也支持嵌套引用,例如:

property="foo.bar.baz"

这相当于进行下面的调用:

getfoo().getbar().getbaz();

或者做为setter:

getfoo().getbar().setbaz(value);

虽然struts 标签的设计原意是为了避免使用scriptlet,scriptlet的表达式还能够提供给所有的struts 标签使用。但请确保使用完整的表达式:

错误:

/index.jsp>'>

正确:

'>// 表达式必须提供整个属性值

html 标签库

标签

它有两个属性:locale和xhtml,两者都不是必需的。

此行代码解析后:

说明:生成的结果取决于struts应用程序所位于的服务器的locale。如果你将应用程序部署到一个不同locale的服务器,你不需要改变代码,locale会自动调整。

标签:表示所包含页面的绝对位置。这个标签只有内嵌在head标签中才有效。

此行代码解析后:

标签

最重要的属性page:图象文件的路径,前面必须带有一个斜线。

其它属性:heignt、width、alt。

标签

click demo

此行代码解析后:

click demo

标签:通过一个简单的标签,你就可以在一个jsp页面上显示完全自定义的错误信息。功能超强大!!

说明:这个标签在request对象的属性集合中查找reserved key。如果它找到一个reserved key,它就假设这个key是一个string、或是一个string数组

(它包含在模块的messageresources中查找的message keys)、或是类型为org.apache.struts.action.actionerrors的一个对象。

如果在应用程序资源中存在相应的信息,那么就可以用下面这些可选的message keys:

· errors.headeror errors.prefix:相应的信息在错误信息的单独列表前显示。

· errors.footer or errors.suffix:相应的信息在错误信息的单独列表后显示。

标签系列

使用标签时必须遵循一些规则:

标签中必须包含一个action属性,它是这个标签中唯一必需的属性。如果不具备该属性则jsp页面会抛出一个异常。之后你必须给这个action属性指定一个有效值。一个有效值是指应用程序的struts配置文件中元素里的任何一个子元素的访问路径。而且相应的元素中必须有一个name属性,它的值是form bean的名称。

如果你有上述一个标签 ,那么你的struts配置文件的元素中必须有一个如下显示为粗体的元素:

boolean via paramid, paramname, and paramvalue

另外,还能使用带name属性的map来实现传递多个参数:

...

float, int, and stringarray via name (map)

你也能够链接到map类型的action上,上面的代码解析后的结果:

2.) select和option标签

的属性:property-与actionform中的某个属性对应;size-显示option的数目;multiple-默认为fales,表示不能多选,当设定为true时,property对应的actionform的属性必须为数组。

的属性:key、local、bundle-指定resource bundle中的内容。

例如 orange

它和配置文件中的元素的key属性匹配 -->

中配置的资源文件为htmlselectcolors.properties,相关内容为 htmlselect.red=red

标签,提供了一组元素,在元素中可以包含多个元素。非常灵活,可以取得集合或数组中的值。

例1这指在coll的集合中存放了options,value指实际能被提交的值,label是显示给用户的值。

例2collection属性不被指定时,将使用表单相关的form bean,form bean中value属性存放option value,label属性值显示给用户。

例3这个意思是value值存放在名为valuebean的bean的vlaues属性中,它是一个collection;label值也是同样的意思。

标签,和的用法很相似。

例如

这个标签和org.apache.structs.util.labelvaluebean结合的很好,如果把label和value都放到这个对象中,可以很简单的这样应用:


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值