`

Struts Bean标签库

阅读更多

bean:cookie

根据 cookie 的键检索一个 cookie ,将其值赋给在 id 属性,并保存在本地范围和页面范围里。

value multiple 功能跟 header 一样

当使用 bean:write 时,其 name 属性对应 bean:cookie id 属性, property 属性值必须是“ value ”。

bean:header

bean:header 标记用于将 HTTP 请求头中的某个信息的 String 对象存储在 page 范围和本地范围内的 JSP 脚本变量中。

如果指定了 multiple 属性。可以存储同一名称的多个标题。如:如果传入请求具有名称同为“ Accept-Language ”的两个标题,则将使用 String[] 数组来捕获每个标题值。然后将此数组存储在由 id 属性指定的 JSP 变量中。

value 属性用于如果传入请求中不存在指定资源时指定一个默认值。

bean:parameter

bean:parameter 标记将 HTTP 请求参数保存在 page 范围和本地范围内的 JSP 脚本变量中。

指定了 multiple 属性可以将同名参数的多个参数值保存到 page 范围和本地范围内的一个数组( String[] )中。

value 属性表示:如果 name 属性指定的要查找的参数不存在,则则将创建一个新的 String 对象,并将 value 属性的值赋给这个对象,然后同时存储在 page 范围和本地范围里

bean:page

检索 JSP 隐式对象,包括 application, config, request, response, session ,然后放在本地范围和页面范围里。

id 属性值不能为 application, config, request, response, session 。因为此标签会将变量保存在本地范围里。但本地范围已经存在 application, config, request, response, session 这些变量了。其实此标签的主要功能是将这些隐式对象保存在页面范围里了。用 bean:write 只能在 page 不能读取存放在本地范围里的变量。

访问 Web 资源

bean:message

访问指定资源束的一个键值对。

bundle 属性指定使用哪个资源束

key 指定关键字的名称

locale 用于限定语言环境

scope 指定查找 name 属性指定的对象时的搜索范围(应用程序、页面、请求或会话),如果没有指定,则按下列顺序搜索每个范围:页面、请求、会话、应用程序。

指定关键字有三种方法:

1.   key 属性来指定关键字 :
<bean:message key=”label.search.name”/>

2.   使用 name 属性指定一个变量,标记将这个变量的值作为检索的关键字:
<%
String msg=”result”;
pageContext.setAttribute(“msg”,msg);
%>
<bean:message bundle=”special” name=”msg” arg=”success”/>
struts-config.xml:
  <message-resources parameter="com.yourcompany.struts.SpecialResources" key=”special” />
SpecialResources.properties:
result={0}
页面显示:
success

3.   使用 name property 属性指定一个 javabean 的字段作为检索的关键字:

bean:resource

用于加载 Web 应用程序资源的内容并将其以 String 对象存储在页面范围和本地范围内的 JSP 变量中。另外,你可以选择指定是否只想要资源的 java.io.InputStream 对象的引用而不是将其内容保存在 String 对象中

Web 应用程序资源是那些作为 Web 应用程序的一部分而打包的文件。如:

如果你的 Web 应用程序位于名为 c:\tomcat\strutssample 的目录中,并有以下文件:

l   c:\tomcat\strutssample\index.jsp

l   c:\tomcat\strutssample\WEB-INF\struts-config.xml

那么你就可以将 index.jsp 作为“ /index.jsp” 来访问。请注意, WEB 应用程序资源的路径与该应用程序相关,且必须用斜杠( / )开头。

如果加载资源错误,则在运行 resource 标记时会抛出一个 JspException 异常。 ]

resource 标记加载 struts-config.xml 的示例:

<bean:resource id=”strutsConfig” name=”/WEB-INF/struts-config.xml”/>

访问:

Struts Config file contents:<%=strutsConfig%>

Struts Config file contents:<bean:write name=”strutsConfig”/>

以下代码帮说明如何使用资源标记来为 WEB 应用程序资源获得一个 java.io.InputStream 的引用。

<bean:resource id=”strutsConfig” input=”true” name=”/WEB-INF/struts-config.xml”/>

input 属性接受任何的值。只要存在值, java.io.InputStream 引用将被存储在 JSP 变量中,而不是包含 WEB 资源内容的 String 对象。

你可以使用 bean:resource 标记加载 web 应用程序资源的内容,比用 Scriplet 更简洁。

bean:struts

用于将 Struts 配置对象的引用存储在本地范围和页面范围内的 JSP 变量中。

使用标记必须指定 formBean,forward mapping 属性之一,否则运行时将抛出 JspException 。另外,如果找不到指定的配置对象,运行时将抛出 JspException

第一种用法:存储 fromBean 对象
<bean:struts id=”cfg” formBean=”searchForm”/>
formBean
属性的值与在 Struts 配置文件中 <form-bean> 标记的 name 属性的值相匹配。

第二中:存储 forward 对象
<bean:struts id=”cfg” forward=”search”/>

forward 属性的值与在 Struts 配置文件中的 <global-forward> 标记的子标记 <forward> name 属性匹配。

第三种:存储 Action 对象
<bean:struts id=”cfg” mapping=”/search”/>

mapping 属性的值与在 Struts 配置文件中的 <action> 标记的 path 属性的值匹配。

bean:include

用于执行对页面的请求,并将响应结果的客户端代码存储在 JSP 变量中。

有三种使用方法:

1.   使用 forward 属性指定 forward 名称
<bean:include id=”search forward=”forward”/>

2.   使用 href 属性指定绝对 URL
<bean:include id=”search” href=”
http://www.google.com ” />

3.   使用 page 属性指定相对于应用程序的 URL
<bean:include id=”search” page=”/search.jsp”/>

使用 bean:write 输出时要将其 filter 属性设置为 false 才能显示正确信息,否则显示客户端源代码

问题 1

bean:write 输出时中文信息是乱码

定义和输出 JavaBean

bean:define

定义一个变量并将其保存在本地范围和由 toScope 指定的范围里。如果 id 指定这个变量已存在则替换之。

toScope 属性可选的值有: page,request,session.application 。默认为 ”page”

scope 属性指定要赋给这个变量的值所在的范围。

type 指定指定要赋给这个变量的值的类型。如果该标记指定了 value 属性则 type 默认为 java.lang.String ,否则值为 java.lang.Object

id 属性变量赋值有以下四种方法:

1.   设置 value 属性
<bean:define id=”name” value=”rolia”/>

2.   同时设置 name property 属性
name
代表一个已存在的 Bean property 代表这个 Bean 的某个属性。 id 变量的值由 property 属性决定。

3.   设置 name 属性
name
属性指定一个以存在的变量,可以用 scope 属性指定这个变量所在范围。

4.   将值放在标记的起始位置和结束位置之间。
<bean:define id=”name”>rolia</beandefine>

bean:write

用于输出变量,或 JavaBean 的某个属性字段 , 并调用 toString() 方法获得字符串,然后输出字符串的内容。

l   name 属性指定一个已存在的变量

l   property 属性与 name 属性一起指定 JavaBean 的某个属性字段

l  format 指定输出格式如:
     <%

       java.util.Calendar c = java.util.Calendar.getInstance(java.util.TimeZone.getTimeZone( "GMT+8" ),java.util.Locale.CHINA);

       pageContext.setAttribute( "c" ,c);

     %>

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

 

l   filter 当为 true 时,转换 HTML 符号。默认为 true

当要输出的变量不存在或为 null 时抛出错误。所以在输出变量前应用 logic:present 检查变量是否存在。

bean:size

用于将数组、基于 java.util.Collection 的对象或基于 java.util.Map 对象的大小以 java.lang.Integer 对象存储在本地范围和页面范围的变量里。

有三种方法指定集合:

1.   使用一个 scriplet 表达式表示一个本地范围的变量
    <%
      String[] array = new String[3];
     %>
     <bean:size id="size" collection="<%=array%>"/>
     <bean:write name="size"/>

2.   使用 name 属性来指定集合对象的名称。若没有指定 scope 则依次在 page,request,session.application 范围里查找,否则在 scope 指定的范围里查找。

3.   name property 属性指定集合对象的名称为一个 JavaBean 的某个字段的名称。若没有指定 scope 则依次在 page,request,session.application 范围里查找,否则在 scope 指定的范围里查找。

如果没有使用上述任何一种方法指定集合则抛出 JspException

分享到:
评论

相关推荐

    struts bean标签

    Struts Bean标签库是Apache Struts框架提供的一个JSP自定义标签集合,它基于JSP标准标签库JSTL,并且扩展了一些针对MVC模式中模型层对象的操作。这个库的主要目标是帮助开发者在JSP页面上更加方便地处理Bean对象,...

    struts1标签库详解

    Bean Tags 是 Struts 中最基本的标签库,包含的标签可以用来创建 bean、访问 bean 和访问 bean 的属性。同时提供了依据 cookies、headers 和 parameters 的值创建相关 bean 的能力。 * bean:cookie:取回请求中名称...

    struts2标签库例子

    Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...

    Struts1标签库

    在Bean标签库中,`&lt;bean:copy&gt;`和`&lt;bean:message&gt;`等标签也很重要。`&lt;bean:copy&gt;`用于复制Bean的属性,而`&lt;bean:message&gt;`则用于实现国际化,即根据用户的语言环境显示相应的消息。 此外,还有其他辅助标签,如`...

    Struts中Bean标签的应用

    Struts Bean标签库提供了一系列强大的标签,用于处理JavaBean对象,这些标签简化了JSP页面与JavaBean之间的交互,提高了代码的简洁性和可维护性。下面将详细介绍几个常用的Bean标签及其应用场景。 #### 三、具体...

    struts-bean标签

    以下是对Struts-Bean标签库中主要标签的详细解释: 1. `&lt;bean:define&gt;`:此标签用于在JSP页面中定义一个变量,并将它与JavaBean或其属性关联。`id`属性用于指定变量名,`name`用来指定JSP范围内已经存在的JavaBean...

    struts1标签库运用总结

    1. **bean标签库** - `bean:define`:此标签用于在指定的作用域内定义一个新的属性,例如在JSP页面上创建临时变量。`id`属性是属性名,`value`是属性值,`toScope`决定属性保存在哪一级作用域(如request、session...

    Struts 标签库

    这个标签库主要由Struts HTML标签库、Struts Bean标签库、Struts Logic标签库和Struts Tiles标签库组成,每个库都有其特定的功能。 Struts HTML标签库是其中最基础的部分,主要用于生成HTML元素和表单,以及处理...

    struts2标签库详解(非常不错)

    Struts2标签库是开发Java Web应用程序的重要工具,它提供了丰富的UI组件和逻辑控制标签,大大简化了视图层的编码工作。这个“Struts2标签库详解(非常不错)”的资源应该包含了对Struts2所有标签的详细介绍,以及相关...

    struts2标签库

    ### Struts2 标签库详解 Struts2框架作为Struts1的升级版,在功能性和易用性方面有了显著的提升。对于那些已经熟悉Struts1的人来说,学习Struts2将是一个相对平滑的过程。Struts2标签库是其核心组件之一,它提供了...

    纯struts带标签

    - **Struts Bean标签库**:用于访问和显示JavaBeans的属性,如`&lt;bean:write&gt;`显示Bean的属性值。 3. **使用Struts标签的优点** - **增强可读性**:标签使得JSP页面更像声明式编程,而非脚本语言,降低了理解和...

    Struts标签库Struts标签库Struts标签库案例

    - Struts标签库包括核心标签库(struts-tiles)和HTML标签库(struts-html),以及其他如逻辑标签库(struts-logic)、bean标签库(struts-bean)等。 - 核心标签库主要用于页面布局和组件管理,而HTML标签库则...

    Struts1.2标签库资料

    - Bean标签库主要用来操作和展示JavaBeans对象,如`&lt;s:bean&gt;`创建和初始化Bean,`&lt;s:property&gt;`显示Bean的属性值。 6. **使用方法** - 在JSP页面中引入Struts1.2标签库,通常通过`&lt;%@ taglib %&gt; `指令完成,例如...

    Struts配置及标签库详解

    2. `struts-bean.tld`:Bean标签库,主要用于在JSP页面中创建、访问和操作JavaBean对象。例如,`&lt;bean:define&gt;`用于定义变量,`&lt;bean:write&gt;`用于输出Bean的属性值。 3. `struts-logic.tld`:Logic标签库,提供了...

    软件开发框架Struts2标签库.pdf

    软件开发框架Struts 2 标签库概述 Struts 2 标签库是Java Web 应用程序开发中的一种常用框架,提供了丰富的标签库,帮助开发者快速构建Web 应用程序。本资源摘要信息涵盖了Struts 2 标签库的概述、控制标签、数据...

    struts标签的写法

    #### 四、Struts Bean标签库详解 ##### 1. Bean标签库的作用 Bean标签库主要用于处理JavaBean对象,包括创建、访问以及修改JavaBean属性等功能。这些标签可以帮助开发者更容易地管理页面上的数据对象。 ##### 2. ...

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

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

Global site tag (gtag.js) - Google Analytics