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

简介:
我们在页面获得数据的时候一般的类型还是很好获得的,但是一遇到Clob类型就比较麻烦,最常用的方法是用一个流将其读取出来.使用MVC框架的时候这些都是无所谓的事情,因为反正是写在java类中怎么写都行,可是不使用MVC框架,使用jsp页面+JSTLsql标签去读取数据库的数据这种方式就麻烦了,真的很麻烦,你不能在jsp上面嵌java代码吧?要是写java代码 脸上都无光啊 . 呵呵.我们这个新项目就是使用jsp+JSTL标签进行开发.可是有几个表的字段都是Clob类型的(因为要往里面存网页)存的时候使用的控件,可是取出来就取不出来了 结果我写了一个Tag(自定义标签),但是还是挺麻烦的(毕竟自定义标签不是干这个用的,他是干更高级任务的),最终我想到了EL表达式方法在我的一篇Blog中有介绍[ 自定义EL表达式方法 [url]http://tonyaction.blog.51cto.com/227462/42348[/url] ]
代码其实很简单,主要是一种技术的应用.下面是代码:
/**
      *
      *   <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>









本文转自 tony_action 51CTO博客,原文链接:http://blog.51cto.com/tonyaction/42455,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
存储 Oracle 关系型数据库
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
在YMP校验过程中,从yashandb同步至Oracle的数据出现timestamp(0)字段不一致问题。原因是yashandb的timestamp(x)存储为固定6位小数,而Oracle的timestamp(0)无小数位,同步时会截断yashandb的6位小数,导致数据差异。受影响版本:yashandb 23.2.7.101、YMP 23.3.1.3、YDS联调版本。此问题会导致YMP校验数据内容不一致。
|
5月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
1080 28
|
6月前
|
存储 Oracle 关系型数据库
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
|
6月前
|
SQL 存储 Oracle
【YashanDB知识库】对比Oracle和YashanDB对象不一致的方法
本文来自YashanDB官网,介绍从Oracle迁移到YashanDB后的数据校验方法。通过YMP工具迁移数据后,可使用其内置校验功能,或采用本文提供的复杂对比思路:将Oracle的DBA_*数据字典视图保存为用户表,借助YMP同步至YashanDB,再利用SQL查询两数据库间的差异。具体包括视图、存储过程、索引和约束等对象的对比方法,提供详细SQL示例以供参考和修改。
|
6月前
|
存储 Oracle 关系型数据库
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
|
10月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
181 7
|
Oracle 安全 关系型数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法探讨
删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法(不考虑全库备份和利用归档日志)。
|
分布式计算 Oracle 关系型数据库
实时计算 Flink版产品使用问题之获取Oracle的数据时无法获取clob类型的数据,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法
相信有很多oracle数据库用户都遇到过在操作Oracle数据库时误删除某些重要数据的情况,这个时候如果数据库没有备份且数据十分重要的,怎么才能恢复误删除的数据呢?北亚企安数据恢复工程师下面简单介绍几个误删除Oracle数据库数据的恢复方法。
|
SQL 存储 Oracle
Oracle数据库中游标的工作原理与优化方法
Oracle数据库中游标的工作原理与优化方法