C.3 Bean标签库的Struts-EL标签
在Bean库中只有下列标签具有EL使能的版本:include、message、page、resource、size和struts。
注意EL使能的标签是指那些允许使用EL表达式的标签。具体例子参见第10章。
C.3.1 cookie/header/parameter
每一个都基于指定的cookie/header/parameter/variable的值暴露一个脚本变量。
1. 使用限制
id属性和name属性是必需的。
2. 属性
?name:需要取得的cookie/header/parameter的名称。
?id:要暴露的变量的名称。scriptlet及其他定制标签将能够使用这个名称来访问cookie/header/parameter的属性。
?value:万一给定名称的cookie/header/parameter不能被找到而需要返回的默认值。
?multiple:指定具有相同名称的多个cookie/header/parameter如何被处理。这个属性的实际值并不重要。如果multiple属性被设置,那么通过id暴露的变量便是一个对应类型的数组(Cookie []/String []/String [])。如果multiple属性不存在,那么第一个发生的cookie/header/parameter就会被绑定到暴露的变量。
3. 示例
考虑下面的URL:
https://www.wendangku.net/doc/9810085748.html,/mypage.jsp?command=test&action=save&id=1234
5
下面就是如何在请求URL上面暴露名为command的参数:
如果有不只一个名为command的参数,例如:
可以这样访问它们:
其他的header和cookie标签具有类似的例子。
4. 对应物
JSTL
下面是如何在没有指定multiple属性的情况下将
如果multiple属性被指定,那么可以使用下列方式之一:
注意,这里还使用了一个
C.3.2 define
这个标签基于来自一个给定的字符串,或另一个JavaBean的数据暴露一个变量。scriptlet及其他标签可以像访问任何其他的变量一样访问这个暴露变量。这可能好像没有什么用处,但是它的确有用。参见具体的例子。
也请参考cookie/header /parameter和page条目,其中有相关的标签。
1. 使用限制
id属性是必需的,并作为要暴露的变量的名称。也需要指定name/property/scope或value,或者将暴露的变量的值嵌入到
2. 属性
?id:要暴露的变量的名称。scriptlet及其他定制标签将能够使用这个名称来访问该新变量。
?name/property /scope:这些属性使用一个给定的name和可选的property和scope属性来定位一个被暴露的对象。如果没有指定scope,将在所有作用域中查找给定名称的对象。
?value:要暴露的字符串值。这样将通过id属性暴露的变量绑定到value属性指定的字符串。
?toScope:在其上保存新变量的作用域。可以是page、request、session或application。
?type:使用id属性暴露的变量的全限定类名。如果未被指定,在指定value属性的时候将同时使用https://www.wendangku.net/doc/9810085748.html,ng.String。要使用嵌套技术也会有提示(见示例),如果使用name/property/scope的方式,隐含的类名是https://www.wendangku.net/doc/9810085748.html,ng.Object。
3. 示例
下面是可以使用
在最后一个例子中,如果myAttr.getMyProp()返回null,那么将抛出一个异常。否则,myVar5等于myAttr.getMyProp()在其被调用时的值。
如果与Struts EL标签一起使用,可以使用
myapp.formats.dateFormat 指向的消息是日期格式,当然,这是被Struts自动本地化的。不需要任何Action子类!
4. 对应物
JSTL
最后一个例子是相似的:
C.3.3 include
这个有趣的标签允许调用一个外部的JSP或全局转发或URL,并且将结果响应数据作为一个变量访问。被调用页面的响应不会写出到响应流。如果该暴露的变量是用
1. 使用限制
必须指定id属性和forward、page或者href属性之一。
2. 属性
?id:要暴露的变量的名称。scriptlet及其他定制标签将能够使用这个名称来访问该新变量。
结果变量是页面作用域的。
?forward:要调用的全局转发的名称。
?page:要调用的当前Web应用中的JSP页面的名称。这个名称是相对于模块的,并且需
要一个“/”前缀。
?href:外部页面的的绝对URL,例如https://www.wendangku.net/doc/9810085748.html,/code/index.html。
?anchor:被调用页面的HTML锚的名称。
?transaction:如果被设置为true,则会在响应中包含事务令牌。参见
3. 示例
这个例子读取给定的外部页面,然后显示实际的内容。接收到的HTML都是经过编码的:
4. 对应物
最接近的对应物是JSTL的
注意,还可以使用嵌套
C.3.4 message
这个标签显示一个国际化了的消息。最多可以指定5个替代参数。
1. 使用限制
必须指定key属性或者name/property/scope组合。
2. 属性
?key:要显示的消息资源的关键字。如果locale/bundle组合没有被指定,那么默认消息资源文件和用户的当前场所将被用来决定显示哪个消息资源。
?name/property/scope:这些属性被用来基于一个具有给定的name和可选的property和scope属性的对象来导出一个关键字。如果没有指定scope,将在所有作用域中查找给定名称的对象。
?locale/bundle:这些属性用于指定一个不同的场所对象或消息资源文件。locale指定一个可用于查找存储于当前会话中的Locale对象的关键字。bundle属性将在下面的小节中详细解释。
?arg0/arg1/arg2/arg3/arg4:这些分别是第一个、第二个、第三个、第四个以及第五个替代参数的值。
3. 使用多重消息资源文件
Struts允许声明多个消息资源文件(也就是说,对同一个场所有
多个Application.properties文件。每一个这样的消息资源文件被命名
为一个唯一的名称,并在Struts标签中使用bundle属性来引用)。默
认消息资源文件没有名称,并且它是唯一的,也就是说如果bundle
属性没有被指定,就将使用它。
你应该知道使用多重的消息资源文件有一些问题:
?有报告说与Validator框架一起使用会有问题。
?它让维护更加困难。这是因为除指定关键字之外,必须指示bundle名称(如果它不是默认的那个的话)。如果后来决定将一个消息从一个文件移动到另一个文件中(如果想要调整一个应用程序以确保显示的消息或提示的一致性,这就会很常见),那么必须修改每个使用那些特殊消息的标签的bundle属性值。
所以应该尽可能地避免使用这个特征。
一种可选的方法是对关键字使用一种命名约定,比如点号命名约
定(例如,app.error. prompt.login)。笔者在本书中就对消息关键字
使用了这种约定。这能够创建分离的名字空间,因此排除了使用多个
消息资源文件的必要。
现在应该知道使用多个消息资源文件的危险了。下面是可以如何
在struts-config.xml文件中声明多个消息资源文件:
在这个例子中,第二个消息资源文件是Application2.properties,
并且被保存在与默认的Application.properties文件的同一地点(也就
是说,在/WEB-INF/classes/中)。
为了从该默认文件中显示一个提示,可使用
为了从第二文件中显示一个提示,可使用
额外的bundle属性告诉Struts使用哪个消息资源文件。
4. 示例
下面是如何显示一个消息的例子:
这里是如何使用其toString()方法返回关键字的JavaBean的例子:
这里是如何使用其属性给出关键字的JavaBean的例子:
这个例子调用MyBean.getFormatKey()并且将其用做消息关键字。如果必要将在返回值上调用toString()方法。如果该消息具有替代参数,例如:
可以使用下面的代码来执行替代(使用EL):
5. 对应物
在JSTL和JSF中都有对应物。对于JSTL,可以使用格式化库:
这段代码片段是最后一个例子使用对应物的情况,使用了一个替代参数。如果使用JSF,可以很方便地使用Struts-Faces库(参见第20章)来暴露默认消息资源文件:
这和前面的JSTL例子是等价的。最后,还有一个来自Struts-Faces 集成库的
C.3.5 page
这个方便的标签将来自于页面上下文中的对象暴露为可以通过scriptlet或定制标签访问的变量。
PageContext对象是当前页面的所有状态的储存库。这包含在第2章描述过的会话(HttpSession)和请求(HttpServletRequest)中。还有一些:
?application:javax.servlet.ServletContext对象,通过调用pageContext.getServlet- Context()来获得。
?config:javax.servlet.ServletConfig对象,通过调用pageContext.getServletConfig()来获得。不要将其与Struts的内部配置对象搞混淆。
?response:与此页面关联的HttpServletResponse对象。
应该参考最新的servlet参考文档(或者在Google上搜索类名来找到相关JavaDoc),以获得有关它们的更多详细信息。
1. 使用限制
id属性和property属性都是必需的。
2. 属性
?id:要暴露的变量的名称。scriptlet及其他定制标签将能够使用这个名称来访问该新变量。
这个属性是必需的。
?property:该属性的值是application、session、request、config或response,用于从页面上下文获得关联的对象。这个属性是必需的。
3. 示例
代码片断
将与外围的页面相关联的会话对象(HttpSession)暴露为一个名为myVar的bean。另一个页面上下文对象是以同样的方式被暴露的。
4. 对应物
JSTL的
为了暴露会话,使用这个:
为了暴露请求,使用这个:
为了暴露配置对象,使用这个:
为了暴露响应,使用这个:
应该注意到JSTL隐含的对象sessionScope和pageContext.session 是不相同的。前者是一个包含关键字/值对的Map,后者是实际的HttpSession对象,可以读取它的属性。
C.3.6 resource
resource允许从当前Web应用程序读取任何文件并且将其暴露为一个字符串变量或者一个InputStream。参见
1. 使用限制
id属性和name属性是必需的。
2. 属性
?id:要暴露的变量的名称。scriptlet及其他定制标签将能够使用这个名称来访问该新变量。
这个属性是必需的。
?name:要加载资源的模块相对的名称。
?input:如果这个属性被指定(实际的值并不重要),那么该暴露的变量具有InputStream类型,否则它是String类型。
3. 示例
说实在的,很难看到这个标签如何有用,除非使用其他可以读取和解析InputStream的定制标签。下面是使用一假定的RSS源(/myRss.xml,其中包含RSS标记)的一个例子,以及一个假定的用来显示RSS输出的
4. 对应物
最接近的对应物是JSTL的
C.3.7 size
这个标签将一个给定的Collection或者Map或者数组的大小暴露为一个变量(整数类型),可以从scriptlet或定制标签访问到。
1. 使用限制
id属性是必需的,并且必须指定想要测量大小的数组/ Collection/Map,使用collection属性或者一个name/property/scope组合。
2. 属性
?id:要暴露的变量的名称。scriptlet及其他定制标签将能够使用这个名称来访问该新变量。
这个属性是必需的。
?name/property/scope:这些属性被用来定位Collection/Map/数组,基于可选的属性和作用域。如果没有指定scope,将在所有作用域中查找给定名称的对象。
?collection:这个是name/property/scope组合的一个非常方便的替换物。使用scriptlet来计算这个属性的值,例如:
这个属性后面的基本原理将在
3. 示例
下面是暴露一个给定集合的大小的简单例子:
4. 对应物
可以连同JSTL length函数使用JSTL的
记住声明JSTL函数标签库。
C.3.8 struts
这个标签暴露一个Struts全局转发,或表单bean或表单处理器(该表单处理器的ActionMapping)为一个变量,可以通过scriptlet 及其他标签进行访问。如果想要JSTL能够访问Struts的内部变量,这是很有帮助的。
1. 使用限制
id属性是必需的。还必须指定forward、formBean或mapping属性。
2. 属性
?id:要暴露的变量的名称。scriptlet及其他定制标签将能够使用这个名称来访问该新变量。
这个属性是必需的。
?forward:要暴露的全局转发的名称。
?formBean:要暴露的已经声明的表单bean的名称。
?mapping:要暴露的表单处理器的名称。
3. 示例
考虑这段struts-config.xml代码:
下面是暴露全局转发的方式:
以及表单bean:
以及表单处理器:
4. 对应物
无。
C.3.9 write
这个标签将指定的bean属性输出为响应流。它允许对给定的bean 属性进行一些格式化。
1. 使用限制
name属性是必需的。
2. 属性
name/property/scope:这些属性被用来基于给定的name和可选的property和
scope来定位JavaBean。如果没有指定scope,将在所有作用域中查找给定名称的对
象。
?ignore:如果被设置为true,则一旦命名的JavaBean没有找到,则失败,什么也不会发生。默认值(false)导致一个异常被抛出。
剩下的属性用来格式化bean的属性:
?filter:如果设置为true,将导致属性的字符串值是HTML编码的。例如,符号(&)将被编码成& amp;而>将被编码成& gt;默认是true。
?format/formatKey:这两者都指定一个用于格式化bean的属性的格式化字符串。
format将按照字面使用其值来作为格式化字符串。而formatKey则将它的值作为一个关键字从消息资源文件中查找实际的格式化字符串。除非locale/bundle组合被指定,当前用户的场所以及默认消息资源束将被使用。
?locale/bundle:这些属性用于指定一个不同的场所对象或消息资源文件。Locale属性指定一个可以用来在当前会话中查找Locale对象的关键字。bundle属性将会在条目
3. 示例
代码
将显示由myString引用的字符串。
将显示MyBean.getMessage()的值。
将显示等于3.1416的myFloat为3.14。
将格式化由myCalendar表达的日期为dd/mm yyyy。例如20 Feb 2006将
被显示为20/02/2006。
将使用消息关键字app.format.dateFormat的值作为格式化字符串。
4. 对应物
可以使用JSTL的
将显示MyBean.getMessage()的值。为了格式化该输出,可以使用JSTL
的格式化标签库:
相当于前面给出的数值格式化的例子,或者:
JSTL的格式化标签库具有许多格式化字符串、日期、货币以及数值的变化。
如果你还感兴趣想深入了解,应该参考最新的JSTL规范。
最后,Struts-Faces集成库中的
Struts2学习之二--Struts2标签介绍 热12已有 14625 次阅读 2009-07-12 18:53 [顶]3G移动--Android开发工程师全能班 (转) Struts2学习之二--Struts2标签介绍 在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL:Max.M.Yuan@https://www.wendangku.net/doc/9810085748.html,。 在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。 分类将标志库按功能 分成HTML、Tiles、 Logic和Bean等 几部分 严格上来说,没有分类,所有标志都在URI 为“/struts-tags”命名空间下,不过, 我们可以从功能上将其分为两大类:非UI 标志和UI标志 表达式语言(expression languages)不支持嵌入语言 (EL) OGNL、JSTL、Groovy和Velcity 以上表格,纯属个人总结,如有所不足或错误,请不吝指正 好了,我要开始介绍“常用”(这里所谓的“常用”,是指在已往工作中使用Struts里经常用到的)的标志了。 1.非UI标志 o if、elseif和else 描述: 执行基本的条件流转。
参数: 名称必 需 默 认 类型描述备注 test 是Boolean 决定标志里内容是否 显示的表达式 else标志 没有这个 参数 id 否Object/String 用来标识元素的id。在UI和表单中为HTML的id属性 例子: <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %>
Strus2标签库 Struts2提供了一套标签库用于简化JSP层的编程,开发者只需要标签中做少量的设置,就可以实现各种常用的效果。Struts2的标签与Action联系比较紧密,使用标签后,Struts会自动完成JSP层的显示数据、在Action层采集数据等工作。 Struts2的标签都统一包含在struts-tags.tld文件中(位于struts2-core-2.2.1.jar中),使用统一前缀。 Struts标签库大致分为: UI标签:包括表单标签,非表单标签 非UI标签:流程控制标签,数据访问标签 首先要在JSP中使用taglib编译指令导入标签库,然后才可以使用标签。 <%@taglib prefix="s" uri="/struts-tags"%> 以上代码用于导入Struts2标签库,其中URI就是对应web.xml文件中指定的标签库的URI,而prefix属性值是该标签库的前缀。 第1节OGNL语言 OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 OGNL语法类似于EL,主要使用.作为操作符,例如要访问person.getCountry().getName()可以这样写:https://www.wendangku.net/doc/9810085748.html,。 1.1 OGNL的常用符号 主要是#号,其作用有三种: 1. 访问OGNL上下文与ActionContext资源,相当于ActionContext.getContext(), 常用#属性如下表: parameters:
Struts2复习题 1.以下属于struts2的控制器组件是: 2.以下属于struts2的体系结构的是:(多选) 控制器组件配置文件 3.以下属于struts2配置文件中的配置元素是:(多选) A.
Struts2中数据标签使用示例 S truts2提供了大量丰富的标签供使用,它不再像S truts1中一样,将种类标签进行分门列别,但可以根据其使用的用途用以区别。本文通过对S truts2中数据标签的学习,来对S truts2中标签的学习起到一个抛砖引玉的作用。 文中将介绍Action标签、Bean标签、Data标签、Include标签、P aram标签、Set标签、T ext标签、P roperty 标签等标签。 代码下载:https://www.wendangku.net/doc/9810085748.html,/y1ps2Mjpc3NiLKuetMOpCsZOOypD6KSdo8-46Zy2wpoMcABeo4vOC NJXtWDEO93-TXgZogwAF YxSOni5BEG2EoN65OFwHdG71v-/St ruts2DataTags.rar?download 一、
1.OGNL表达式语言 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts 2框架使用OGNL作为默认的表达式语言。 相对EL表达式,它提供了平时我们需要的一些功能,如: 支持对象方法调用,如xxx.sayHello(); 支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@https://www.wendangku.net/doc/9810085748.html,ng.String@format('foo %s', 'bar')或 @cn.itcast.Constant@APP_NAME; 操作集合对象。 Ognl 有一个上下文(Context)概念,说白了上下文就是一个MAP结构,它实现了java.utils.Map接口,在Struts2中上下文(Context)的实现为ActionContext,下面是上下文(Context)的结构示意图 2.访问上下文(Context)中的对象需要使用#符号标注命名空间,如 #application、#session 另外OGNL会设定一个根对象(root对象),在Struts2中根对象就是ValueStack (值栈)。如果要访问根对象(即ValueStack)中对象的属性,则可以省略#命名空间,直接访问该对象的属性即可。 在struts2中,根对象ValueStack的实现类为OgnlValueStack,该对象不是我们想像的只存放单个值,而是存放一组对象。在OgnlValueStack类里有一个List 类型的root变量,就是使用他存放一组对象 |--request |--application context ------|--OgnlValueStack root变量[action, OgnlUtil, ... ] |--session |--attr |--parameters 在root变量中处于第一位的对象叫栈顶对象。通常我们在OGNL表达式里直接写上属性的名称即可访问root变量里对象的属性,搜索顺序是从栈顶对象开始寻找,如果栈顶对象不存在该属性,就会从第二个对象寻找,如果没有找到就从第三个对象寻找,依次往下访问,直到找到为止。 大家注意: Struts2中,OGNL表达式需要配合Struts标签才可以使用。如:
Struts2标签使用 (1):
<2>:第二中方式:list = “#request/session.list”。 ---- 与action 结合起来了。 如果要默认选中的话后面加上value = “”.也可以通过javascript 的方式来默认选中。 (5):
这个标签负责输出提示信息到客户端,例子如下: Action代码如下: public String execute() { addActionMessage("第一条普通消息!"); addActionMessage("第二条普通消息!"); return SUCCESS; } JSP:
常用Struts标签的使用说明 Struts Html标签库 1,
常用的Struts 2.0的标志(Tag )介绍 在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL :Max.M.Yuan@https://www.wendangku.net/doc/9810085748.html, 。 在介绍常用标志前,我想先从总体上,对Struts 1.x 与Struts 2.0的标志库(Tag Library )作比较。 分类 将标志库按功能分成HTML 、Tiles 、Logic 和Bean 等几部分 严格上来说,没有分类,所有标志都在URI 为“/struts -tags” 命名空间下,不过,我们可以从功能上将其分为两大类:非UI 标志和UI 标志 表达式语言(expression languages ) 不支持嵌入语言(EL ) OGNL 、JSTL 、 Groovy 和Velcity 以上表格,纯属个人总结,如有所不足或错误,请不吝指正 好了,我要开始介绍“常用”(这里所谓的“常用”,是指在已往工作中使用Struts 里经常用到的)的标志了。 要在JSP 中使用Struts 2.0标志,先要指明标志的引入。通过在JSP 的代码的顶部加入以下代码可以做到这点。 <%@taglib prefix ="s" uri ="/struts-tags" %> 1. 非UI 标志 o if 、elseif 和else 描述: 执行基本的条件流转。 参数: 名称 必需 默 认 类型 描述 备注 test 是 Boolean 决定标志里内容是否显示的表达式 else 标志没有这个参数
STRUTS2模拟测试(开卷——定时90分钟) 一、填空题 1.Struts2框架由___Struts1________和____WebWork_______框架发展而来。(Struts&WebWork ) 2.Struts2以___WebWork______为核心,采用____拦截器_______的机制来处理用户的请求。(WebWork,拦截器)3.构建Struts2应用的最基础的几个类库是struts-core-2.1.6.jar___________、__xwork-2.1.2.jar_________、__ognl-2.6.11.jar_________ 、_freemarket-2.3.13、_commons-logging-1.0.4.jar_________以及 ___commons-fileupload-1.2.1.jar________。 4.Struts2中的控制器类是一个普通的_____class______。Class 5.如果要在JSP页面中使用Struts2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为_<%@ taglib prefix=”s” uri=”/struts-tags”%>__________。<%taglib uri="/struts-tags" prefix="s"%> 6.在Struts2表单标签库中,表单标签为_
填空: 1.Struts 2以__过滤器__为核心,采用__拦截器__的机制来处理用户的请求。 2.构建Struts 2应用的最基础的几个类库是_struts2-core__、_commons-logging_、_xwork-core_、__freamarker___以及_ognl_。 3.Struts 2中的控制器类是一个普通的_POJO_。 4.如果要在JSP页面中使用Struts 2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为_____<%@ taglib prefix=”s” uri=”strut-tags”%>______。5.在Struts 2表单标签库中,表单标签为_____
1、02_尚学堂马士兵_Struts2_Struts2_HelloWorld_2.avi 指定Tomcat的目录,指定JDK搭建开发环境(拷贝jar包,复制struts.xml 文件此文件不要放在WEB-INF下面,应该放到src下面),在web.xml文件中:
Struts1之HTML标签库详解1 2010-05-09 15:19 Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 标签的公共特征 使用固定属性名称的Struts 标签: Struts 标签也支持嵌套引用,例如: 虽然Struts 标签的设计原意是为了避免使用scriptlet,scriptlet的表达式还能够提供给所有的Struts 标签使用。但请确保使用完整的表达式: Html 标签库 1.标签 它有两个属性:locale和xhtml,两者都不是必需的。 2.说明:生成的结果取决于Struts应用程序所位于的服务器的locale。如果你将应用程序部署到一个
不同locale的服务器,你不需要改变代码,Locale会自动调整。 3.
一、表单标签_checkbox复选框 如果集合为list listKey="key"listValue="value" value="{1,2,3}"/> 生成如下html代码: ************************************************ ****** 11.6 常用的Ajax标签 struts2为了简化Ajax过程,提供了一些常用的Ajax标签。可以满足一般的Ajax需求,对于一些更为复杂的Ajax通信过程,我们可以使用后加的JSON插件来实现。 11.6.1 div标签 div标签在页面上生成一个Div元素,但这个Div元素的内容不是静态内容,而是从服务器获取的内容。为了让该div标签能取得服务器的数据,必须为该div标签指定一个(1)href属性,这个属性必须是一个Action,该Action负责生成该Div元素的内容。 --------------------------------------------------------------------------------------------------------------------------------------------- 提示:因为div标签是一个Ajax标签,因此应为该标签增加theme=“ajax”属性。 --------------------------------------------------------------------------------------------------------------------------------------------- 还可以指定该div标签生成的Div元素以固定的频率来更新自身的内容,为了指定更新频率和更新延迟,可以指定如下两个属性: (2) updateFreq:指定更新Div内容的时间间隔,单位是ms。如果不指定该属性,则只在页面加载时更新该Div的内容。 (3)delay:指定更新Div内容的时间延迟,单位是ms。如果不指定,且指定了updateFreq 属性,则页面加载后立即开始计时,准备刷新该Div的内容。如果没有指定updateFreq属性,则该属性没有任何意义。 如果服务器的响应包含了JavaScript代码,且希望在本页面内执行服务器响应的JavaScript 代码,则可以为该div标签指定(4)executeScripts=“true”。 看下面的页面代码: <%@ page contentType="text/html;charset=GBK" language="java" %> < %@ taglib prefix="s" uri="/struts-tags" %> < html> < head> < title>远程Div < s:head theme="ajax" /> < /head> < body>
如果集合为MAP
如果集合里存放的是javabean(id和name为Person的属性) <% Person person1 = new Person(1, "第一个"); Person person2 = new Person(2, "第二个"); ListStruts2的AJax标签