没有合适的资源?快使用搜索试试~ 我知道了~
struts1标签库详解借鉴.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 146 浏览量
2022-02-02
00:20:46
上传
评论
收藏 757KB PDF 举报
温馨提示
试读
33页
struts1标签库详解借鉴.pdf
资源推荐
资源详情
资源评论
文章目录
bean:cookie
bean:define
bean:header
bean:include
bean:message
bean:page
bean:parameter
bean:resource
bean:size
bean:struts
bean:write
html:base
html:cancel
html:select
html:checkbox
html:radio
html:multibox
html:link
html:errors
html:javascript
html:xhtml
logic:iterate
logic:present
logic:messagesPresent
logic:empty
logic:match
logic:equal
logic:forward
总结
参考资料
关于作者
最新文章
面向对象设计图解 Tomcat 体系结构
最受欢迎文章
Struts 标签 Lucene 中文分词构建基于词典的 Lucene 分析器使用 Log4j 进行日志记录
您使用过旅游指南吗?它总是能让我们快速的找到目的地。 我对此有深刻的印象, 希望这篇指南
也能使您快速的完成 Struts 标签相关的任务。我深入细致的总结了日常使用 Struts 的一些经
验,感觉
Struts
标签的用途非常广泛并且功能强大,但是学起来还是比较费时间的。我认为学
习 Struts 标签最好的方式就是参考良好的示例,幸运的是这些示例您可以在下面找到。
Struts 是 Apache Jakarta 的一个著名的开源项目, 目标是为构建基于 Java 的 web 应用程序
提供一个框架。
Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中 :
Bean Tags: 该标签库包含的标签可以用来创建 bean 、
访问 bean 和访问 bean 的属性。同时提供了依据
cookies 、 headers 和 parameters 的值创建相关
bean 的能力。
HTML Tags: 该标签库包含的标签可以用来创建 Struts
输入表单。
Logic Tags: 该标签库包含的标签可以用来进行逻辑判
断、集合迭代和流程控制。
Nested Tags: 该标签库建立在前三个标签库的基础上,
具有前三个标签库的所有功能,只是允许标签间的嵌
套。
Tiles Tags: 该标签库包含的标签可以用来创建 tiles 样式
的页面。
这篇指南主要介绍前三个标签库中的标签。 如果您对后两类标签也感兴趣可以查阅 参考资料 中的
Struts 的用户指南。
回页首
bean:cookie
cookie 最早是由 Netscape 公司提出来的,用来存储客户的少量状态信息。如果您对 cookie
的具体细节感兴趣可以查阅 参考资料 中的 cookie spec 。
bean:cookie 标签取回请求中名称为 name 的 cookie 的值。如果没有指定 multiple 属性则依
据刚取回的值创建一个 Cookie 类型的 bean 。如果指定了 multiple 属性则依据刚取回的值创
建一个 Cookie[] 类型的数组。 然后用 id 属性值将 Cookie 或 Cookie[] 绑定到 page 作用域中 ( 这
种绑定是为了其它标签能够使用该值 ) ,并创建对应的 scripting 变量 ( 这种变量是为了 JSP 脚本
能够使用该值 ) 。
下面的代码片段示例了如何使用 bean:cookie 标签读取名为 JSESSIONID 的 cookie 的值,
并且使用了两种方式进行了输出:
<logic:present cookie="JSESSIONID">
<bean:cookie id="jSession" name="JSESSIONID"/>
<!-- 其它标签通过绑定到 page 作用域中的属性使用该值 -->
这个 cookie 的名称是 <bean:write name="jSession" property="name"/> ,值为 <bean:write name="jSession"
property="value"/> 。 <br/>
<!-- JSP 脚本通过 scripting 变量使用该值 -->
<%
String name = jSession.getName();
String value = jSession.getValue();
out.println(" 这个 cookie 的名称是 "+name+" ,值为 "+value+" 。<br/>");
%>
</logic:present>
回页首
bean:define
bean:define 标签在 toScope( 如果没有指定值就使用 page 作用域 ) 指定的作用域中创建一个
新属性,同时创建一个 scripting 变量。我们可以通过 id 值使用它们。新创建的属性可以由其
它标签使用,而新创建的 scripting 变量可以由 JSP 脚本使用。
我们可以使用三种方式为新创建的属性和 scripting 变量赋值:
通过该标签的 name 、property 和 scope 取回值,并且
保持类型的一致性, 除非取回的值为 Java 的原始类型,
这时会使用适合的包装器类对这些值进行包装。
通过该标签的 value 指定值,这时新创建的属性 和
scripting 变量的类型为 java.lang.String 。
通 过 在 该 标 签 的 体 中 嵌 入 值 , 这 时 新 创 建 的 属 性 和
scripting 变量的类型为 java.lang.String 。
下面的代码片段示例了如何使用 bean:define 标签创建新属性 values 和新 scripting 变量
values ,它将 listForm 中 persons 的值取出来赋给 values:
<bean:define id="values" name="listForm" property = "persons" type="java.util.List"/>
下面给出 ListForm 的代码片段以帮助您更好的理解,其中 Person 是一个只有 id 和 name 两
个属性的简单 bean :
public class ListForm extends ActionForm {
private List<Person> persons = null;
public List<Person> getPersons() {
return persons;
}
public void setPersons(List<Person> persons) {
this.persons = persons;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
persons = null;
}
}
下面的代码片段示例了 logic:iterate 标签如何使用 bean:define 标签创建的新属性 values:
<logic:iterate id="person" name="values">
<bean:write name="person" property="id"/><br/>
</logic:iterate>
下面的代码片段示例了 JSP 脚本如何使用 bean:define 标签创建的新 scripting 变量 values:
<%
Person p = new Person();
for(int i=0;i<values.size();i++){
p = (Person)values.get(i);
out.println(p.getId());
out.println("<br/>");
}
%>
回页首
bean:header
bean:header 标签取回请求中名称为 name 的 header 的值。如果没有指定 multiple 属性则
依据刚取回的值创建一个 String 类型的 bean 。如果指定了 multiple 属性则依据刚取回的值创
建一个 String[] 类型的数组。 然后用 id 属性值将 String 或 String[] 绑定到 page 作用域中 ( 这
种绑定是为了其它标签能够使用该值 ) ,并创建对应的 scripting 变量 ( 这种变量是为了 JSP 脚本
能够使用该值 ) 。
下面是我的浏览器发送的 header 的内容, 这些内容和浏览器有关, 因此您的浏览器发送的内容
可能和下面列出的不同。 不过这没有关系, 因为要理解 bean:header 标签您只要对这些内容有
一个大概的认识就足够了。
accept: */*
accept-language: zh-cn
accept-encoding: gzip, deflate
user-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
host: localhost:8080
connection: Keep-Alive
下面的代码片段示例了如何使用 bean:header 标签读取名为 User-Agent 的 header 的值,并
且使用了两种方式进行了输出:
<logic:present header="User-Agent">
<!-- 其它标签通过绑定到 page 作用域中的属性使用该值 -->
您的浏览器是 <bean:header id="userAgent" name="User-Agent"/>
<bean:write name="userAgent"/> 。<br/>
<!-- JSP 脚本通过 scripting 变量使用该值 -->
<%
out.println(" 您的浏览器是 "+userAgent+" 。 <br/>");
%>
</logic:present>
回页首
bean:include
bean:include 标签对指定 url( 由 forward 、href 或 page 确定 ) 处的资源做一个请求,将响应
数据作为一个 String 类型的 bean 绑定到 page 作用域,同时创建一个 scripting 变量。我们
可以通过 id 值访问它们。
下面的代码片段示例了 bean:include 标签的用法, 其中 include.txt 文件包含要 include 的内
容,然后将这些内容输出 :
<bean:include id="value" page="/include.txt"/>
<!-- 其它标签通过绑定到 page 作用域中的属性使用该值 -->
<bean:write name="value"/><br/>
<!-- JSP 脚本通过 scripting 变量使用该值 -->
<%
out.println(value);
%>
回页首
bean:message
bean:message 标签用来从指定的 locale 中取回国际化的消息并输出, 在这个过程中我们还可
以传递五个以内的参数。 message key 可以通过 key 直接指定,也可以通过 name 和 property
间接的指定。
bean:message 标签有两种指定 message key 的方式, 一是通过 key 属性直接指定; 二是通
过 name 和 property 属性间接的指定,其中 message key 是在 message resources 文件
中定义的。
我 们 可 以 在 struts-config.xml 文 件 中 使 用 <message-resources> 来 设 置 message
resources 文件。
为 了 介 绍 该 标 签 我 使 用 了 三 个 message resources 文 件 , 三 个 文 件 的 名 字 分 别 为
Resources.properties 、 Resources_en.properties 和 Resources_zh.properties 。 在
struts-config.xml 文件中的设置 ( 这里不用设置三个, struts 会依据 locale 自动找到对应的文
件) 如下:
<message-resources parameter="Resources" />
剩余32页未读,继续阅读
资源评论
gw19501103285
- 粉丝: 1
- 资源: 7万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功