MyComparator
package lesson8;
import java.util.Comparator;
public class MyComparator implements Comparator<Integer> {
// 决定两个元素的大小
public int compare(Integer operand1, Integer operand2) {
return (operand1 - operand2);
}
}
if/elseIf/else 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>if/elseIf/else 示例</title>
</head>
<body>
<h2>
if/elseIf/else 示例
</h2>
考试分数:84
<!-- 使用set标签来定义一个变量score,值为84 -->
<s:set name="score" value="54" />
<br />
考试结果:
<!--使用OGNL表达式从#attr中取出score值 -->
<s:if test="#attr.score>90">优秀</s:if>
<s:elseif test="#attr.score>80">优</s:elseif>
<s:elseif test="#attr.score>60">良</s:elseif>
<s:else>不及格</s:else>
</body>
</html>
效果图:
s:append 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:append 示例</title>
</head>
<body>
<h2>
s:append 示例
</h2>
拼接、迭代list:
<p />
<!-- 使用s:append将两个List集合拼接成新的集合 -->
<s:append id="newList">
<s:param value="{'北京','山东','上海'}" />
<s:param value="{'云南','河北','河南'}" />
</s:append>
<!-- 迭代新集合(List) -->
<s:iterator value="newList" status="st">
<s:property />
<!-- 如果当前迭代项的索引为偶数则输出一个换行 -->
<!-- 后面在讲iterator标签时还会详细介绍 -->
<s:if test="#st.even">
<br />
</s:if>
</s:iterator>
</body>
</html>
效果图:
s:generator 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:generator 示例</title>
</head>
<body>
<h2> s:generator 示例 </h2>
<!-- 使用s:generator将一个字符串解析成集合 -->
<s:generator val="'java,c/c++,php,c#,javascript,ruby'" separator=",">
<!-- 在generator标签中,该集合位于ValusStack的栈顶,所以这里迭代的就是临时生成的集合 -->
<s:iterator status="st">
<s:property />
<s:if test="#st.even">
<br />
</s:if>
</s:iterator>
</s:generator>
<hr />
<!-- 指定var和count属性,这里最多迭代四次,也就是说javascript,ruby不会显示出来 -->
<s:generator val="'java,c/c++,php,c#,javascript,ruby'" separator=","
count="4" var="name" />
<s:iterator value="name" status="st">
<s:property />
<s:if test="#st.even">
<br />
</s:if>
</s:iterator>
</body>
</html>
效果图:
s:iterator 迭代list 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:iterator 迭代list 示例</title>
</head>
<body>
<h2>
s:iterator 迭代list 示例
</h2>
迭代list:
<s:set name="provinceList" value="{'北京','上海','深圳'}" />
<s:iterator value="provinceList" id="province">
<s:property value="province" />
</s:iterator>
</body>
</html>
效果图:
s:merge 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:merge 示例</title>
</head>
<body>
<h2>s:merge 示例</h2>
拼接、迭代list:<br/>
<!-- 使用s:merge将两个集合(List)拼接成新的集合 -->
<s:merge var="newList">
<s:param value="{'java','c/c++','C#','php'}"/>
<s:param value="{'javascript','html','css','flash'}"/>
</s:merge>
<!-- 迭代新集合(List) -->
<s:iterator value="newList" var="name" status="st">
<s:property value="name"/>
<!-- 如果当前迭代项的索引为偶数则输出一个换行 -->
<s:if test="#st.even">
<br/>
</s:if>
</s:iterator>
</body>
</html>
效果图:
s:sort 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:sort 示例</title>
</head>
<body>
<h2>
s:sort 示例
</h2>
<!-- 使用bean标签定义一个Comparator实例 -->
<s:bean var="myComparator" name="lesson8.MyComparator">
<!-- 使用自定义的排序规则对目标集合进行排序 -->
<s:sort comparator="myComparator" source="{5,6,2,1,9,4,0,3}">
<s:iterator status="st">
<s:property />
</s:iterator>
</s:sort>
</s:bean>
</body>
</html>
效果图:
s:subset 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:subset 示例</title>
</head>
<body>
<h2>
s:subset 示例
</h2>
<!-- 最大长度为3,因此c#不会输出 -->
list subset实例:
<p />
<s:subset source="{'java','c/c++','php','c#'}" start="0" count="3">
<s:iterator status="st">
<s:property />
</s:iterator>
</s:subset>
<hr />
map subset实例:
<p />
<!-- 起始下标为1,最大长度为3,因此java不会输出 -->
<s:subset
source="#{'java':'17.5%','c':'17.2%','php':'9.9%','c#':'4.2%'}"
start="1" count="3">
<s:iterator status="st">
<s:property value="key" />
<s:property value="value" />
<s:if test="#st.even">
<br />
</s:if>
</s:iterator>
</s:subset>
</body>
</html>
效果图:
s:date 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:date 示例</title>
</head>
<body>
<%
java.util.Date date = new java.util.Date(12, 333, 555, 0, 9);
pageContext.setAttribute("date", date);
%>
当前日期,不指定format:
<s:date name="new java.util.Date()" />
<hr />
当前日期,指定format:
<s:date name="new java.util.Date()" format="yyyy-MM-dd" />
<hr />
生成日期,指定nice="true":
<s:date name="#attr.date" nice="false" />
<br />
距今已有,指定nice="false":
<s:date name="#attr.date" nice="true" />
</body>
</html>
效果图:
s:debug 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:debug 示例</title>
</head>
<body>
<s:set id="name" value="'debug'" />
<s:property value="name" />
<s:debug />
</body>
</html>
效果图:
s:checkboxlist 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:checkboxlist 示例</title>
</head>
<body>
<s:checkboxlist label="请选择您熟悉的编程语言"
list="#{'0':'Java','1':'PHP','2':'ASP'}" name="language"
listKey="key" listValue="value" value="0" />
</body>
</html>
效果图:
s:optiontransferselect 标签
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>struts2 s:optiontransferselect 标签</title>
</head>
<body>
<s:optiontransferselect
label="optiontransferselectl示例"
name="testIn"
doubleName="testOut"
leftTitle="web应用"
rightTitle="desktop应用"
leftUpLabel="上移"
leftDownLabel="下移"
rightUpLabel="上移"
rightDownLabel="下移"
addToLeftLabel="<-向左移动"
addToRightLabel="向右移动->"
addAllToLeftLabel="<-全部左移"
addAllToRightLabel="全部右移->"
selectAllLabel="-全部选择-"
cssStyle="width:150px;height:250px;"
doubleCssStyle="width:150px;height:250px;"
buttonCssStyle=""
list="#{1:'java', 2:'.net', 3:'php', 4:'ruby', 5:'python'}"
listKey="key"
listValue="value"
emptyOption="false"
multiple="true"
doubleList="#{11:'c', 22:'c++', 33:'delphi'}"
doubleListKey="key"
doubleListValue="value"
doubleEmptyOption="false"
doubleMultiple="true" />
</body>
</html>
效果图:
s:combobox 示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>s:combobox 示例</title>
</head>
<body>
<!-- 使用s:combobox必须加入s:form表单标签,否则会报javascript错误 -->
<s:form>
<s:combobox label="姓名" name="comboboxValue"
list="#{'1':'java', '2':'.net', '3': 'javascript'}" headerKey="0"
headerValue="--请选择--" readonly="true" />
</s:form>
</body>
</html>
效果图: