`

Struts2 标签使用简介

阅读更多

web.xml配置如下:

<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

struts.xml配置如下:

<package name="tags" extends="struts-default">
		<action name="tags" class="com.mengya.action.TagsAction">
			<result name="success">/tags.jsp</result>
		</action>
	</package>

 TagsAction如下:

public class TagsAction extends ActionSupport {
	private String username;

	private String password;
	
	@Override
	public String execute() throws Exception {
		this.addFieldError("actionError", "error!!");
		return SUCCESS;
	}
	
	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}

 Dog Bean如下:

public class Dog {
	private String dogName;

	public String getDogName() {
		return dogName;
	}

	public void setDogName(String dogName) {
		this.dogName = dogName;
	}

	@Override
	public String toString() {
		return "Dog:DogName=" + dogName;
	}

}

 页面struts标签使用如下:

<a href="tags.action?username=u&password=p&age=9">Struts2Tags</a>


<body>
		<ol>
			<li>
				property:
				<s:property value="username" />
			</li>
			<li>
				property 取值为字符串:
				<s:property value="'username'" />
			</li>
			<li>
				property 设定为默认值:
				<s:property value="admin" default="管理员" />
			</li>
			<li>
				property 设定为HTML:
				<s:property value="'<hr/>'" escape="false" />
			</li>
			<hr />
			<li>
				set 设定mengya的值(默认为Request和ActionContext):
				<s:set var="mengya" value="username"></s:set>
			</li>
			<li>
				set 从request中取值:
				<s:property value="#request.mengya" />
			</li>
			<li>
				set 从ActionContext中取值:
				<s:property value="#mengya" />
			</li>
			<li>
				set 设定范围:
				<s:set var="adminPassword" value="password" scope="session" />
			</li>
			<li>
				set 从相应的范围取值:
				<%=session.getAttribute("adminPassword")%>
			</li>
			<li>
				set 从相应的范围取值:
				<s:property value="#session.adminPassword" />
			</li>
			<hr>
			<li>
				bean 定义bean,并使用bean的param来设定的新属性值
				<s:bean name="com.mengya.bean.Dog"></s:bean>
				<%-- 没有指定var则在</s:bean>之前会构造一个对象放在椎顶在</s:bean>结束之前则放到了actionContext中 --%>
			</li>
			<li>
				bean 定义bean,并使用bean的param来设定的新属性值
				<s:bean name="com.mengya.bean.Dog" var="myDog">
					<s:param name="dogName" value="'myDog'"></s:param>
				</s:bean>
				取出值:
				<s:property value="#myDog" />
			</li>
			<hr>
			<li>
				include 包含静态英文html
				<s:include value="/include1.html"></s:include>
			</li>
			<li>
				include 包含静态中文html
				<s:include value="/include2.html"></s:include>
			</li>
			<li>
				<font color="red">%的用法:%是将%{}中的内空强转成ognl表达示而不是普通字符串</font>
				<s:set var="incPage" value="'/include1.html'"></s:set>
				<br>
				<s:include value="incPage"></s:include>
				<br>
				<s:include value="%{incPage}"></s:include>
				<%-- 将incPage作为ognl表达式 --%>
			</li>
			<li>
				fielderror:
				<s:fielderror key="actionError" theme="simple"></s:fielderror>
			</li>
			<hr>
			<li>
				if elseif else: age =
				<s:property value="#parameters.age[0]" />
				<s:if test="#parameters.age[0]<0">
					age error!
				</s:if>
				<s:elseif test="#parameters.age[0]<20">
					to young!
				</s:elseif>
				<s:else>
					OK!
				</s:else>
				&nbsp;&nbsp;|&nbsp;&nbsp;
				<s:set var="age" value="#parameters.age[0]"></s:set>
				<s:if test="age<0">
					age error!
				</s:if>
				<s:elseif test="age<20">
					to young!
				</s:elseif>
				<s:else>
					ok!
				</s:else>
				&nbsp;&nbsp;|&nbsp;&nbsp;
				<s:if test="#parameters.aaa==null">null</s:if>
			</li>
			<li>
				遍历集合:
				<br>
				<s:iterator value="{'aa','bb','cc'}">
					<s:property />&nbsp;|&nbsp;
				</s:iterator>
			</li>
			<li>
				自定义变量:
				<br>
				<s:iterator value="{'aa','bb','cc'}" var="temp">
					<s:property value="#temp" />&nbsp;|&nbsp;<s:property
						value="#temp.toUpperCase()" />
				</s:iterator>
			</li>
			<li>
				使用status:
				<br>
				<s:iterator value="{11,22,33}" status="status">
					<s:property />&nbsp;|遍历过的总元素:<s:property value="#status.count" />&nbsp;|当前元素索引:<s:property
						value="#status.index" />&nbsp;|当前值是否为偶数:<s:property
						value="#status.even" />&nbsp;|当前值是否为奇数:<s:property
						value="#status.odd" />&nbsp;|当前值是否为第一个:<s:property
						value="#status.first" />&nbsp;|当前值是否为最后一个:<s:property
						value="#status.last" />
					<br />
				</s:iterator>
			</li>
			<s:debug></s:debug>
		</ol>
		总结:
		
		$用于i18n和struts配置文件
		#用于得到ActionContext的值
		%将原本的文本属性解析为OGNL表达式,对于本来就是OGNL的属性不起做用
		
	</body>

  

  • Struts2Tags.rar (3.6 MB)
  • 描述: Struts2 标签使用简介实例
  • 下载次数: 35
1
0
分享到:
评论

相关推荐

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    Struts2标签使用及API文档

    `struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...

    struts2标签使用方法

    Struts2 标签使用方法 Struts2 标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,Struts2 的主题、模板都提供了很好的扩展性。Struts2 允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂...

    struts2标签库例子

    下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...

    使用Struts 2标签的注意事项

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

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

    在Struts2标签库中,还有许多其他的标签,如、、等,每个标签都有其特定的使用场景和应用。 Struts2标签库提供了一系列的标签,帮助开发者快速构建Web应用程序,并提高了开发效率。但是,为了充分发挥Struts2标签库...

    struts2 标签库使用文档

    Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...

    struts2.0标签使用源码

    3. 使用`s:submit`标签提交表单,Struts2会自动将表单数据封装到Action中。 4. 在Action的execute方法中处理业务逻辑,然后返回一个结果,比如"success"。 5. 在视图层,可以使用`s:property`标签显示Action返回的...

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

    通过熟练掌握Struts2标签的使用,开发者可以更高效地构建动态网页,同时享受到Struts2框架带来的便利和灵活性。提供的“Struts2标签详解.doc”文档将对这些概念进行详细的解释,是深入学习和理解Struts2标签的重要...

    struts2标签库及国际化的使用例子

    Struts2 标签库及国际化的使用案例 Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化功能的使用,并实现用户注册页面的国际化显示。 一、Struts2 标签库 Struts2 框架提供了...

    基于struts2 自定义标签 分页

    在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...

    Struts2之struts2标签库了解和使用案例struts025

    Struts2是一个强大的Java EE应用程序框架,用于构建和维护可扩展、模块化和易于管理的Web应用程序。在Struts2中,标签库是其核心组件之一,极...学习并熟练掌握Struts2标签库的使用,是每个Java Web开发者必备的技能。

    struts2 自定义标签

    在Struts2中,自定义标签是提高代码可读性和可维护性的重要工具。本文将深入探讨Struts2自定义标签的实现机制、优点以及如何在实际项目中进行应用。 一、Struts2自定义标签的概念 自定义标签是JSP的一种扩展,允许...

    struts2标签大全

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

Global site tag (gtag.js) - Google Analytics