`
liyin_rookie
  • 浏览: 29208 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Struts2标签(一)

 
阅读更多
Action:
package com.struts2.tag.exer.web.actions;

import com.opensymphony.xwork2.ActionSupport;

public class TagAction extends ActionSupport {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1096330019952553956L;
	
	
	public String append(){
		
		return SUCCESS;
	}

	public String generator(){
		
		return SUCCESS;
	}
	
	public String merge(){
		
		return SUCCESS;
	}
	

}



struts.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	
	<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
	
    <package name="tag" extends="struts-default" >
    	
    	<action name="*" class="com.struts2.tag.exer.web.actions.TagAction" method="{1}">
			<result name="success">/pages/{1}.jsp</result>
        </action>
        
    </package>

</struts>




index.jsp:
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
  <head>
  	<title>Tag Navigation Page</title>
  </head>
  <body>
  		<form action="#">
  			<table>
  				<s:generator separator="," val="'append,generator,merge'">
  					<s:iterator>
  						<tr><td><li><a href="<s:property/>.action"><s:property/></a></li></td></tr>
  					</s:iterator>
  				</s:generator>
  			</table>
  		</form>
  </body>
</html>



append.jsp:
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>


<html>
	<head><title>append</title></head>
	<body>
		
		<!--	map append map	-->
		<s:append id="newMap">
				<s:param value="#{'Oracle reference':'Jackey','Spring in Action':'Tommy','Hibernate':'John'}"/>
				<s:param value="#{'Struts in Action':'Mike','JavaScrpit':'Marry'}"/>
		</s:append>
		
		<!--	map append list	-->
		<s:append id="newList">
			<!-- map -->
			<s:param value="#{'Oracle reference':'Jackey','Spring in Action':'Tommy','Hibernate':'John'}"/>
			<!-- list -->
			<s:param value="#{'AJAX in Action','MyBatis'}"/>
		</s:append>
	
		<table border="1" width="200">

			<tr>
				<td>Book Name</td>
				<td>Author</td>
			</tr>		
		
			<s:iterator value="#newMap" status="st">
			
				<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
					<td><s:property value="key"/></td>
					<td><s:property value="value"/></td>
				</tr>
			
			</s:iterator>
			
				
		</table>
		
		<table border="1" width="200">
			<tr>
				<td>Book Name</td>
				<td>Author</td>
			</tr>
			<s:iterator value="#newList" status="st">
				
					<tr <s:if test="#st.odd">style="background-color:#cccccc"</s:if>>
						<td><s:property value="key"/></td>
						<td><s:property value="value"/></td>
					</tr>
				
			</s:iterator>
		</table>
	</body>
</html>



generator.jsp:
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*,com.opensymphony.xwork2.util.*" %>

<html>
	<head><title>generator</title></head>
	<body>
		
		<table border="1" width="200">

			<tr>
				<td>Book Name</td>
				<td>Author</td>
			</tr>		
		
		<s:generator separator="," val="'Oracle reference,Spring in Action,Hibernate,MyBatis'">
			<s:iterator status="st">
				<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
					<td><s:property/></td>
				</tr>
			</s:iterator>
		</s:generator>
				
		</table>
		
		
		<%--	count属性限定了元素的数量 	id属性将生成的集合放入了valueStack中--%>
		<s:generator separator="," val="'Oracle reference,Spring in Action,Hibernate,MyBatis'" id="books" count="4"/>
		
		<table border="1" width="200">

			<tr>
				<td>Book Name</td>
				<td>Author</td>
			</tr>
			
			<%--
			
				ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
		
			 	java.util.Iterator<String> iterator= (java.util.Iterator<String>)vs.findValue("books");
				if(iterator!=null){
					while(iterator.hasNext()){
						String book = (String)iterator.next(); 
						
				--%>
<!--				
						<tr>
						
							<td>
							-->
								<%--=book--%>
<!--						
							</td>
						
						</tr>
							-->
				<%--
					}
				}
			 	--%>
			 	
			 	<s:iterator value="#books">
			 		<tr>
			 			<td><s:property/></td>
			 		</tr>
			 	</s:iterator>		
				
		</table>
		
	</body>
</html>



merge.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
	<head><title>merge</title></head>
	<body>
		
		<!--	map merge map	-->
		<s:merge id="mergeMap">
				<s:param value="#{'Oracle reference':'Jackey','Spring in Action':'Tommy','Hibernate':'John'}"/>
				<s:param value="#{'Struts in Action':'Mike','JavaScrpit':'Marry'}"/>
		</s:merge>
		
		<!--	map append map	-->
		<s:append id="appendMap">
				<s:param value="#{'Oracle reference':'Jackey','Spring in Action':'Tommy','Hibernate':'John'}"/>
				<s:param value="#{'Struts in Action':'Mike','JavaScrpit':'Marry'}"/>
		</s:append>
	
		<table border="1" width="200">
			<tr>
				<td colspan="2">Merge</td>
			</tr>
			
			<tr>
				<td>Book Name</td>
				<td>Author</td>
			</tr>		
		
			<s:iterator value="#mergeMap" status="st">
			
				<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
					<td><s:property value="key"/></td>
					<td><s:property value="value"/></td>
				</tr>
			
			</s:iterator>
			
				
		</table>
		
		<table border="1" width="200">
			
			<tr>
				<td colspan="2">Append</td>
			</tr>
			
			<tr>
				<td>Book Name</td>
				<td>Author</td>
			</tr>		
		
			<s:iterator value="#appendMap" status="st">
			
				<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
					<td><s:property value="key"/></td>
					<td><s:property value="value"/></td>
				</tr>
			
			</s:iterator>
			
				
		</table>
		
	</body>
</html>
分享到:
评论

相关推荐

    Struts2 标签一

    Struts2框架提供了丰富的标签库,包括控制流标签、数据展示标签等,这些标签在MVC模式中扮演着视图的角色,帮助我们构建动态、响应式的Web应用。 Struts2标签库主要分为以下几个部分: 1. **控制流标签**: - `s:...

    struts2标签库struts2标签库struts2标签库

    Struts2标签库是Struts2框架中的一个重要组件,它提供了一系列的标签,帮助开发者快速构建Web应用程序。在Struts2标签库中,标签可以分为UI标签和非UI标签两大类。UI标签用于生成HTML控件,如文本框、列表框、复选框...

    struts2标签使用例子

    在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...

    struts2标签库例子

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

    使用Struts 2标签的注意事项

    Struts 2 是一个基于MVC架构的Java Web应用程序框架,它提供了一系列的标签来简化Web开发。然而,在使用Struts 2标签时,需要注意一些重要的事项。 首先,在使用Struts 2标签之前,需要在web.xml文件中配置Struts 2...

    Struts2标签集锦(附Struts2标签详解word文档)

    在Struts2框架中,标签库是一系列预定义的JSP标签,它们提供了丰富的功能,如数据绑定、控制流、输入验证等,帮助开发者创建更加整洁、易于维护的代码。 Struts2标签库主要分为以下几个部分: 1. **核心标签(Core...

    Struts2标签使用及API文档

    总的来说,Struts2标签和API文档为开发者提供了一种简洁、高效的方式来处理用户界面和业务逻辑的交互,是开发Java Web应用的重要工具。通过深入学习和熟练掌握,可以显著提升开发效率和代码质量。

    struts2标签库

    Struts2标签库是专为Struts2框架设计的一组JSP标签,旨在简化视图层的开发,提高代码的可读性和维护性。这些标签分为UI标签和非UI标签,分别用于生成HTML元素和处理数据访问及逻辑控制。通过使用标签库,开发者可以...

    struts2标签使用方法

    在Struts2中,标签库是其核心特性之一,它提供了一系列预定义的JSP标签,用于简化视图层的编码,提高代码的可读性和可维护性。下面我们将详细探讨Struts2标签的使用方法以及EL(Expression Language)表达式。 1. *...

    struts2 自定义标签

    一、Struts2自定义标签的概念 自定义标签是JSP的一种扩展,允许开发者创建自己的HTML标签,这些标签可以封装复杂的业务逻辑,使得视图层更加简洁。在Struts2中,自定义标签通常由Action类和结果页面共同完成,提供了...

    struts2标签+ tiles lib

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web开发框架,它极大地简化了构建可维护和可扩展的web应用程序的过程。Tiles库则是Struts2中的一个强大的视图管理组件,用于组织和重用页面布局。本文...

    struts2标签大全

    在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇文章将详细介绍Struts2中的各种标签及其应用。 1. **s:form标签**:这...

    Struts2实例 国际化 类型转换 struts标签

    总结起来,这个Struts2实例项目通过整合国际化、类型转换和Struts2标签,构建了一个完整的用户管理系统,展示了如何在实际开发中高效地处理Web请求,实现业务逻辑,并提供多语言支持。这样的练习有助于提升开发者对...

    Struts2常用标签

    Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者在编写JSP页面时能够更加方便地处理业务逻辑和展示数据。本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先...

    Struts2自定义分页标签

    4. **创建分页标签库**:Struts2支持自定义标签,你可以创建一个`.tld`文件来定义分页标签。标签库应该包含开始、结束、上一页、下一页等标签,以便在视图层中方便地使用。 5. **实现标签处理类**:对应的Java类...

    struts2 标签 tags API 参考文档

    Struts2的标签库是基于JSP标准标签库(JSTL)扩展的,提供了一系列用于简化视图层开发的标签。这些标签帮助开发者避免直接编写Java脚本和HTML混合代码,提高代码的可读性和可维护性。 2. **Action标签** Action...

Global site tag (gtag.js) - Google Analytics