`
kobexing933
  • 浏览: 120291 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

第四章 Taglib Struts标签库

阅读更多

第四章 Tablib Struts标签库

Struts2 Taglib抽象了不同表示技术,现在Struts2主要支持三种表示技术:JSP,FreeMarkerVelocity。但部分的Tag在三种表示技术下都可以使用,但是也有部分只能在某一种情况下使用。

Tab可以分为两类:通用标签和UI标签。

4.1节 通用标签

通用标签用来在页面表示的时候控制代码执行的过程,这些标签也允许从Action或者值堆栈中取得数据。例如地域,JavaBeansURLs,和action

控制标签控制程序执行,例如:ifelse,iterator

数据标签管理数据的取得和创建,例如:beanpush,i18n

控制标签

if标签

描述

If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用。

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

id

String

用来表示该元素,对于UIForm标签来说直接转变为HTML id属性

test

Boolean

用来决定是否显示标签内部内容的表达式

例子

<s:if test="%{false}">

<div>Will Not Be Executed</div>

</s:if>

<s:elseif test="%{true}">

<div>Will Be Executed</div>

</s:elseif>

<s:else>

<div>Will Not Be Executed</div>

</s:else>

elseIf 标签

参考if标签

else 标签

参考if标签

append标签

描述

用来做iterator标签的辅助,将不同iterator中的内容合在一个iterator中。

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

id

String

用来保存结果iterator的对象在value context中的名字。

例子

Action

public class AppendIteratorTagAction extends ActionSupport {

private List myList1;

private List myList2;

private List myList3;

public String execute() throws Exception {

myList1 = new ArrayList();

myList1.add("1");

myList1.add("2");

myList1.add("3");

myList2 = new ArrayList();

myList2.add("a");

myList2.add("b");

myList2.add("c");

myList3 = new ArrayList();

myList3.add("A");

myList3.add("B");

myList3.add("C");

return "done";

}

public List getMyList1() { return myList1; }

public List getMyList2() { return myList2; }

public List getMyList3() { return myList3; }

标签使用

<s:append id="myAppendIterator">

<s:param value="%{myList1}" />

<s:param value="%{myList2}" />

<s:param value="%{myList3}" />

</s:append>

<s:iterator value="%{#myAppendIterator}">

<s:property />

</s:iterator>

generator 标签(JSP Tag

描述

val属性生成一个iterator

参数

例子

1:

生成一个简单的iterator,并且使用iterator标签打印出内容。

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">

<s:iterator>

<s:property /><br/>

</s:iterator>

</s:generator>

2:

生成一个iterator,使用count属性。因为count属性值为3,所以只有前三个内容(aaa,bbb,ccc)在生成的iterator中。

Generate an iterator with count attribute

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3">

<s:iterator>

<s:property /><br/>

</s:iterator>

</s:generator>

3:

生成iterator,使用了id属性,之后生成的对象放在pageContext中,可以通过指定的id来访问。

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="4" separator="," id="myAtt" />

<%

Iterator i = (Iterator) pageContext.getAttribute("myAtt");

while(i.hasNext()) {

String s = (String) i.next();

%>

<%= s %> <br/>

<%

}

%>

4:

生成iterator,使用converter属性,这里的convertor仅仅将每一个对象添加了一个"converter-"前缀。

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" converter="%{myConverter}">

<s:iterator>

<s:property /><br/>

</s:iterator>

</s:generator>

public class GeneratorTagAction extends ActionSupport {

....

public Converter getMyConverter() {

return new Converter() {

public Object convert(String value) throws Exception {

return "converter-"+value;

}

};

}

...

}

iterator 标签

描述

迭代处理一个java.util.Connection或者java.util.Iterator对象

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

id

String

Id

status

Boolean

如果指定,在循环的过程中会保留一个IteratorStatus类型的变量,该变量用来查询当前迭代的状态

value

String

被迭代的对象

例子

1

<s:iterator value="days">

<p>day is: <s:property/></p>

</s:iterator>

2

<s:bean name="org.apache.struts2.example.IteratorExample" id="it">

<s:param name="day" value="'foo'"/>

<s:param name="day" value="'bar'"/>

</s:bean>

<p/>

<table border="0" cellspacing="0" cellpadding="1">

<tr>

<th>Days of the week</th>

</tr>

<p/>

<s:iterator value="#it.days" status="rowstatus">

<tr>

<s:if test="#rowstatus.odd == true">

<td style="background: grey"><s:property/></td>

</s:if>

<s:else>

<td><s:property/></td>

</s:else>

</tr>

</s:iterator>

</table>

3

<s:iterator value="groupDao.groups" status="groupStatus">

<tr

class="<s:if test="#groupStatus.odd == true ">odd</s:if><s:else>even</s:else>">

<td><s:property value="name" /></td>

<td><s:property value="description" /></td>

<td>

<s:iterator value="users" status="userStatus">

<s:property value="fullName" />

<s:if test="!#userStatus.last">,</s:if>

</s:iterator>

</td>

</tr>

</s:iterator>

merge 标签(append

描述

参数

例子

sort 标签(JSP-Tag

描述

对一个可以迭代的对象进行排序操作。

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

Comparator

java.util.Comparator

排序用的比较器

Source

String

排序对象

例子

1:

<s:sort comparator="myComparator" source="myList">

<s:iterator>

<!-- do something with each sorted elements -->

<s:property value="..." />

</s:iterator>

</s:sort>

2:

<s:sort id="mySortedList" comparator="myComparator" source="myList" />

<%

Iterator sortedIterator = (Iterator) pageContext.getAttribute("mySortedList");

for (Iterator i = sortedIterator; i.hasNext(); ) {

// do something with each of the sorted elements

}

%>

subset

描述

递归iterator的一部分

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

count

False

Integer

Iterator<span

分享到:
评论

相关推荐

    pager-taglib_struts2 安装使用

    4. **创建JSP页面**:在JSP页面中引入Pager Taglib的标签库。 ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; &lt;%@ taglib prefix="pg" uri="/pager-taglib" %&gt; ``` **使用指南:** 1. **创建Action**:在...

    pager-taglib 分页标签使用

    这个标签库通常与Spring MVC、Struts2等框架结合使用,提供了一种声明式的方式来展示数据分页。下面将详细解释`pager-taglib`的使用方法、核心概念以及其在实际项目中的应用。 一、`pager-taglib`概述 `pager-...

    struts-html标签

    接着,在JSP页面中引入Struts HTML标签库,使用`@taglib`指令: ```jsp &lt;%@ taglib uri="struts-html" prefix="html" %&gt; ``` 1. `&lt;html:html&gt;`标签:这是Struts HTML标签库的基础,它可以设置`locale`属性,用于...

    Struts2 标签使用简介

    Struts2的标签库不仅限于核心库,还可以通过插件机制添加第三方标签库,如Struts2-dojo-plugin、Struts2-jquery-plugin等,这些插件提供了丰富的UI组件,如日期选择器、下拉树等。 总结,Struts2标签库是其强大功能...

    struts2 taglib ognl java jsp

    在Struts2中,Taglib(标签库)和OGNL(Object-Graph Navigation Language)是两个至关重要的组件,它们极大地简化了视图层的开发,并且增强了表达式语言的功能。 **Struts2 Taglib** Struts2的标签库是一系列预定...

    精通javaweb整合开发源代码

    4. **Struts标签的使用方法**:在JSP页面中引入Struts标签库,通过`&lt;%@ taglib %&gt; `指令,然后在页面中使用对应的标签。例如,引入Struts HTML标签库: ```jsp &lt;%@ taglib prefix="html" uri="/tags/html" %&gt; ```...

    Struts 中用Html 标签库的用法(第一部分).rar

    在Struts框架中,HTML标签库是用于创建动态HTML页面的重要工具,能帮助开发者更高效、更简洁地编写JSP页面。本篇文章将深入探讨Struts中Html标签库的用法,主要分为以下几个方面: 1. **HTML标签库的引入** 在JSP...

    第一章、STRUTS2.0开发环境

    在Web-INF目录下的jsp文件中,使用Struts2标签库展示数据。例如,HelloWorld.jsp: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; Hello, ``` 六、运行与调试 启动Web服务器,访问URL `...

    jsp struts1 标签实例详解第1 2页.docx

    Struts1 提供了两大类标签库:`struts-bean` 和 `struts-logic`,以及一些其他的辅助标签。 - **struts-bean** 标签库主要处理表单数据的绑定、显示等。 - **struts-logic** 标签库则负责逻辑控制,例如条件判断、...

    struts编程思想初探

    - 指定了Struts标签库的位置和版本。 - **3.4.3 有关StrutsActionMapping的配置描述** - 定义了ActionServlet与Action对象之间的映射关系。 #### 第四章 Pros & Cons ##### 4.1 为什么支持Struts **4.1.1 为...

    Java struts2 ongl 标签 jsp页面

    例如,在提供的代码片段中,可以看到`&lt;%@ taglib prefix="s" uri="/struts-tags"%&gt;`引入了Struts2的标签库,这使得在JSP中可以方便地使用OGNL表达式来操作页面上的Java对象。 ```jsp ("sex", Sex.MALE); %&gt; This ...

    Dreamweaver和Struts的整合.doc

    导入Struts标签库 在Dreamweaver中实现Struts标记库支持的第一步是导入Struts的taglib文件。操作步骤如下: - 打开Dreamweaver,选择菜单栏中的“编辑”-&gt;“标签库…”选项,打开“标签库编辑器”。 - 在“标签库...

    Struts驱动包(jar)

    - 创建JSP页面:使用Struts标签库展示数据,处理用户交互。 - 配置`web.xml`:设置Struts的初始化参数和Servlet映射。 - 运行与调试:部署应用,测试Action的执行和页面的展示。 5. **Struts的优势**: - 结构...

    struts的jar包

    2. **标签库**:`struts-taglib.jar` - 提供了一系列JSP标签,简化了视图层的开发,如logic标签用于控制流程,bean标签用于显示和操作数据。 3. **国际化支持**:`struts-logic.jar` 和 `struts-bean.jar` - 提供了...

    struts2综合复习习题

    导入struts标签库的正确代码应该是`&lt;%@ taglib uri="/struts-tags" prefix="s" %&gt;`. - C. Struts标签不仅支持OGNL表达式,也支持EL表达式。 - D. 虽然很多功能可以通过JSTL实现,但Struts2标签具有一些独特的功能...

    pager-taglib-2.0.rar

    Taglib,全称JSP Tag Library,是JavaServer Pages(JSP)技术中的一种自定义标签库。它允许开发者创建可重用的、自定义的HTML标签,以更简洁、易读的方式编写JSP页面,提高代码的可维护性和可扩展性。"pager-taglib...

    struts-1.3.9 源码

    4. **org.apache.struts.taglib**和**org.apache.struts.taglib.html**: 这些是Struts的标签库,用于在JSP页面中生成HTML表单和控制流程,例如`&lt;html:form&gt;`、`&lt;logic:iterate&gt;`等。 5. **org.apache.struts.tiles*...

    struts1.3.10 全部jar

    5. **struts-taglib-1.3.10.jar**:提供了Struts自定义JSP标签库,如logic、bean、html、form和tiles标签,使得开发者能够更方便地创建动态Web页面。 6. **commons-beanutils-1.8.0.jar**:Apache Commons ...

    struts2基本运行环境配置方法

    本文详细介绍了如何在MyEclipse环境下配置Struts2的基本运行环境,包括导入jar包、配置web.xml和struts.xml文件、编写Action类以及使用Struts标签库等关键步骤。通过本文的介绍,读者应能熟练掌握Struts2环境的配置...

Global site tag (gtag.js) - Google Analytics