`
阅读更多

一、 访问HTTP请求信息或JSP隐含对象

1、<bean:header>标签:

该标签用于从HTTP请求中提取Header信息,示例如下:

<bean:header id="lang" name="Accept-Language"/>

提取的信息是:<bean:write name="lang"/>

解释:将请求Header中的Accept-Language属性存储到page范围内的变量Language中!然后输出!

2、<bean:parameter>标签:

该标签用于检索请求参数,示例如下:

<bean:parameter id="uid" name="userid" value="默认值" multiple="yes"/>

解释:将name属性指定的参数值存储到id属性指定的变量中,如果不存在这样的参数,那么采取value属性指定的默认值! 对于multiple属性它是用于检索所有同名参数,此时id属性指定的变量不再为String类型,而是String[]类型!注意multiple属性值只需指定任意字符串,不一定要yes!

3、<bean:cookie>标签:

该标签用于访问客户端的 Cookie 信息,示例如下:

<bean:cookie id="cookie" name="cookie的名字" value="默认值" multiple="yes"/>

解释:将name属性指定的cookie值存储到id属性指定名称的javax.servlet.http.Cookie类型变量中,如果不存在这样的参数,那么采取value属性指定的默认值! 对于multiple属性它是用于检索所有同名参数,此时id属性指定的变量不再为javax.servlet.http.Cookie类型,而是javax.servlet.http.Cookie[]类型!注意multiple属性值只需指定任意字符串,不一定要yes!注意cookie是以name/value的形式存在的!

4、<bean:page>标签:

该标签用于引用JSP的隐含对象,这些对象包含 Session,config,request,Response,Application五个隐含对象!示例如下:

<bean:page id="this_session" name="session" />

session范围内存储的userid属性值为:<bean:write name="this_session" property="userid">

解释:首先将session引入到page范围内的this_session变量中,此时this_session为session类型的变量!接下来用标签输出session中的userid属性!

------------------------------------------

二、访问WEB应用资源

1、<bean:message>标签:

该标签的使用非常广泛,用于显示资源文件中的信息,示例如下:

a、 <bean:message bundle="资源文件代号" key="资源文件中的key"/>

解释:显示bundle属性指定的资源文件的key属性所代表的字符串,这是最常用的!

b、 <bean:message bundle="资源文件代号" name="变量名"/>

解释:将name属性指定的变量值作为bundle属性指定的资源文件的key,显示key代表的字符串!

c、 <bean:message bundle="资源文件代号" name="javaBean变量" property="bean的属性"/>

解释:将name属性指定的Bean中的property属性的值作为bundle指定的资源文件的key,输出key所代表的字符串!

d、 <bean:message bundle="资源文件代号" key="资源文件中的key" arg0="第一个参数值"/>

解释:在资源文件中需要参数的时候就采用这种方式传递参数,如果有N个参数那就按照argN一直传递下去!

2、<bean:resource>标签:

该标签是表示把指定的web资源装载到一个JavaBan中,示例如下:

<bean:resource id="resource" input="yes" name="/index.jsp"/>

解释:以上代码是将index.jsp文件以inputStream的形式保存在id指定的变量中!注意如果不设置input属性,那么id属性指定的变量为字符串类型,他保存的是index.jsp的内容!另外input属性可以设置任意值!个人觉得这个标签的作用不大,在调试的时候可以使用!

3、<bean:struts>标签:

该标签用于检索struts框架内在的对象,示例如下:

<bean:struts id="" forward=""/>

解释:该标签使用不是很广泛,需要时再查询!

4、<bean:include>标签:

该标签使用不是很广泛,需要时再查询!

-----------------------------------------------------------------------------------------------------------

三、定义变量或输出

1、<bean:define>标签:

该标签用于定义一个变量,示例如下:

a 、 <bean:define id="name" value="chenshan" />

解释:以上代码定义一个普通的字符串id属性指定变量的名称,value指定变量的值!以上标签等价于:String name="chenshan";

b、 <bean:define id="nm" name="persionBean" property="userName"/>

解释:以上代码定义一个nm变量,该变量的值是由name属性指定的已经存在的javabean的userName属性的值!所以name属性指定javabean,property指定bean的属性!

c、 <bean:define id="nm" name="persionBean" type="javax.servlet.servletContext" />

解释:以上代码定义了一个名为"nm"的变量,该变量引用已经存在的persionBean!注意,对于由name属性指定已经存在的javaBean,<bean:define>标签会依次从page、request、session、appliction范围内查找,此外也可以设置scop属性来明确指定这个已经存在的javaBean,这样<bean:define>标签就会在指定的范围内寻找JavaBean!

2、<bean:size>标签:

该标签用于计算Map、Collection或数组的长度,示例如下:

<bean:size id="length" name="nameList"/>

名称列表的长度是:<bean:write name="length"/>

解释:略~~~

3、<bean:write>标签:

该标签的使用也是非常多的,它用于在网页上输出变量值和某个已经存在的Bean的属性值!示例如下:

<%

request.setAttribute("floatval",Float.valueOf("2.0123456"));

Calendar gc=GregoriCalendar.getInstance();//定义一个时间类型的变量

gc.setTime(new java.util.Date(session.getCreationTime()));

request.setAttribute("now",gc);

%>

<bean:write name="floatval" format="#.###"/>

解释:按照format指定的格式四舍五入显示数据!

<bean:write name="now" format="yyyy-mm--dd hh:mm:ss"/>

解释:按照指定的时间格式输出时间!

另外<bean:write>标签的filter属性也是非常重要的,他表示是否按照HTML格式编译输出的信息;默认值为true-不编译,如果设置为false,就表示要编译,那么将输出HTML标记类型的信息!

Struts Bean标签库中的标签可以访问已存在的JavaBean以及它们的属性,还可以定义新的Bean,把它存放在page范围内或用户指定的范围内,供网页其他元素访问。Bean标签库大概分为三类:

  • 用于访问HTTP请求信息或JSP隐含对象的Bean标签
  • 用于访问Web应用资源的Bean标签
  • 用于定义或者输出JavaBean的Bean标签

访问HTTP请求信息或JSP隐含对象
  • <bean:cookie>:访问Cookie信息
  • <bean:header>:访问HTTP请求中的Header信息
  • <bean:parameter>;访问请求参数。
  • <bean:page>:访问JSP隐含对象。

1.<bean:cookie>标签

该标签可以检索保存在浏览器中的Cookie,具有属性id,name,multiple,value,id是对cookie在该页面中的唯一标识,在页面其它地方可以通过id进行引用。相当于用cookie直接引用。Name是相应的cookie名称。Multiple可以赋予任意值,如果设置了该属性,可以检索出所有和Cookie名字匹配的Cookie名字匹配的Cookie,此时,id属性定义了一个Cookie数组类型的变量,而不是单个Cookie类型的变量。例如:

<bean:cookie id="myCookie" name="tags/cookiedemo" value="ddddddddd"/>
<bean:write name="myCookie" property="name"/>
<bean:write name="myCookie" property="value"/>
<%

String names=myCookie.getName();
String value=myCookie.getValue();
out.println("this cookie name is "+names+",value is "+value+"");

%>

2.<bean:header>标签

该标签用于检索HTTP请求中的Header信息。如果没有指定multiple属性则依据刚取回的值创建一个String类型的bean。如果指定了multiple属性则依据刚取回的值创建一个String[]类型的数组。例如:

<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>
<%
String id = "userAgent";
String name = "User-Agent";
String value = ((HttpServletRequest)pageContext.getRequest()).getHeader(name);
out.println("============="+value);

%>

3.<bean:parameter>标签

该标签用于检索HTTP请求参数,具有以下属性:
id属性:定义一个java.lang.String类型的变量,这个变量存放在page范围内。
name属性:指定请求参数名。
value属性:请求指定参数的默认值

如果没有指定multiple属性则依据刚取回的值创建一个String类型的bean。如果指定了multiple属性则依据刚取回的值创建一个String[]类型的数组。例如:

<html:link page="/parameter2.jsptestString=this+is+a+test&testInt=123456">
请求参数
</html:link>

<bean:parameter id="test1" name="testString" value="" />
The first test is: <bean:write name="test1" />

<bean:parameter id="test2" name="testInt" value=""/>
The second test is:<bean:write name="test2"/>

4.<bean:page>标签

该标签用于检索获取JSP隐含对象,如session、request和response等,具有以下属性:
id属性:定义了一个引用隐含对象的变量,这个变量存放在page范围
property属性:指定隐含对象的名字,可选值包括application,config,request,response,session 例如:

<bean:page id="mySession" property="session"/>

<%
out.println("Session time:"+mySession.getCreationTime());

%>

<bean:message>:显示Resource Bundle中的消息。
<bean:resource>;把Web资源装载到一个JavaBean中。
<bean:struts>;访问Struts的内在配置对象。
<bean:include>;包含一个web资源。

1.<bean:include>标签
该标签用语将其他web资源包含进当前页面中,和标准的JSP标签<jsp:include>很类似,都可以用来包含其他Web资源的内容,区别在于<bean:include>标签把其他的Web资源的内容存放在一个对象中,而不是直接显示到网页,<bean:include>标签的id属性定义一个代表其他Web资源的变量。
<bean:include id="value" page="/index.jsp"/> //在当前资源中
<bean:write name="value" filter="false"/><br/>
// filter为true则为原文件
<%
out.println(value);
%>
2.<bean:message>标签
该标签用与显示资源文件中的消息文本。该标签有一个bundle属性,它和struts-config.xml文件中的messsge-resources标记内的key属性对应。
<message-resources parameter="com.resources" key="beanmessage">
//struts-config
message1=this is a test!
message2=this is a test too!
//resource中
<bean:message bundle="beanmessage" key="message1"/>
//jsp中
3.<bean:resource>标签
该标签用于检索、获得Web资源内容,如:网页的源代码。该标签的属性有:id有其他标签一样,name指定Web资源的路径,input如果没有设置,则id属性默认为一个字符类型对象,如果给input赋值yes,则id属性所定义的对象为java.IputStream。例如:
<bean:resource id="indexpage" name="/index.jsp" input="yes"/>
<bean:write name="indexpage" filter="false"/>
4.<bean:struts>标签
该标签用于获取Struts框架内的一些对象,如AationForm和ActionForward等。。<bean:struts>标签的id属性定义一个page范围的变量,用来引用Struts框架的内在对象,必需设置formbean,forward,mapping属性中的一个属性,来指定被引用的Struts内在对象。
formbean属性:指定ActionFormBean对象,和struts配置文件的<form-bean>元素匹配。
forward属性;指定ActionForward对象,和配置文件的<global-forwards>元素的<forward>子元素匹配。
mapping属性:指定ActionMapping对象,和配置文件的<action>元素匹配
例如:
<bean:struts id="listFormBean" formBean="listForm"/>
name:<bean:write name="listFormBean" property="name"/><br/>
type:<bean:write name="listFormBean" property="type"/><br/>
dynamic:<bean:write name="listFormBean" property="dynamic"/><br/>


<bean:define>:用于定义一个变量。
<bean:write>: 显示JavaBean属性的内容。
<bean:size>: 获得集合对象或数组对象的长度。
1.<bean:define>标签

该标签用于定义一个变量,id属性指定变量的名字,toScope属性指定这个变量的存放范围,如果没有设置,则这个变量存放在page范围内,给id属性定义的变量赋值有三种方式:
第一种是,通过value属性直接赋值;
第二种是,通过name和porperty共同指定一个变量来给id所定义的变量,name——bean,porperty——属性;
第三种是,通过type属性和name联合指定id所定义的变量类型,type——id定义变量的完整类型,name——存在的javaBean。例如:
<bean:define id="string" value="this is a test"/>
<bean:write name="string"/>--%>
<%
Date d = new Date();
pageContext.setAttribute("currDate",d);
%>
<bean:define id="milliseconds" name="currDate" property="time"/>
当前时间距离1970年1月1日的毫秒数为:<bean:write name="milliseconds"/>
2.<bean:size>标签

该标签用于获取集合或者数组的长度。
id属性定义一个Integer类型的变量,那么属性指定已经存在的Map,Collection或数组变量,id属性定义的变量值为Map,collection或数组的长度。
name属性为对象名字。例如:

<%
ArrayList testlist=new ArrayList();
testlist.add(new Integer(1));
testlist.add(new Integer(2));
testlist.add(new Integer(3));
pageContext.setAttribute("listforcount",testlist);
%>
<bean:size id="size" name="listforcount"/>
长度为:<bean:write name="size"/>
3.<bean:write>标签

该标签用于输出各种类型的对象,有点类似与System.out.println()。例如:
<%
String a = "string for test";
pageContext.setAttribute("test",a);
%>
<bean:write name="test"/>
分享到:
评论

相关推荐

    Bean标签库,用法及实例说明

    根据给定的文件信息,我们可以深入探讨Bean标签库在JavaServer Pages (JSP) 和 Struts 框架中的应用及其重要性。 ### Bean标签库简介 Bean标签库是Struts框架的一部分,它提供了一系列用于操作JavaBeans的标签。...

    struts bean标签

    Struts Bean标签是Java Web开发中Struts框架的一部分,它主要用于简化页面上的Java对象操作,尤其是在JSP页面中。这个标签库提供了丰富的功能,包括显示和设置Bean中的属性,以及进行一些基本的数据转换和格式化。...

    struts1-bean标签

    在Struts框架中,Bean标签库(Bean Tag Library)扮演着一个重要的角色。它主要用于处理与JavaBean相关的操作,比如创建、读取和更新JavaBean实例及其属性。根据官方文档及上述描述,我们可以将Bean标签大致分为以下...

    struts-bean标签

    Struts-Bean标签是Struts框架提供的一组用于在JSP页面中操作和管理JavaBean的标签库。这些标签使得开发者能够方便地访问和操作JavaBean的属性,以及处理HTTP请求头、参数和Cookie信息。以下是对Struts-Bean标签库中...

    Struts标签-bean标签-源代码

    特别是bean标签库,它是用于处理和展示数据的核心工具。 bean标签库是Struts提供的JSP标准标签库(JSTL)的一部分,主要用于管理JavaBean对象。JavaBean是一种符合JavaBeans规范的Java类,它通常用来封装业务逻辑或...

    Struts中Bean标签的应用

    ### Struts中Bean标签的应用详解 #### 一、引言 在学习Struts框架的过程中,我们往往会接触到一种非常实用的功能组件——Bean标签。Struts框架作为一款基于Java的开源MVC(Model-View-Controller)架构,其核心...

    bean标签使用示例.pdf

    根据提供的文件内容,本文将详细讲解Struts框架中bean标签的使用方法和相关知识点。首先需要明确,Struts是一个基于Java EE的MVC框架,主要用来开发Web应用程序。而bean标签则是Struts自定义标签库中的一部分,用于...

    重要知识bean标签.pdf

    - 使用`&lt;%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%&gt;`引入Struts的bean标签库。 - `&lt;bean:write&gt;`标签用于显示请求范围内的属性值。例如,`&lt;bean:write name="hello"&gt;`将显示Action中...

    Spring IOC Bean标签属性介绍(教学视频+源代码)

    Spring IOC Bean标签属性介绍 0.Bean标签属性介绍 1.0 新建一个Maven工程 1.1 pom.xml 1.2 实体类JavaBean 1.2.1 User类 1.3 当Scope="singleton"时 1.4 当 Scope="singleton" 且 lazy-init="true" 时 1.5 当scope=...

    2009MLDN魔乐科技Struts课堂04-Struts_Bean标签功能_(下)

    2009 MLDN魔乐科技 Struts课堂实战视频教程 全6讲 01-Struts_简介与登陆...02-Struts_工作原理与核心配置 03-Struts_对于输入参数的处理 04-Struts_Bean标签功能 05-Struts_Struts国际化处理 非常经典,适合初学者!

    struts.bean标签

    在Struts框架中,`struts.bean`标签库提供了一组JSP标签,这些标签简化了在视图层操作JavaBeans的过程,增强了代码的可读性和可维护性。下面我们将深入探讨`struts.bean`标签库及其主要使用的标签。 1. `bean:...

    Struts1_Bean标签API

    APACHE提供给Struts的API,The "struts-bean" tag library provides substantial enhancements to the basic capability provided by &lt;jsp:useBean&gt;

    structs bean 标签

    在Structs中,`&lt;s:bean&gt;` 标签是用于在JSP页面中创建和操作Java对象的重要工具,它可以方便地实例化JavaBean或获取已经存在的bean实例。 首先,我们来了解一下 `&lt;s:bean&gt;` 标签的基本语法和属性: ```jsp &lt;s:bean ...

    struts1的bean标签用法(详情见附件)

    NULL 博文链接:https://luanxiyuan.iteye.com/blog/1711565

    重要知识Struts标签from,bean,logic.pdf

    Bean标签库用于在JSP页面中操作和显示JavaBeans。例如: - `&lt;bean:define&gt;`:定义一个新的变量,可以将JavaBeans的属性值赋给这个变量。 - `&lt;bean:write&gt;`:输出JavaBeans的属性值到页面。 - `&lt;bean:include&gt;`...

    Struts标签from,bean,logic.pdf

    bean标签用于在JSP页面中声明和实例化JavaBean对象,可以用来设置和获取对象的属性值。例如标签会创建一个文本输入框,并将其值绑定到ActionForm对象的age属性上。这对于表单数据的提交和展示非常有用。其他如用于...

    struts1 html&&bean&&logic 标签

    接下来是Bean标签库,它主要用于在JSP页面中操作JavaBeans。JavaBeans是一种符合特定规范的Java类,通常用作数据容器。`&lt;bean:define&gt;`标签可以用来在JSP上下文中定义一个变量,`&lt;bean:write&gt;`用于输出JavaBean属性...

    STRUTS BEAN

    其中,Bean标签尤其值得关注,它专注于JavaBean的处理,使得开发者能够更加高效地操作和管理Bean实例。 #### Bean标签概述 Bean标签集是Struts标签库的一部分,专门用于处理JavaBean对象。这些标签包括但不限于`...

    Struts1标签库

    1. **Bean标签**:这类标签用于在JSP页面中管理JavaBean,包括创建、复制Bean以及访问Bean的属性。例如,`&lt;bean:define&gt;`标签可以用来定义新的Bean或复制已有Bean。它有多个属性,如`id`(新定义的Bean的脚本变量名...

Global site tag (gtag.js) - Google Analytics