我们在页面获得数据的时候一般的类型还是很好获得的,但是一遇到Clob类型就比较麻烦,最常用的方法是用一个流将其读取出来.使用MVC框架的时候这些都是无所谓的事情,因为反正是写在java类中怎么写都行,可是不使用MVC框架,使用jsp页面+JSTL的sql标签去读取数据库的数据这种方式就麻烦了,真的很麻烦,你不能在jsp上面嵌java代码吧?要是写java代码…脸上都无光啊….呵呵.我们这个新项目就是使用jsp+JSTL标签进行开发.可是有几个表的字段都是Clob类型的(因为要往里面存网页)存的时候使用的控件,可是取出来就取不出来了…结果我写了一个Tag(自定义标签),但是还是挺麻烦的(毕竟自定义标签不是干这个用的,他是干更高级任务的),最终我想到了EL表达式方法在我的一篇Blog中有介绍[自定义EL表达式方法[url]http://tonyaction.blog.51cto.com/227462/42348[/url]]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
代码其实很简单,主要是一种技术的应用.下面是代码:
/**
     *
     * <pre>
     * 创建人: 王涛
     * 创建于: 2007-8-7
     * 描 述:
     *    根据得参数clob(CLOB类型)获得其中的内容,并以String方式返回
     * </pre>
     *
     * @param clob
     * @return
     * @throws Exception
     */
    public static String mClob(Object clob) throws Exception {
       if (clob == null) {
           return "";
       }
       StringBuffer clobString = new StringBuffer();
       if (clob instanceof Clob) {
           int y;
           char ac[] = new char[4096];
           Reader reader = ((Clob) clob).getCharacterStream();
           while ((y = reader.read(ac, 0, 4096)) != -1) {
              clobString.append(new String(ac, 0, y));
           }
       } else {
           clobString.append(clob.toString());
       }
       return clobString.toString();
    }
elfunc.tld配置文件中需要这么写
<function>
       <description>取Clob数据内容函数</description>
       <name>mClob</name>
       <function-class>com.tianjin.canic.tjeg.utils.ELFuncUtil</function-class>
       <function-signature>java.lang.String mClob(java.lang.Object)</function-signature>
       <example>${elf:mClob(clob)}</example>
    </function>
Jsp页面需要这么写
获得数据库中的结果集
<sql:transaction dataSource="jdbc/tjeg">
           <sql:query var="fwsx_info">
                   SELECT WBJ_ID,BL_URL,FWSX_INFO,FWSX_NAME,FW_FALV,FW_QIXIAN,FW_TIAOJIAN,FW_CAILIAO,FW_SHOUFEI,FW_DOWN FROM TJEG_FWSX WHERE ID = ?
                   <sql:param>${param.id}</sql:param>
           </sql:query>
       </sql:transaction>
迭代结果集
<c:forEach var="row" items="${fwsx_info.rows}">
<c:set value="${row.FW_FALV}" var="FW_FALV" scope="page"></c:set>
</c:forEach>
然后页面将其读取出来
<c:out value="${elf:mClob(FW_FALV)}" escapeXml="false"></c:out>

转载于:https://blog.51cto.com/tonyaction/42455

JSTL+EL表达式方法获取Oracle的Clob字段内容相关推荐

  1. mysql clob转string_Java获取Oracle中CLOB字段转换成String

    Java获取Oracle中CLOB字段转换成String : try {PreparedStatement stmt = session.connection().prepareStatement(s ...

  2. java Clob转CLOB_Java获取Oracle中CLOB字段转换成String

    Java获取Oracle中CLOB字段转换成String : try {PreparedStatement stmt = session.connection().prepareStatement(s ...

  3. JSTL/EL表达式/Struts2标签/OGNL表达式

    文章目录 JSTL + EL表达式 Struts 标签 + OGNL表达式 JSTL + EL表达式 JSTL 只能用在 JSP 文件中,不可以在 XML 和 HTML 文件中使用,不可以用在 JS ...

  4. jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结

    转载自   jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结 为什么使用该功能? 项目中的每个页面都包含产品名称.Logo.版本等信息,我希望修改一处,其它所有的全部跟着变 ...

  5. Mysql 查询blob数据很慢,关于oracle中clob字段查询慢的问题及解决方法

    关于oracle中clob字段查询慢的问题及解决方法 最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了. blob字段直 ...

  6. EL表达式中获取List中某个元素的值

    场景 使用EL表达式获取循环的list中的某个元素的值. 实现 直接通过[]加下标获取. ${item.flightResult[0].defaultCabin.singlepriceAdt+item ...

  7. jdbc获取clob图片_jdbc方式读取oracle的clob字段实例

    可能大家也都习惯了spring和hibernate对CLOB字段的处理,在spring中配置clob的oracle处理句柄,在hibernate中配置映射类型,然后就可以很轻松的以String 的形式 ...

  8. clob mybatis_mybatis 解决Druid设置Oracle的Clob字段时的小坑详解

    http://blog.csdn.net/renfufei/article/details/44887371 mybatis 插入读取clob类型,之前使用类型转换器的方式,但是不好使,不能读取, j ...

  9. C标签加EL表达式在jsp页面实现遍历后台内容

    1.引入C标签 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 2. ...

最新文章

  1. 人工智能在电力系统的应用(PPT)
  2. 运维监控利器Nagios:概念、结构和功能
  3. python类的函数_python 类函数
  4. LeetCode 25 K个一组翻转链表
  5. 用户资源管理DBMS_RESOURCE_MANAGER
  6. spring项目搭建-注册对象到容器测试
  7. 《解剖PetShop》系列之二
  8. 12.6-12.9 Nginx安装,默认虚拟主机,用户认证,域名重定向
  9. 如何在TypeScript/JavaScript项目里引入MD5校验和
  10. php索引数组转键数组,PHP-Codeigniter:如何从指定索引转换数组值?
  11. 【BFS】LeetCode 130. Surrounded Regions
  12. L2-010 排座位 (25 分)
  13. 时间序列信号处理(一)-----变分模态分解(VMD)
  14. CLM 陆面过程模式
  15. 招财宝计算器android,招财宝收益计算器
  16. 计算机长宽高公式,单位换算公式大集合
  17. Linux设置root权限
  18. Epicor 完成和关闭工单
  19. 中兴阅读在期刊杂志数字化、移动化上的探索
  20. sigmastar—ISP图像调试(AWB矫正)

热门文章

  1. WMI技术介绍和应用——查询正在运行的进程信息
  2. 【Qt】Qt编码风格、命名约定
  3. gff文件_GFF格式说明
  4. python 正则表达式 前瞻_正则表达式 For Python
  5. mysql四维数组_MySQL如何实现数组功能
  6. php的延迟绑定,PHP延迟静态绑定使用方法实例解析
  7. python3安装setuptools步骤_setuptools、pip的安装
  8. jspstudy启动mysql失败_MySql启动数据库设置初始密码
  9. 优雅地分离tableview回调
  10. 2-flutter 之HelloWorld