Struts2 ognl <s:sort ../>标签详解

先看最后目录结构:


给出源码:

sortTag.jsp:

<%@ page language="java" contentType="text/html; charset=gb2312"
	pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<body>
		<s:set name="frank" value="{'aefi','abc','world!','kkkkk'}" />
		<s:bean id="sort" name="action.SortComparator"></s:bean> 
		<s:sort source="frank" comparator="sort">
			<s:iterator>
				<tr><td>
					<s:property />
				</td></tr>
			</s:iterator>
		</s:sort>
	</body>
</html>

解析:

<s:bean id="sort" name="action.SortComparator"></s:bean>即,关联相关的java类文件(此为比较器类SortComparator)。其中id属性可看作就是SortComparator的一个实例。若不加入bean标签,则出现异常:javax.servlet.jsp.JspException: comparator [null] does not implements Comparator interface由下面的"sort标签官网释义",可知:sort标签中的comparator属性=比较器实例=bean的id属性值="sort"。

sort标签官网释义:



SortComparator.java:

package action;
import java.util.Comparator;
public class SortComparator implements Comparator<Object> {
	public int compare(Object arg0, Object arg1) {
		return arg0.toString().compareTo(arg1.toString());
	}
}

在struts.xml中不用给出任何相关配置:

<?xml version="1.0" encoding="gb2312"?>
<!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.i18n.encoding" value="gb2312"/>  
    <package name="OGNLTAG" extends="struts-default">
    </package>
</struts>

运行 http://localhost:8080/OGNLTAG/jsp/sortTag.jsp 结果:(按字符串长度排序)

abc aefi kkkkk world!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itzyjr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值