Struts2对Clob的转换和显示

 在通过Struts2标签显示对象的Clob属性值的时候,是无法正常在页面直接正常显示的。比如bean:

public class Question implements Serializable {
	private Clob content;
	//getter,setter...
}

 

 这里如果直接用Struts2的标签:

<s:property value="content" />

 

 显示结果如下:

javax.sql.rowset.serial.SerialClob@66848c

 

 解决办法是在后台的进入该JSP的ACTION类中添加如下功能的方法,并且修改Struts2的标签的调用方式如下:

 

方法:

public String getClob(SerializableClob c){
	Reader reader;
	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) {
		
	} 	
	return sb.toString();
}

标签:

<s:property value="%{getClob(content)}" />

 

 

这样一来就可以正常的显示。

你可能感兴趣的:(struts2,struts2标签,Clob显示)