zoukankan      html  css  js  c++  java
  • struts2前端页面读取Clob/BLOB

    在通过Struts2标签显示对象的Clob属性值的时候。显示的并非CLOB或者BLOB的内容,而是显示的toString方法的值

    比如我在实体中的注解为:

    	@Lob
    	@Column(name = "CONTENT_TEXT")
    	public String getContentText() {
    		return contentText;
    	}

    前台页面读取方式为:
    <s:property value="#entry.contentText" />
    显示结果为:
    oracle.sql.CLOB@1077e76

    要想正常显示CLOB或者BLOB的内容。须要在action中增加对clob或者blob的转换方法

    public String getClob(Clob c){
    		Reader reader = null;
    		StringBuffer sb = new StringBuffer();
    		try {
    			reader = c.getCharacterStream();
    			BufferedReader br = new BufferedReader(reader);
    			String temp = null;
    			while ((temp=br.readLine()) != null) {
    				sb.append(temp);
    			}
    		} catch (Exception e) {
    			
    		}finally{
    			if (reader!=null) {
    				try {
    					reader.close();
    				} catch (IOException e) {
    				}
    			}
    		} 	
    		return sb.toString();
    	}
    前端页面调用改为

    <s:property value="%{getClob(#entry.contentText)}" /></span>

    这样就能够正常显示clob的内容了,blob类似。仅仅是把读取方式换成二进制流读取

  • 相关阅读:
    except与besides
    think用法
    walk用法
    complain用法
    go through用法
    herd用法
    ridiculous用法
    it is the same as用法
    let us say用法
    1002 A+B for Polynomials (25 分)(模拟)
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6937347.html
Copyright © 2011-2022 走看看