我们在页面获得数据的时候一般的类型还是很好获得的,但是一遇到Clob类型就比较麻烦,最常用的方法是用一个流将其读取出来.使用MVC框架的时候这些都是无所谓的事情,因为反正是写在java类中怎么写都行,可是不使用MVC框架,使用jsp页面+JSTL的sql标签去读取数据库的数据这种方式就麻烦了,真的很麻烦,你不能在jsp上面嵌java代码吧?要是写java代码…脸上都无光啊….呵呵.我们这个新项目就是使用jsp+JSTL标签进行开发.可是有几个表的字段都是Clob类型的(因为要往里面存网页)存的时候使用的控件,可是取出来就取不出来了…结果我写了一个Tag(自定义标签),但是还是挺麻烦的(毕竟自定义标签不是干这个用的,他是干更高级任务的),最终我想到了EL表达式方法在我的一篇Blog中有介绍[自定义EL表达式方法http://tonyaction.blog.51cto.com/227462/42348]
代码其实很简单,主要是一种技术的应用.下面是代码:
/**
*
* <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>
本文出自 “绝缘材料” 博客,请务必保留此出处http://tonyaction.blog.51cto.com/227462/42455
本文出自 51CTO.COM技术博客
分享到:
相关推荐
在"E鹰新闻发布系统JSP+Struts+JSTL+EL"这个实例中,我们可以学习到如何利用这些技术搭建一个新闻发布系统。系统可能包括用户登录、新闻分类管理、新闻发布和检索等功能。开发者可以通过阅读源码,了解如何配置...
为了增强JSP页面的功能性和简化代码,我们通常会使用两种技术:EL(Expression Language)表达式和JSTL(JavaServer Pages Standard Tag Library)标签库。这两个工具都是Java EE生态系统的一部分,极大地提高了开发...
对于初学者来说,掌握一套简单易懂的Web项目框架至关重要,"学生管理系统JSTL+EL.zip" 就是一个很好的学习起点。这个项目运用了JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)和EL...
JSTL的核心是与Java Expression Language(EL)紧密集成,EL则是一个用于在JSP页面中获取和操作数据的简洁表达式语言。 **EL(Expression Language)**是Java Servlet 2.4及更高版本中引入的一种轻量级脚本语言。它...
JSTL的一个关键特性是它支持EL,使得开发者可以通过简单的表达式来获取和设置页面作用域中的数据,而不是使用复杂的JSP脚本。 EL表达式是JSP中一种强大的数据访问机制,其语法类似于JavaScript,但它的主要目的是与...
本文将深入探讨JSTL标记标签和EL表达式的基本概念、用途及它们如何协同工作。 **JSTL标记标签** JSTL是一个标准的标签库,提供了丰富的标签来简化JSP页面的编写,减少页面中的Java脚本代码,使代码更易读、易维护。...
在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是两个非常重要的组件,它们极大地简化了页面逻辑的编写,提高了代码的可读性和维护性。下面将详细介绍这两个概念以及...
本示例是基于`jsp`、`servlet`、`EL(Expression Language)`表达式和`JSTL(JavaServer Pages Standard Tag Library)`实现的一个分页代码。下面,我们将深入探讨这些技术及其在分页中的应用。 **1. JSP(Java...
JSTL是一组预定义的标签库,用于处理常见任务,如迭代、条件判断、XML处理等,而EL是一种表达式语言,用于在视图层获取和设置JavaBean属性,使得数据绑定更加方便。** **JSTL标签库** JSTL提供了多个核心标签集,...
JavaWeb技术是构建基于Java平台的Web应用程序的重要框架,它包括了Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器以及Listener监听器等多个关键组件。这些组件协同工作,使得开发者能够创建动态、交互式的Web...
【JSTL与EL表达式详解】 JSTL(JSP Standard Tag Library)是Java服务器端的一个重要组件,主要用于简化JSP页面的编程,提供了一系列的标签库来处理常见的任务,比如数据处理、URL操作、国际化等。它由Apache ...
【E-家园完整Servlet+jstl+el+web服务版】是一个典型的Java Web项目,它集成了Servlet、JSTL(JavaServer Pages Standard Tag Library)、EL(Expression Language)以及Web服务技术。这个项目旨在提供一个功能丰富...
EL表达式的语法结构非常简洁,通常以`${}`包裹表达式内容。例如,在例1中,`${sampleValue + 1}`会计算`sampleValue`变量加1的结果,并在页面上显示。这个示例适用于支持JSP2.0规范的Web应用服务器。 EL提供的默认...
JAVAEE 实验报告 EL 表达式和 JSTL 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...
例如,`<c:out>`是JSTL中的一个核心标签,用于输出变量或表达式的值,而`${}`则是EL表达式的符号,用于访问和操作Java对象的属性。 **Session**是HTTP协议中的一个概念,用于在多个HTTP请求之间保持状态。在Web开发...
《Spring3+Hibernate3+Proxool+jstl+Oracle整合详解》 在现代Java Web开发中,集成各种框架以实现高效、灵活的应用程序已成为常态。本示例代码结合了Spring 3.0.4、Hibernate 3.5.0、Proxool 0.9.1、jstl,并利用...
struts jstl el表达式示例代码 struts jstl el 表达式 源码
会议管理系统使用EL和JSTL优化jsp页面
EL表达式以`${}`包裹,例如`${user.name}`可以获取名为`user`的对象的`name`属性。EL支持多种运算符,如算术运算符、比较运算符、逻辑运算符等,使得数据处理更为便捷。 **JSTL(JavaServer Pages Standard Tag ...