Spring MVC可使用的AbstractJpegView
系統(tǒng)
1784 0
這和AbstractExcelView,AbstractPdfView不同,此類是實(shí)現(xiàn)View接口,實(shí)現(xiàn)自定義的視圖解析
?
package
?Action;
import
?java.awt.image.BufferedImage;
import
?java.util.Map;
import
?javax.servlet.ServletOutputStream;
import
?javax.servlet.http.HttpServletRequest;
import
?javax.servlet.http.HttpServletResponse;
import
?org.springframework.web.servlet.View;
import
?sun.awt.image.codec.JPEGImageEncoderImpl;
import
?com.sun.image.codec.jpeg.JPEGImageEncoder;
public
?
abstract
?
class
?AbstractJpegView?
implements
?View?
...
{
????
public
?String?getContentType()?
...
{
????????
//
?TODO?自動(dòng)生成方法存根
????????
return
?
null
;
????}
????
public
?
int
?getImageWidth()
...
{
return
?
100
;}
????
public
?
int
?getImageHeght()
...
{
return
?
100
;}
????
protected
?
int
?getImageType()
...
{
????????
return
?BufferedImage.TYPE_INT_RGB;
????}
????
public
?
void
?render(Map?map,?HttpServletRequest?request,
????????????HttpServletResponse?response)?
throws
?Exception?
...
{
???????response.setContentType(
"
image/jpeg
"
);
//
設(shè)置內(nèi)容類型
???????BufferedImage?image
=
new
?BufferedImage(
this
.getImageWidth(),
this
.getImageHeght(),
this
.getImageType());
//
緩存圖像
???????buildImage(map,image,request,response);
//
繪制圖像
???????
//
編碼圖像
???????ServletOutputStream?out
=
response.getOutputStream();
???????JPEGImageEncoder?encoder
=
new
?JPEGImageEncoderImpl(out);
???????encoder.encode(image);
???????out.flush();
???????
???????
????}
????
protected
?
abstract
?
void
?buildImage(Map?model,BufferedImage?image,HttpServletRequest?request,HttpServletResponse?response)?
throws
?Exception;
}
?我們只要繼承這個(gè)類,實(shí)現(xiàn)buildImage方法,就可以輸出人以jpeg圖像了,下面是一個(gè)畫圓的簡(jiǎn)單實(shí)現(xiàn)
?
package
?Action;
import
?java.awt.Graphics;
import
?java.awt.image.BufferedImage;
import
?java.util.Map;
import
?javax.servlet.http.HttpServletRequest;
import
?javax.servlet.http.HttpServletResponse;
public
?
class
?CircleJpegView?
extends
?AbstractJpegView?
...
{
????
????
protected
?
void
?buildImage(Map?model,?BufferedImage?image,
????????????HttpServletRequest?request,?HttpServletResponse?response)
????????????
throws
?Exception?
...
{
????????
//
畫圓
????????Graphics?g
=
image.getGraphics();
????????g.drawOval(
0
,
0
,?
this
.getImageWidth(),?
this
.getImageHeght());
????}
????
}
Spring MVC可使用的AbstractJpegView
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元