亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? abstractjexcelview.java

?? spring framework 2.5.4源代碼
?? JAVA
字號(hào):
/*
 * Copyright 2002-2008 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.web.servlet.view.document;

import java.io.OutputStream;
import java.util.Locale;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jxl.Workbook;
import jxl.write.WritableWorkbook;

import org.springframework.core.io.Resource;
import org.springframework.core.io.support.LocalizedResourceHelper;
import org.springframework.web.servlet.support.RequestContextUtils;
import org.springframework.web.servlet.view.AbstractView;

/**
 * Convenient superclass for Excel document views.
 * 
 * <p>This class uses the <i>JExcelAPI</i> instead of <i>POI</i>. More
 * information on <i>JExcelAPI</i> can be found on their <a
 * href="http://www.andykhan.com/jexcelapi/" target="_blank">website</a>.
 *
 * <p>Properties:
 * <ul>
 * <li>url (optional): The url of an existing Excel document to pick as a
 * starting point. It is done without localization part nor the .xls extension.
 * </ul>
 * 
 * <p>The file will be searched with locations in the following order:
 * <ul>
 * <li>[url]_[language]_[country].xls
 * <li>[url]_[language].xls
 * <li>[url].xls
 * </ul>
 * 
 * <p>For working with the workbook in the subclass, see <a
 * href="http://www.andykhan.com/jexcelapi/">Java Excel API site</a>
 * 
 * <p>As an example, you can try this snippet:
 * 
 * <pre>
 * protected void buildExcelDocument(Map model, WritableWorkbook workbook, HttpServletRequest request,
 * 		HttpServletResponse response) {
 * 	if (workbook.getNumberOfSheets() == 0) {
 * 		workbook.createSheet(&quot;Spring&quot;, 0);
 * 	}
 * 
 * 	WritableSheet sheet = workbook.getSheet(&quot;Spring&quot;);
 * 	Label label = new Label(0, 0, &quot;This is a nice label&quot;);
 * 	sheet.addCell(label);
 * }</pre>
 * 
 * The use of this view is close to the AbstractExcelView class,
 * just using the JExcel API instead of the Apache POI API.
 * 
 * @author Bram Smeets
 * @author Alef Arendsen
 * @author Juergen Hoeller
 * @since 1.2.5
 * @see AbstractExcelView
 * @see AbstractPdfView
 */
public abstract class AbstractJExcelView extends AbstractView {

	/** The content type for an Excel response */
	private static final String CONTENT_TYPE = "application/vnd.ms-excel";

	/** The extension to look for existing templates */
	private static final String EXTENSION = ".xls";


	/** The url at which the template to use is located */
	private String url;


	/**
	 * Default Constructor.
	 * Sets the content type of the view to "application/vnd.ms-excel".
	 */
	public AbstractJExcelView() {
		setContentType(CONTENT_TYPE);
	}

	/**
	 * Set the URL of the Excel workbook source, without localization part nor extension.
	 */
	public void setUrl(String url) {
		this.url = url;
	}


	protected boolean generatesDownloadContent() {
		return true;
	}

	/**
	 * Renders the Excel view, given the specified model.
	 */
	protected final void renderMergedOutputModel(
			Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		// Set the content type and get the output stream.
		response.setContentType(getContentType());
		OutputStream out = response.getOutputStream();

		WritableWorkbook workbook;
		if (this.url != null) {
			Workbook template = getTemplateSource(this.url, request);
			workbook = Workbook.createWorkbook(out, template);
		} 
		else {
			logger.debug("Creating Excel Workbook from scratch");
			workbook = Workbook.createWorkbook(out);
		}

		buildExcelDocument(model, workbook, request, response);

		// Should we set the content length here?
		// response.setContentLength(workbook.getBytes().length);

		workbook.write();
		out.flush();
		workbook.close();
	}

	/**
	 * Create the workbook from an existing XLS document.
	 * @param url the URL of the Excel template without localization part nor extension
	 * @param request current HTTP request
	 * @return the template workbook
	 * @throws Exception in case of failure
	 */
	protected Workbook getTemplateSource(String url, HttpServletRequest request) throws Exception {
		LocalizedResourceHelper helper = new LocalizedResourceHelper(getApplicationContext());
		Locale userLocale = RequestContextUtils.getLocale(request);
		Resource inputFile = helper.findLocalizedResource(url, EXTENSION, userLocale);

		// Create the Excel document from the source.
		if (logger.isDebugEnabled()) {
			logger.debug("Loading Excel workbook from " + inputFile);
		}
		return Workbook.getWorkbook(inputFile.getInputStream());
	}

	/**
	 * Subclasses must implement this method to create an Excel Workbook
	 * document, given the model.
	 * @param model the model Map
	 * @param workbook the Excel workbook to complete
	 * @param request in case we need locale etc. Shouldn't look at attributes.
	 * @param response in case we need to set cookies. Shouldn't write to it.
	 * @throws Exception in case of failure
	 */
	protected abstract void buildExcelDocument(
			Map model, WritableWorkbook workbook, HttpServletRequest request, HttpServletResponse response)
			throws Exception;

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄页网站大全一区二区| 亚洲不卡一区二区三区| 日韩成人精品在线| 91影视在线播放| 精品少妇一区二区三区视频免付费| 最新国产成人在线观看| 韩国成人精品a∨在线观看| 欧美日韩免费电影| 亚洲精品伦理在线| 大陆成人av片| 久久蜜桃香蕉精品一区二区三区| 五月综合激情婷婷六月色窝| 91在线国产福利| 久久九九全国免费| 久久精品国产99国产精品| 欧美三级在线播放| 亚洲女人的天堂| 成人精品在线视频观看| 久久影院电视剧免费观看| 日韩va欧美va亚洲va久久| 欧洲在线/亚洲| 久久国产精品免费| 欧美精品亚洲一区二区在线播放| 亚洲精品一卡二卡| 99r国产精品| 国产精品久久99| 国产白丝精品91爽爽久久| 精品福利一二区| 蜜桃久久久久久久| 欧美欧美欧美欧美首页| 亚洲激情av在线| 一本色道综合亚洲| 国产精品成人在线观看| 成人丝袜高跟foot| 欧美高清在线精品一区| 国产乱人伦偷精品视频不卡| www国产成人免费观看视频 深夜成人网| 婷婷综合在线观看| 欧美精品aⅴ在线视频| 亚洲bt欧美bt精品| 欧美肥妇free| 日韩av在线发布| 欧美一区二区在线不卡| 日本视频在线一区| 日韩一级视频免费观看在线| 麻豆精品精品国产自在97香蕉| 日韩一区二区三区在线| 日韩二区在线观看| 日韩色视频在线观看| 日本成人中文字幕| 亚洲精品在线三区| 国产成人免费在线| 国产精品国产三级国产专播品爱网| 成人午夜激情在线| ㊣最新国产の精品bt伙计久久| 91丨九色丨蝌蚪丨老版| 一个色妞综合视频在线观看| 欧美性生活久久| 日韩电影在线观看网站| 日韩欧美123| 国产酒店精品激情| 综合婷婷亚洲小说| 欧美系列日韩一区| 蜜臀久久99精品久久久画质超高清| 欧美mv和日韩mv的网站| 国产suv精品一区二区883| 中文字幕永久在线不卡| 色拍拍在线精品视频8848| 首页国产丝袜综合| 久久蜜桃av一区精品变态类天堂| 成人高清av在线| 亚洲成人www| 久久综合狠狠综合久久综合88| 高清不卡一区二区| 亚洲一区在线观看视频| 日韩精品综合一本久道在线视频| 国产成人免费视频一区| 亚洲影院免费观看| 久久人人97超碰com| 一本一道久久a久久精品| 日本不卡123| 国产精品久久久久久久久晋中| 欧美亚洲一区二区在线观看| 久久国内精品自在自线400部| 日本一区二区久久| 精品视频资源站| 国产高清久久久久| 亚洲国产成人tv| 国产亚洲一区二区在线观看| 色拍拍在线精品视频8848| 精品亚洲成a人在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美日韩中文字幕一区二区| 国产精品一级在线| 亚洲va中文字幕| 国产日韩v精品一区二区| 欧美日韩综合在线免费观看| 国产91高潮流白浆在线麻豆 | 精品美女被调教视频大全网站| 国产一区二区三区香蕉| 一区二区欧美国产| 久久亚洲精品国产精品紫薇| 欧美在线免费观看视频| 国产精品一二三四区| 亚洲电影在线播放| 国产日韩欧美精品在线| 欧美日韩高清一区二区不卡| 国产成+人+日韩+欧美+亚洲| 首页欧美精品中文字幕| 亚洲欧洲性图库| 精品av久久707| 欧美日韩一区中文字幕| 成人污污视频在线观看| 久久99久久久久| 亚洲成人动漫在线免费观看| 日韩美女久久久| 久久久久国产成人精品亚洲午夜| 欧美精品国产精品| 色先锋aa成人| 懂色av一区二区三区免费看| 奇米色一区二区| 亚洲国产视频在线| 亚洲日本一区二区| 中文一区二区完整视频在线观看| 欧美一区二区精美| 欧美日韩色一区| 色综合久久天天综合网| 丁香天五香天堂综合| 国产一区二区在线视频| 日本欧美在线看| 亚洲第一狼人社区| 一区二区在线观看不卡| 中文字幕欧美激情| 欧美精品一区二区三区蜜桃| 91精品黄色片免费大全| 欧美特级限制片免费在线观看| 91在线精品一区二区| 成人中文字幕电影| 国产一区二区主播在线| 久久精品国产亚洲一区二区三区| 五月婷婷综合激情| 亚洲午夜成aⅴ人片| 亚洲伦理在线精品| 亚洲欧洲日产国产综合网| 中文字幕成人在线观看| 国产午夜精品一区二区三区嫩草| 精品国产乱码久久久久久老虎| 欧美一区二区播放| 欧美区视频在线观看| 欧美丰满美乳xxx高潮www| 欧美日韩电影在线| 欧美精品一级二级三级| 在线成人免费观看| 91精品国产综合久久精品性色| 欧美日韩精品一区二区天天拍小说| 欧美性感一类影片在线播放| 日本精品视频一区二区| 在线观看网站黄不卡| 欧美日韩一区在线| 欧美美女黄视频| 91精品国产综合久久蜜臀| 欧美一区二区三区视频免费| 欧美一区二区视频观看视频| 日韩一区二区免费高清| 欧美xingq一区二区| xvideos.蜜桃一区二区| 国产亚洲va综合人人澡精品 | 欧美一级一级性生活免费录像| 欧美军同video69gay| 欧美一区二区网站| 欧美电影免费观看高清完整版在线观看 | 国产激情91久久精品导航| 国产成人综合网站| gogo大胆日本视频一区| 色偷偷成人一区二区三区91| 欧美三区在线视频| 91精品国产综合久久精品麻豆| 欧美电影免费观看高清完整版在 | 亚洲成人tv网| 日韩成人午夜精品| 久久激情五月婷婷| 成人午夜电影久久影院| 日本道在线观看一区二区| 欧美日韩性生活| 欧美大片顶级少妇| 国产精品色哟哟网站| 亚洲激情在线播放| 秋霞午夜av一区二区三区| 国产真实乱对白精彩久久| 99久久婷婷国产综合精品| 欧美这里有精品| 欧美videofree性高清杂交| 中文久久乱码一区二区| 一区2区3区在线看| 免播放器亚洲一区| 成人av网在线| 欧美精品1区2区| 久久久www成人免费毛片麻豆 | 欧美国产精品v| 亚洲国产精品久久久久婷婷884|