做javaweb开发的最常用的一个东西el表达式,这个东西是个很好用的东西,但有些时候我们处理复杂的字符串操作,就有些相形见绌了,这个时候就需要用自定义的方法去实现更多简洁方便的事情。
下面自定义一个将对象转成json字符串的自定义el表达式用来讲解这个自定义的过程:
ElFunctions.java
import net.sf.json.JSONObject;
public class ElFunctions{
public static String toJsonString(Object obj){
// 将java对象转换为json对象
JSONObject json = JSONObject.fromObject(obj);
String str = json.toString();
return str;
}
}
mobai-el-common.tld
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>el</short-name>
<!-- 将对象format成json字符串 -->
<function>
<name>toJsonString</name>
<function-class>com.mobai.taglib.functions.ElFunctions</function-class>
<function-signature>String toJsonString(java.lang.Object)</function-signature>
<description>将对象format成json字符串</description>
<example>${el:toJsonString(value)}</example>
</function>
</taglib>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<jsp-config>
<taglib>
<!-- 配置标签的引用地址 JSP页面中引用时使用-->
<taglib-uri>mobai.com/el-common</taglib-uri>
<!-- 配置标签的TLD文件地址 -->
<taglib-location>/WEB-INF/mobai-el-common.tld</taglib-location>
</taglib>
</jsp-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.jsp
<%@ taglib uri="mobai.com/el-common" prefix="el" %>
<body>
${el:toJsonString(user)}
</body>
以上大概就是该功能的关键代码了,这里只列举了一个转换json字符串的方法,其他的大家可以根据需要去自定义各种各样的方法来用。
时间: 2024-10-13 02:51:10