跟我学Struts框架中的标签库—— Logic标签的应用实例
目录
1.1跟我学Struts框架中的标签库——Logic标签的应用实例 (2)
1.1.1Struts中的逻辑标签库 (2)
1.1.2Logic标签的各种应用实例 (3)
1.1.3进行字符串匹配的Logic标签及应用实例 (6)
1.1.4判断指定的内容是否存在的Logic标签及应用实例 (7)
1.1.5进行循环遍历的Logic标签及应用实例 (10)
1.1.6进行请求转发或者重定向的Logic标签 (17)
1.1.7Logic标签的应用示例 (18)
1.1跟我学Struts框架中的标签库—— Logic标签的应用实例
1.1.1Struts中的逻辑标签库
1、概述
利用逻辑库中的标签可以根据特定的逻辑条件来控制输出网页的内容或者循环遍历集合中的所有元素从而重复地产生输出文本。
这些逻辑库的标签能够用来处理外观逻辑而不需要使用scriptlet脚本。这些标记封装在文件名为struts-logic.tld的标记包中。
2、种类
逻辑标记库定义的标记能够执行下列三个功能:
1)各种条件逻辑
2)重复
3)转发/重定向响应
3、进行条件比较运算的Logic标签
(1)种类
所有的比较运算都比较一个变量和指定的常量的大小,并且采用value属性指定常量的值。主要有如下的比较标签:
1)
2)
3)
4)
5)
6)
这一类的所有标记有相同的属性
1.1.2Logic标签的各种应用实例
1、典型实例一
设置cookie属性,此时变量为cookie属性指定的Cookie的值。从而可以识别cookie 中的指定名称属性的值是否为所希望的值。
<%
Cookie c = new Cookie("username", "zhang");
c.setComment("A test cookie");
c.setMaxAge(3600); //60 seconds times 60 minutes
response.addCookie(c);
%>
UserName in Cookie is zhang
上面的代码比较名称为"username"的Cookie的值是否为"zhang",此处的比较结果为true。上面的标签等效于下面的脚本:
if(cook.getValue(“username”).equal(“zhang”))
{
out.print(“UserName in Cookie is zhang”);
}
2、典型实例二
设置header属性,此时变量为header属性指定的HTTP请求中的Header的值
Client’s language i s: zh-cn.
上面比较HTTP请求中的"Accept-Language" 的值是否为"zh-cn" ,如果比较结果为true则执行标签体的内容。
3、典型实例三
设置parameter属性,此时变量为parameter属性所指定的请求的参数值
The first request parameter is greater than 100
上面的代码比较名称为“queryStringName”的请求参数的值是否大于“100”,如果比较的结果为true。就执行标签体内的内容。比如请求的URL为:https://www.360docs.net/doc/6014766631.html,/index.jsp?queryStringName =200,则会执行标签体的内容。
4、典型实例四
设置name属性,此时name属性指定被比较的变量。比较运算标签调用变量的toString()方法,获得被比较的字符串值。
<%
request.setAttribute("intBean",new Integer(100));
%>
The value of intBean is "100".
上面的代码先定义一个名称为“intBean”的Integer类型的变量,然后利用
5、典型实例五
同时设置name和property属性,此时name属性指定已经存在的JavaBean的名称,而property属性指定JavaBean中的某一个属性变量的名称,被比较的变量为该属性的值。
<%
SomeBean bean=new SomeBean();
bean.set Name("Linda");
request.setAttribute("someBean",bean);
%>
The name of someBean is not "Tom"
上面的代码先定义了一个名称为“someBean”的JavaBean,然后再利用
注意:如果两个字符串都可以成功地转化为数字,就比较数字的大小,否则就进行字符串比较。
<% request.setAttribute("number","100"); %>
上面将100和100.0进行比较,由于两者都是数字,因此比较的结果是以数值是否相等来判断的。
上面将100和100.0a进行比较,由于后者是字符串,因此比较的字符串“100”是否小于字符串“100.0a”,其比较的结果为true。
6、典型实例六
根据某个JavaBean组件中的某属性的值显示不同的图像(下面的oneBBSInfo代表某个BBSInfo类的对象,而bbsIconID为该JavaBean中的一个成员属性)
type="com.px1987.sshwebbbs.hibernatedao.BBSInfo"> 无
7、典型实例七
其中的value属性所代表的值,也可以为布尔量true或者false。
等同于下面的JSTL的标签状态
1.1.3进行字符串匹配的Logic标签及应用实例
1、概述
主要有
量字符串,而后面的标签主要实现判断变量中是否不包含指定的常量字符串。两者都采用value属性来指定常量字符串,并且可以通过cookie 、header、parameter、name和property等属性来设置变量。
该组标签的用法与前面的比较标签的用法基本相同。
2、典型应用的例一
<%
request.setAttribute("authorName", "zhanghua");
%>
上面的代码先定义一个名称为“authorName”的字符串变量,它的字符串的值为“zhanghua”。然后利用
3、典型应用的例二
利用location属性指定子字符串的位置,如果没有指定location属性,子字符串可以位于母字符串的任何位置。location的可选值包括
1)Start:子字符串位于母字符串的起始位置
2)end:子字符串位于母字符串的结束位置
1.1.4判断指定的内容是否存在的Logic标签及应用实例
1、概述
1)
2)
3)
4)
5)
6)
存在
2、典型应用例一
<%
request.setAttribute("emptyString", "");
%>
The variable named emptyString is empty!
上面的代码先定义一个字符串变量emptyString,它是空字符串。然后再利用
3、典型应用例二
1)cookie属性:判断指定的cookie是否存在
2)header属性:判断指定名称的HTTP请求Header是否存在
3)role属性:判断当前通过权限验证的用户是否具有指定的安全角色,如果存在多个安全角色则以
“,”分隔。
4)user属性:判断当前通过权限验证的用户是否拥有指定的用户名称
5)parameter属性:判断指定的请求参数是否存在
6)name属性:判断指定的JavaBean是否存在
7)同时设置name和property属性:name属性指定JavaBean,property属性指定JavaBean中的某个
属性,判断这个属性是否存在并且是否为null。
例1:
Both noSuchBean and noSuchProperty exist!
例2:下面的buyBookCart为一个Vector类型的集合
例3:
4、典型应用例三
<%
ActionErrors errors = new ActionErrors();
errors.add("totallylost", new ActionMessage("application.totally.lost"));
request.setAttribute(Globals.ERROR_KEY, errors);
request.setAttribute("myerrors", errors);
%>
下面以上面的代码为例来说明各个属性下的不同效果
●未设置name、message和property属性
默认情况下,该标签从request范围内检索属性key为Globals.ERROR_KEY的ActionMessages对象,其判断结果如果为true,将执行标签主体的内容。
●设置name属性
Yes, there are errors in myerrors collection.
该标签从request范围内检索属性key为myerrors的ActionMessages对象,其判断结果如果为true,将执行标签主体的内容。
●设置message属性
由于设置了message="true",因此该标签从request范围内检索属性key为Globals.MESSAGE_KEY的ActionMessages对象,由于本例中不存在该名称的ActionMessages对象,其判断结果为true,将执行标签主体的内容。
●设置property属性,但它指定的消息key不存在
There is no error named "SuchError".
该标签从request范围内检索属性key为Globals.ERROR_KEY的ActionMessages对象,然后再从ActionMessages对象中检索消息key为“noSuchError”的消息。由于本例的前面的代码中不存在该名称的ActionMessages对象,其判断结果为true,将执行标签主体的内容。
●设置property属性,但它指定的消息key存在
There is an error named "totallylost".
该标签从request范围内检索属性key为Globals.ERROR_KEY的ActionMessages对象,然后再从ActionMessages对象中检索消息key为“totallylost”的消息。由于本例的前面的代码中存在该名称的ActionMessages对象,其判断结果为true,将执行标签主体的内容。
1.1.5进行循环遍历的Logic标签及应用实例
1、
2、有三种方法可以定义这个集合
1)使用运行时间表达式来返回一个属性集合的集合
2)将集合定义为bean,并且使用name属性指定存储属性的名称。
3)使用name属性定义一个bean,并且使用property属性定义一个返回集合的bean属性。
当前元素的集合会被定义为一个页作用域的bean。属性如下,所有这些属性都能使用运行时表达式。
3、遍历集合
例1:下面是实现显示输出Vector集合中的各个元素的值
<%
Vector animals=new Vector();
animals.addElement("Dog");
animals.addElement("Cat");
animals.addElement("Bird");
animals.addElement("Chick");
request.setAttribute("Animals", animals);
%>
上面的代码定义了一个Vector类型的集合变量animals,并它存放在request范围内并命名为Animals。然后利用
if (loginResult)
{
Vector oneVector=new Vector();
oneVector.add("yang");
oneVector.add("zhang");
oneVector.add("Li");
oneVector.add("wang");
request.setAttribute("allUserName",oneVector);
return (mapping.findForward("loginSuccess"));
}
|
例2:下面是NetBook项目中的显示购物篮中的商品信息的标签(其中的buyBookCart为保存到session中的一个Vector类型的集合对象)
在Action类中产生出下面的代码
Vector oneVector=new Vector();
UserInfoVO oneUserInfoVO=new UserInfoVO();
oneUserInfoVO.setUserName("yang");
oneUserInfoVO.setUserPassWord("1234");
oneVector.add(oneUserInfoVO);
oneUserInfoVO=new UserInfoVO();
oneUserInfoVO.setUserName("zhang");
oneUserInfoVO.setUserPassWord("4567");
oneVector.add(oneUserInfoVO);
oneUserInfoVO=new UserInfoVO();
oneUserInfoVO.setUserName("wang");
oneUserInfoVO.setUserPassWord("abcd");
oneVector.add(oneUserInfoVO);
request.setAttribute("allUserName",oneVector);
return (mapping.findForward("loginSuccess"));
在目标页面中显示
UserName | UserPassWord |
| |
将显示输出下面的内容
4、遍历集合时指定length属性和offset属性(从而可以实现快速分页显示)
通过指定length属性来说明需要遍历的元素的数目,如果没有设置length属性,就遍历集合中的所有元素。
offset属性指定开始遍历元素的开始位置,默认值为“0”并且表示从集合的第一个元素开始遍历。
indexID属性定义一个代表当前被遍历元素序号的变量,这个变量被存放在page范围内,可以被
上面的代码表示只需要遍历Animals集合中的两个元素,offset为1,表示将从animals集合中的第二个元素开始遍历。其内的两个
5、遍历Map集合
<%
HashMap months = new HashMap();
months.put("Jan.", "January");
months.put("Feb.", "February");
months.put("Mar.", "March");
request.setAttribute("months", months);
%>
上面的三个
6、遍历Map集合中的嵌套元素
对于嵌套的集合,则应该采用嵌套的
HashMap h = new HashMap();
String vegetables[] = {"pepper", "cucumber"};
String fruits[] = {"apple","orange","banana","cherry","watermelon"};
String flowers[] = {"chrysanthemum","rose"};
String trees[]={"willow"};
h.put("Vegetables", vegetables);
h.put("Fruits", fruits);
h.put("Flowers", flowers);
h.put("Trees",trees);
request.setAttribute("catalog", h);
%>
-----
内层的
1.1.6进行请求转发或者重定向的Logic标签
1、转发标签
而如果采用Java脚本,则为:
String targetURI="/NetShop/info1.htm";
RequestDispatcher dispatch =request.getRequestDispatcher(targetURI);
dispatch.forward(request, response);
2、重定向标签
3、应用示例
(1)
(2)
其forward、href和page属性指定重定向的目标,它们的用法与前面的
而如果采用Java脚本,则为:
response.sendRedirect("https://www.360docs.net/doc/6014766631.html,");
1.1.7Logic标签的应用示例
1、应用的需求
(1)用户没有登陆系统时,只提供基本的菜单
(2)用户登陆系统后,并识别是否为前台用户
(3)用户登陆系统后,并识别是否为后台管理员用户
2、利用Java脚本
<%
if(session.getAttribute("oneUserInfoVO")!=null) //已经登陆吗
{
%>
注销 |
修改|
信息 |
<%
UserInfoVO oneUserInfoVO=(UserInfoVO)session.getAttribute("oneUserInfoVO");
if((oneUserInfoVO.getType_User_Admin()).intValue()==2) //是后台管理员?
{
%>
后台管理 | <%
}
}
else
{
%>
注册|
登录 |
<%
}
%>
3、利用Logic标签
注册|
登录 |
注销 |
修改|
信息 |
Struts2学习之二--Struts2标签介绍
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.360docs.net/doc/6014766631.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" %>
Condition Flow
Strus2标签库
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.360docs.net/doc/6014766631.html,。 1.1 OGNL的常用符号 主要是#号,其作用有三种: 1. 访问OGNL上下文与ActionContext资源,相当于ActionContext.getContext(), 常用#属性如下表: parameters:
struts2复习题(含答案)
Struts2复习题 1.以下属于struts2的控制器组件是: 2.以下属于struts2的体系结构的是:(多选) 控制器组件配置文件 3.以下属于struts2配置文件中的配置元素是:(多选) A.
struts2标签使用实例
Struts2中数据标签使用示例 S truts2提供了大量丰富的标签供使用,它不再像S truts1中一样,将种类标签进行分门列别,但可以根据其使用的用途用以区别。本文通过对S truts2中数据标签的学习,来对S truts2中标签的学习起到一个抛砖引玉的作用。 文中将介绍Action标签、Bean标签、Data标签、Include标签、P aram标签、Set标签、T ext标签、P roperty 标签等标签。 代码下载:https://www.360docs.net/doc/6014766631.html,/y1ps2Mjpc3NiLKuetMOpCsZOOypD6KSdo8-46Zy2wpoMcABeo4vOC NJXtWDEO93-TXgZogwAF YxSOni5BEG2EoN65OFwHdG71v-/St ruts2DataTags.rar?download 一、
Action Tag 示例
struts2标签和OGNL表达式
1.OGNL表达式语言 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts 2框架使用OGNL作为默认的表达式语言。 相对EL表达式,它提供了平时我们需要的一些功能,如: 支持对象方法调用,如xxx.sayHello(); 支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@https://www.360docs.net/doc/6014766631.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标签使用
Struts2标签使用 (1):
<2>:第二中方式:list = “#request/session.list”。 ---- 与action 结合起来了。 如果要默认选中的话后面加上value = “”.也可以通过javascript 的方式来默认选中。 (5):
史上最全的struts2标签
这个标签负责输出提示信息到客户端,例子如下: Action代码如下: public String execute() { addActionMessage("第一条普通消息!"); addActionMessage("第二条普通消息!"); return SUCCESS; } JSP:
struts标签说明
常用Struts标签的使用说明 Struts Html标签库 1,
struts2常用标签
常用的Struts 2.0的标志(Tag )介绍 在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL :Max.M.Yuan@https://www.360docs.net/doc/6014766631.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模拟(答案)
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表单标签库中,表单标签为_
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表单标签库中,表单标签为_____
马士兵struts2学习笔记(详细版)
1、02_尚学堂马士兵_Struts2_Struts2_HelloWorld_2.avi 指定Tomcat的目录,指定JDK搭建开发环境(拷贝jar包,复制struts.xml 文件此文件不要放在WEB-INF下面,应该放到src下面),在web.xml文件中:
struts标签库
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.
struts2(checkbox_radio_select)表单标签的应用及详细事例
一、表单标签_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标签