Java代码
1. package com.utils;
2.
3. import java.io.IOException;
4. import java.io.Reader;
5. import java.sql.Clob;
6. import java.sql.SQLException;
7.
8.
9. /**
10. * 自定义EL表达式输出Clob内容
11. *
12. *
13. */
14. public class El_Clob {
15. //输出clob内容,方法必须为静态方法
16. public static String printClob(Clob clob){
17. StringBuffer strClob=new StringBuffer();
18. String str="";
19. try {
20. Reader reader=clob.getCharacterStream();
21. char[] buffer=new char[1024];
22. int length=0;
23. while((length=reader.read(buffer, 0, 1024))!=-1){
24. strClob.append(buffer, 0, length);
25. }
26. } catch (SQLException e) {
27. e.printStackTrace();
28. } catch (IOException e) {
29. e.printStackTrace();
30. }
31. str=strClob.toString();
32. return str;
33. }
34. }
Xml代码
1. <?xml version="1.0" encoding="UTF-8"?>
2. <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
5. http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
6. version="2.0">
7.
8. <tlib-version>1.0</tlib-version>
9. <short-name>myEL</short-name>
10. <function>
11. <description>将Clob转换成String对象</description>
12. <name>printClob</name>
13. <function-class>com.utils.El_Clob</function-class>
14. <function-signature>java.lang.String printClob(java.sql.Clob)</function-signature>
15. <example>${myEL:printClob(clob)}</example>
16. </function>
17. </taglib>
Html代码
1. <%@ taglib uri="/WEB-INF/tlds/myEL.tld" prefix="myEL" %>
使用的时候,可以把Clob对象用<c:set/>标签设置到一个变量中,然后在引用这个变量
Html代码
1. <td>
2. <c:set value="${user.userDesc}" var="clob" scope="page"></c:set>
3. ${myEL:printClob(clob)}
4. </td>