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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? csvview.java

?? ecside jsp前途分頁的標簽 實現ajax 增刪改查等
?? JAVA
字號:
?/*
 * Copyright 2004 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.ecside.view;

import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.ecside.core.TableModel;
import org.ecside.core.bean.Column;
import org.ecside.core.bean.Export;
import org.ecside.core.context.ContextUtils;
import org.ecside.table.calc.CalcResult;
import org.ecside.table.calc.CalcUtils;
import org.ecside.util.ExportViewUtils;
import org.ecside.util.ExtremeUtils;

/**
 * For producing a delimited datafile view of the table. Default delimiter is
 * comma.
 * 
 * @author Wei Zijun
 */
public class CsvView implements View {
    public final static String DELIMITER = "delimiter";
    final static String DEFAULT_DELIMITER = ",";
//    private StringBuffer plainData = new StringBuffer();
    private OutputStream outputStream ;
    
    private OutputStream outputStreamOut;
    
    private StringBuffer rowBuffer =null;
    
    private PrintWriter out =null;
    
    private String delimiter;

    
    public void beforeBody(TableModel model) {
    	
		outputStream=ContextUtils.getResponseOutputStream(model.getContext());
		
		outputStreamOut=null;
		if (outputStream==null){
			outputStream=new ByteArrayOutputStream();
			outputStreamOut=outputStream;
		}
		out=new PrintWriter(outputStream);
        Export export = model.getExportHandler().getCurrentExport();
        delimiter = export.getAttributeAsString(DELIMITER);
        
    	List columns = model.getColumnHandler().getHeaderColumns();
        if (StringUtils.isBlank(delimiter)) {
            delimiter = DEFAULT_DELIMITER;
        }
        boolean isFirstColumn=true;
        
        rowBuffer = new StringBuffer();
        for (Iterator iter = columns.iterator(); iter.hasNext();) {
            Column column = (Column) iter.next();
            
            String value = ExportViewUtils.parseCSV(column.getCellDisplay());
            if (!isFirstColumn){
            	rowBuffer.append(delimiter);
            }
            rowBuffer.append(value);
            isFirstColumn=false;            
        }
        if (columns.size()>0){
        	rowBuffer.append(ExportViewUtils.BR);
            writeToOutputStream(rowBuffer.toString());
        }
        

    }

    
    public void body(TableModel model, Column column) {
 
        String value = ExportViewUtils.parseCSV(column.getCellDisplay());
        rowBuffer.append(value);
        if (column.isLastColumn()) {
        	rowBuffer.append(ExportViewUtils.BR);
        	writeToOutputStream(rowBuffer.toString());
        }else{
        	rowBuffer.append(delimiter);
        }
   	 	
    }

    public Object afterBody(TableModel model) {
    	totals(model);
    	out.flush();
    	out.close();
        return outputStreamOut;
    }
    
    public void totals(TableModel model) {
    	
    	rowBuffer = new StringBuffer();
    	
        Column firstCalcColumn = model.getColumnHandler().getFirstCalcColumn();

        if (firstCalcColumn != null) {
            int rows = firstCalcColumn.getCalc().length;
            for (int i = 0; i < rows; i++) {

                for (Iterator iter = model.getColumnHandler().getColumns().iterator(); iter.hasNext();) {

                    Column column = (Column) iter.next();
                    if (column.isFirstColumn()) {
                        String calcTitle = CalcUtils.getFirstCalcColumnTitleByPosition(model, i);
                        rowBuffer.append(ExportViewUtils.parseCSV(calcTitle) );
                        continue;
                    }
                    rowBuffer.append(delimiter);
                    if (column.isCalculated()) {
                        CalcResult calcResult = CalcUtils.getCalcResultsByPosition(model, column, i);
                        java.lang.Number value = calcResult.getValue();
                        if (value != null){
                        	if (StringUtils.isNotBlank(column.getFormat())){
                        		rowBuffer.append(ExportViewUtils.parseCSV(ExtremeUtils.formatNumber(column.getFormat(), value, model.getLocale())));
                        	}else{
                        		rowBuffer.append(ExportViewUtils.parseCSV(value.toString()) );
                        	}
                        } else {
                        	rowBuffer.append(ExportViewUtils.parseCSV(""));
                        }
                    } else {
                    	rowBuffer.append(ExportViewUtils.parseCSV(""));
                    }
                }
                
                rowBuffer.append(ExportViewUtils.BR);
                writeToOutputStream(rowBuffer.toString());
            }
        }

    }


    public void writeToOutputStream(String rowContent){
    		out.print(rowContent);
			rowBuffer = new StringBuffer();
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区视频在线观看| 免费高清在线一区| 久久99精品国产| 91网页版在线| 欧美电影免费观看高清完整版在线| 中文字幕亚洲视频| 国产一区二三区| 欧美日韩欧美一区二区| 中文字幕一区二区在线观看 | 激情文学综合网| 91成人在线免费观看| 国产精品入口麻豆原神| 美女国产一区二区三区| 欧美羞羞免费网站| 亚洲黄色性网站| 成人av在线资源| 国产三级精品视频| 国产麻豆欧美日韩一区| 日韩欧美一级片| 青青草成人在线观看| 777久久久精品| 亚洲高清视频的网址| 欧美福利一区二区| 一区二区三区免费观看| 一本到三区不卡视频| 中文字幕亚洲一区二区va在线| 国产成人精品1024| 欧美国产日韩在线观看| 国产福利一区二区三区在线视频| 日韩欧美一级片| 乱一区二区av| 久久只精品国产| 国内久久精品视频| 久久精品日产第一区二区三区高清版| 久久国产综合精品| 久久免费国产精品| 国产99精品在线观看| 国产欧美日韩在线| aaa欧美日韩| 亚洲精品乱码久久久久久黑人| 色综合久久久久综合体| 亚洲国产综合视频在线观看| 欧美日本在线看| 日韩国产在线观看一区| 欧美一级片免费看| 国产综合一区二区| 国产精品情趣视频| 色婷婷综合激情| 日韩国产精品久久| 久久精品免视看| 91影院在线免费观看| 午夜精品在线视频一区| 日韩欧美精品三级| 高清不卡一区二区在线| 中文字幕亚洲视频| 欧美日韩国产免费| 国产精品18久久久久久久久久久久 | 一区二区三区中文字幕精品精品| 国产麻豆91精品| 亚洲女同一区二区| 日韩欧美视频在线| 不卡在线视频中文字幕| 亚洲成在人线免费| 国产日产精品一区| 在线观看日韩国产| av色综合久久天堂av综合| 亚洲一卡二卡三卡四卡| 欧美成人欧美edvon| 成人黄动漫网站免费app| 午夜成人免费电影| 亚洲国产成人自拍| 欧美精品乱码久久久久久| 成人午夜短视频| 午夜精品久久久久久不卡8050| 久久尤物电影视频在线观看| 色婷婷激情综合| 国产麻豆精品95视频| 亚洲国产精品麻豆| 中文字幕不卡三区| 日韩一区二区三| 欧美中文字幕一区二区三区亚洲| 国产精品一区二区x88av| 亚洲无线码一区二区三区| 欧美极品另类videosde| 欧美三级日韩三级| 99精品在线观看视频| 久久不见久久见免费视频1| 亚洲综合在线观看视频| 国产清纯在线一区二区www| 欧美一区二区在线观看| 欧美性受xxxx黑人xyx| 成人免费观看男女羞羞视频| 蜜臀av性久久久久av蜜臀妖精 | 亚洲国产精品久久久久婷婷884| 久久久天堂av| 欧美一三区三区四区免费在线看| 91在线porny国产在线看| 国产福利一区二区三区视频在线| 日本三级亚洲精品| 亚洲最大色网站| 国产精品白丝在线| 国产精品无人区| 国产亚洲一二三区| 欧美精品一区二区三区蜜臀 | 日日噜噜夜夜狠狠视频欧美人| 亚洲欧美中日韩| 国产欧美视频在线观看| 久久久精品影视| 2023国产精品| 久久精品一区蜜桃臀影院| 精品99久久久久久| www精品美女久久久tv| 精品国产百合女同互慰| 久久综合色鬼综合色| 欧美mv日韩mv国产网站app| 日韩精品一区二| 精品成人私密视频| 久久久亚洲综合| 中文字幕免费在线观看视频一区| 久久久久久99久久久精品网站| 精品国产一区二区三区忘忧草| 精品久久一区二区| 久久久久免费观看| 中文字幕精品—区二区四季| 国产精品视频免费| 亚洲视频 欧洲视频| 一级日本不卡的影视| 午夜伊人狠狠久久| 久久成人麻豆午夜电影| 国产福利一区二区三区在线视频| 波多野洁衣一区| 91久久免费观看| 91精品国产欧美一区二区成人 | 日韩1区2区3区| 国产在线视视频有精品| 国产精品91一区二区| av中文字幕不卡| 欧美日韩一区二区三区免费看| 欧美日本精品一区二区三区| 日韩一区二区电影网| 欧美韩国日本综合| 亚洲综合久久av| 久久国产视频网| 91在线视频官网| 在线播放日韩导航| 久久久精品国产免费观看同学| 亚洲视频狠狠干| 老司机午夜精品99久久| 成人h版在线观看| 91精品麻豆日日躁夜夜躁| 国产日产欧产精品推荐色| 亚洲午夜在线电影| 久久精品国产成人一区二区三区| 成人av网站在线观看| 欧美人牲a欧美精品| 国产女主播在线一区二区| 亚洲国产三级在线| 成人性生交大片免费看中文网站| 欧美色视频在线观看| 国产午夜亚洲精品羞羞网站| 亚洲国产精品久久久男人的天堂 | 成人网男人的天堂| 欧美另类videos死尸| 中文字幕亚洲成人| 麻豆国产欧美一区二区三区| av不卡一区二区三区| 精品国产污污免费网站入口 | 国产一区二区三区久久悠悠色av| 91免费视频网址| 久久尤物电影视频在线观看| 亚洲一卡二卡三卡四卡| 成人aaaa免费全部观看| 26uuu久久天堂性欧美| 丝袜美腿亚洲综合| 91亚洲精华国产精华精华液| 亚洲精品一区二区三区影院| 亚洲444eee在线观看| 色综合久久久久久久| 国产丝袜欧美中文另类| 久久99久久99精品免视看婷婷| 欧美日韩精品欧美日韩精品 | 色伊人久久综合中文字幕| 精品国产乱码久久久久久闺蜜| 亚洲电影一区二区三区| 成人av小说网| 欧美韩国日本综合| 国产成人亚洲精品青草天美| 日韩亚洲国产中文字幕欧美| 午夜欧美视频在线观看| 欧美日韩国产a| 亚洲第一av色| 欧美日韩国产三级| 午夜精品久久久久久久久久| 在线视频综合导航| 亚洲一区在线播放| 欧美色网站导航| 亚洲成av人在线观看| 欧美日韩成人综合| 日本不卡视频在线观看| 日韩欧美一级在线播放|