struts常用标签汇总[原创]
时间:2010-06-10 来源:hkebao
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<s:set name="name" value="<%= "'" + request.getParameter("name") + "'" %>" />
<s:if test="#name == Max">
Max's file here
</s:if>
<s:elseif test="#name == Scott">
Scott's file here
</s:elseif>
<s:else>
Other's file here
</s:else>
</body>
</html>
说明:<s:set name="name" value="value" />
<s:if test="#name==Max">
</s:if>
1.2 iterator标签
功能:遍历集合或枚举值。说白其实跟JAVA里面的iterator功能是一样!
参数:
status String 如果设置此参数一个IteratorStatus的实例将压入每个遍历的堆。
Value String/Object 要遍历的数据源。其实说白了就是要遍历的对象了。
Id String/Object 标识元素的ID。跟HTML里面的ID是一个样。
示例:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
List list = new ArrayList();
list.add("Max");
list.add("Scott");
list.add("Jeffry");
list.add("Joe");
list.add("Kelvin");
request.setAttribute("names", list);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<ol>
<s:iterator value="#request.names" status="stuts">
<!--要遍历的值为请求对象request.names 即请求对象的集合值 -->
<s:if test="#stuts.odd == true"> 奇数
<li>white<s:property /></li> <s:property /> 表示其元素数据!
</s:if>
<s:else>
<li style="backgroud-color:gray"><s:property /></li>
</s:else>
</s:iterator>
</ol>
</body>
</html>
3、i18n标签
描述:加载资源包到值堆栈。它可以允许text标志访问任何资源包信息,而不只当前action相关联的资源包。
PS:我的理解它就是一个资源相关的包标签。
参数:
Value String/Object 资源包的类路径(com.xxx.resource.AppMsg)
Id String/Object ID之用
示例:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld"></s:text>
</s:i18n>
</body>
</html>
4、include
作用:包含一个servlet的输出(servlet或JSP页面)
参数:value String 要包含的JSP或servlets
相当于JSP里面的include还有param
<s:include value="include.jsp">
<s:param name="name" value="Max" /> 这样传好像接收不到值哦。接收的值为null了
<s:param name="age">12</s:param>
</s:include>
hello
想想看是不是和JSP里面的标签是一样的呀。是的
5、url 与 a标签的使用
<s:url id="url" value="include.jsp">
<s:param name="name">Max</s:param>
</s:url>
<s:a href="%{url}">if\elseif\else</s:a>
先定义好一段URLS的情况。然后下面创建一个超链接将其指向这个URL值/1
6、
7、property
描述:得到value的属性。如果value没提供默认为堆栈顶端的元素。
特别是在拿set的数据的时候非常有用的。
参数列表:
Default String 如果属性是null则显示的default的值
Escape Boolean 是否escape HTML即对HTML标签做实体转义处理
Value Object 要显示的值
Id String 元素的ID值
<s:iterator value="#request.names" status="stuts">
<!--要遍历的值为请求对象request.names 即请求对象的集合值 -->
<s:if test="#stuts.odd == true"> 奇数
<li>white<s:property /></li> <s:property /> 表示其元素数据!
</s:if>
<s:else>
<li style="backgroud-color:gray"><s:property /></li>
</s:else>
</s:iterator>
用于与其他标签结合一块使用是非常方便的。