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

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

?? formbuilder.java

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

import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.ecside.core.ECSideConstants;
import org.ecside.core.TableConstants;
import org.ecside.core.TableModel;
import org.ecside.core.bean.Column;
import org.ecside.core.bean.Table;
import org.ecside.table.limit.Sort;
import org.ecside.util.ECSideUtils;
import org.ecside.util.HtmlBuilder;

/**
 * @author Wei Zijun
 *
 */

public class FormBuilder {
    private HtmlBuilder html;
    private TableModel model;
    private Table table;
    
    private boolean isClassic;

    public FormBuilder(TableModel model) {
        this(new HtmlBuilder(), model);
    }

    public FormBuilder(HtmlBuilder html, TableModel model) {
        this.html = html;
        this.model = model;
        this.table = model.getTable();
        isClassic=table.isClassic();
    }

    public HtmlBuilder getHtmlBuilder() {
        return html;
    }

    protected TableModel getTableModel() {
        return model;
    }

    public void formStart() {
        formAttributes();
        html.newline();
        html.div().close();
        instanceParameter();
        exportTableIdParameter();
        exportParameters();
        rowsDisplayedParameter();
        filterParameter();
        pageParameters();
        sortParameters();
        aliasParameters();
        userDefinedParameters();
        
        hiddenTotalField(); 
        
        filterField();
        
        html.newline();
        html.divEnd();
    }
    
    public void hiddenTotalField(){
        int currentRowsDisplayed = getTableModel().getLimit().getCurrentRowsDisplayed();
 		int totalPages = 0;
		int totalRows = getTableModel().getLimit().getTotalRows();
		if (currentRowsDisplayed > 0) {
			totalPages =(int)Math.ceil((double)totalRows / currentRowsDisplayed);
		} else {
			totalPages = 1;
		}
		 html.newline();
		html.input("hidden").name(model.getTableHandler().prefixWithTableId() +TableConstants.HIDDEN_TOTAL_PAGES).value(""+totalPages).xclose();
		 html.newline();
		html.input("hidden").name(model.getTableHandler().prefixWithTableId() +TableConstants.HIDDEN_TOTAL_ROWS).value(""+totalRows).xclose();

    }

    public void formEnd() {
    	String shadowRow=(String)table.getAttribute("shadowRow");
        if (StringUtils.isNotBlank(shadowRow)) {
            html.div();
            html.id(model.getTableHandler().prefixWithTableId()+"shadowRow");
            html.style("display:none;");
            html.close();
            html.append(shadowRow);
            html.divEnd();
        }
    	
        html.newline().append(ECSideUtils.getAjaxEnd(table.getTableId()));
        html.newline().divEnd();
        extendTableBottom();
        
        String form = table.getForm();
        if (StringUtils.isBlank(form)) {
            html.formEnd();
        }
    }

    public void formAttributes() {
        String form = table.getForm();
        String tableId=table.getTableId();
        
    	String width=table.getWidth();
    	if (width!=null&&width.indexOf("px")==-1 && width.indexOf("%")==-1){
    		width=width+"px";
    	}
    	
        if (StringUtils.isBlank(form)) {
            html.form();
            html.id(tableId);
            html.method(table.getMethod());

//	     	String width=table.getWidth();
//	     	if (StringUtils.isBlank(width)){
//	     		width="100%";
//	     	}
//	     	
//	     	if (width!=null){
//	     		width=width.trim();
//	     		
//	     		if (width.indexOf("%")==width.length()-1){
//			     	html.append(" widthPercent=\"").append(width.substring(0,width.length()-1 )).append("\" ");
//	     		}
//	     	}
//	     	
//	    	
	    	html.style("width:"+width+";visibility :hidden;");
            
        	String nearPageNumS=getTableModel().getTable().getNearPageNum();
        	int nearPageNum=new Integer(nearPageNumS).intValue();

        	if (nearPageNum>0){
        		html.append(" nearPages=\""+nearPageNum+"\" ");
        	}

        	

            if (table.isFilterable()) {
            	html.append(" filterable=\"true\" ");
            }
            
            boolean canResizeColWidth=table.isResizeColWidth();
        	if (canResizeColWidth){
        		html.append(" canResizeColWidth=\"").append(canResizeColWidth+"").append("\" ");
        	}
            
        	String maxRowsExportedS=getTableModel().getTable().getMaxRowsExported();
        	int maxRowsExported=new Integer(maxRowsExportedS).intValue();
        	
        	if (maxRowsExported >0) {
        		html.append(" maxRowsExported=\"").append(maxRowsExported+"").append("\" ");
        	}
            int minColWidth=table.getMinColWidth();
            html.append(" minColWidth=\"").append(minColWidth+"").append("\" ");
            
            html.newline();
            html.action(table.getAction());
            html.enctype(table.getEnctype());
            
            html.attribute("insertAction",table.getInsertAction());
            html.attribute("updateAction",table.getUpdateAction());
            html.attribute("deleteAction",table.getDeleteAction());
            html.attribute("shadowRowAction",table.getShadowRowAction());        
            
            
            html.close();
        }
        

        //extendTableTop();
        String theme = table.getTheme();
        html.newline().div().styleClass(theme).id(model.getTableHandler().prefixWithTableId()+TableConstants.MAIN_CONTENT_ID);

        html.style("width:"+width+";").close();
        html.newline().append(ECSideUtils.getAjaxBegin(tableId));
       // TODO :
        extendTableTop();
    }

    public void instanceParameter() {
        html.newline();
        html.input("hidden");
        html.name(TableConstants.EXTREME_COMPONENTS_INSTANCE);
        html.value(table.getTableId());
        html.xclose();
    }

    public void filterParameter() {
        if (BuilderUtils.filterable(model)) {
            html.newline();
            html.input("hidden");
            html.name(model.getTableHandler().prefixWithTableId() + TableConstants.FILTER + TableConstants.ACTION);
            if (model.getLimit().isFiltered()) {
                html.value(TableConstants.FILTER_ACTION);
            }
            html.xclose();
        }
    }
    
    public void filterField() {
        if (!table.isFilterable()) {
            return;
        }
        List columns = model.getColumnHandler().getFilterColumns();
        if (columns.size()>0){
        	html.newline();
	        for (Iterator iter = columns.iterator(); iter.hasNext();) {
	        	 html.append(filterHiddenInput(model,(Column) iter.next()));
	        }
        	html.newline();
        }

    }
    
    public static String filterHiddenInput(TableModel model, Column column) {
        HtmlBuilder html = new HtmlBuilder();
        if (column.isFilterable()){
	        html.input("hidden");
	        html.name(model.getTableHandler().prefixWithTableId() + TableConstants.FILTER + column.getAlias());
	
	        String value = column.getValueAsString();
	        if (StringUtils.isNotBlank(value)) {
	            html.value(value);
	        }
	        html.xclose();
        }
        return html.toString();
    }

    public void rowsDisplayedParameter() {
        html.newline();
        html.input("hidden");
        html.name(model.getTableHandler().prefixWithTableId() + TableConstants.CURRENT_ROWS_DISPLAYED);
        int currentRowsDisplayed = model.getLimit().getCurrentRowsDisplayed();
        html.value(String.valueOf(currentRowsDisplayed));
        html.xclose();
    }

    public void pageParameters() {
        html.newline();
        html.input("hidden");
        html.name(model.getTableHandler().prefixWithTableId() + TableConstants.PAGE);
        int page = model.getLimit().getPage();
        if (page > 0) {
            html.value(String.valueOf(page));
        }
        html.xclose();
    }

    /**
     * The exported table id parameter is used to uniquely identify this table when exporting.
     * If there is more than one table in the form then make sure the other table did
     * not already set the exported table id parameter.
     */
    public void exportTableIdParameter() {
        if (!BuilderUtils.showExports(model)) {
            return;
        }

        String form = BuilderUtils.getForm(model);
        String existingForm = (String)model.getContext().getRequestAttribute(TableConstants.EXPORT_TABLE_ID);
        if (!form.equals(existingForm)) {
            html.newline();
            html.input("hidden");
            html.name(TableConstants.EXPORT_TABLE_ID);
            html.xclose();
            // set to key off to other tables in the same form
            model.getContext().setRequestAttribute(TableConstants.EXPORT_TABLE_ID, form); 
        }

        String existingForm2 = (String)model.getContext().getRequestAttribute(TableConstants.EXPORT_PAGE_FLAG);
        if (!form.equals(existingForm2)) {
            html.newline();
            html.input("hidden");
            html.name(TableConstants.EXPORT_PAGE_FLAG);
            html.xclose();

            model.getContext().setRequestAttribute(TableConstants.EXPORT_PAGE_FLAG, form);
        }


    }

    /**
     * The parameters neccessary to do the exports. This includes the
     * ViewResolver and the export file name.
     */
    public void exportParameters() {
    	
        html.newline();
        html.input("hidden");
        html.name(model.getTableHandler().prefixWithTableId() + TableConstants.EXPORT_FILE_NAME);
        html.xclose();
        
        if (!BuilderUtils.showExports(model)) {
            return;
        }

        html.newline();
        html.input("hidden");
        html.name(model.getTableHandler().prefixWithTableId() + TableConstants.EXPORT_VIEW);
        html.xclose();


    }

    public void sortParameters() {
        List columns = model.getColumnHandler().getColumns();
        for (Iterator iter = columns.iterator(); iter.hasNext();) {
            Column column = (Column) iter.next();
            if (column.isSortable()) {
                html.newline();
                html.input("hidden");
                html.name(model.getTableHandler().prefixWithTableId() + TableConstants.SORT + column.getAlias());
                Sort sort = model.getLimit().getSort();
                if (sort.isSorted() && sort.getAlias().equals(column.getAlias())) {
                    html.value(sort.getSortOrder());
                }
                html.xclose();
            }
        }
    }

    public boolean isInParameters(String parametersNames,String name ){
//    	return parametersNames.indexOf(","+name+",")>=0 
    	String[] t=parametersNames.split(",");
    	for (int i=0;i<t.length;i++){
    		if (ECSideUtils.isSearchMatch(name, t[i]) ){
    			return true;
    		}
    	}
    	return false;
    }
    public void userDefinedParameters() {
        Map parameterMap = model.getRegistry().getParameterMap();
        
       String includeParameters=table.getIncludeParameters();
       String excludeParameters=table.getExcludeParameters();
       
//       includeParameters=StringUtils.isNotBlank(includeParameters)?","+includeParameters+",":null;
//       excludeParameters=StringUtils.isNotBlank(excludeParameters)?","+excludeParameters+",":null;
       
        Set keys = parameterMap.keySet();
        String[] keyField=new String[]{
        		ECSideConstants.EASY_DATA_ACCESS_FLAG,
        		ECSideConstants.EASY_DATA_LIST_FLAG,
        		ECSideConstants.EASY_DATA_EXPORT_FLAG
        };

        for (Iterator iter = keys.iterator(); iter.hasNext();) {
            String name = (String) iter.next();

            if (name.startsWith(model.getTableHandler().prefixWithTableId())
            		|| excludeParameters!=null && isInParameters(excludeParameters,name) 
            		|| includeParameters!=null && !isInParameters(includeParameters,name)
            		|| ArrayUtils.contains(keyField, name)
            		){
                continue;
            }

            String values[] = (String[]) parameterMap.get(name);
            if (values == null || values.length == 0) {
                html.newline();
                html.input("hidden").name(name).xclose();
            } else {
                for (int i = 0; i < values.length; i++) {
                    html.newline();
                    html.input("hidden").name(name).value(values[i]).xclose();
                }
            }
        }
    }

    /**
     * If the column has a alias, it will keep the column property by the parameter
     */
    public void aliasParameters() {
        List columns = model.getColumnHandler().getColumns();
        for (Iterator iter = columns.iterator(); iter.hasNext();) {
            Column column = (Column) iter.next();
            if (StringUtils.isNotBlank(column.getProperty()) && !column.getProperty().equals(column.getAlias())) {
                html.newline();
                html.input("hidden");
                html.name(model.getTableHandler().prefixWithTableId() + TableConstants.ALIAS + column.getAlias());
                html.value(column.getProperty());
                html.xclose();
            }
        }
    }
    
    
    public void extendTableTop(){
    	String extendTableTop = (String)table.getAttribute("ExtendTableTop");
    	if(StringUtils.isNotBlank(extendTableTop)){
    		html.newline();
    		html.append(extendTableTop);
    	}
    }
    
    public void extendTableBottom(){
    	String extendTableBottom = (String)table.getAttribute("ExtendTableBottom");
    	if(StringUtils.isNotBlank(extendTableBottom)){
    		html.newline();
    		html.append(extendTableBottom);
    	}
    }


    public String toString() {
        return html.toString();
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费在线观看视频| 精品粉嫩aⅴ一区二区三区四区| 捆绑调教美女网站视频一区| 亚洲韩国一区二区三区| 国产精品久久久久久久久久久免费看 | 狠狠色狠狠色综合| 毛片一区二区三区| 狠狠色狠狠色合久久伊人| 免费成人美女在线观看| 久久99精品国产麻豆不卡| 精品一区二区三区不卡| 国产伦精品一区二区三区免费迷| 美腿丝袜亚洲一区| 国产美女在线精品| 成人午夜av电影| 91蜜桃网址入口| 欧美人妖巨大在线| 精品捆绑美女sm三区| 久久老女人爱爱| 国产精品久久久久精k8| 一区二区三区日韩精品| 日韩精品一级中文字幕精品视频免费观看| 亚洲一级二级三级在线免费观看| 奇米在线7777在线精品| 国产成人在线视频网站| 91色视频在线| 欧美一区二区三区啪啪| 国产午夜精品福利| 亚洲国产欧美在线人成| 极品销魂美女一区二区三区| 成人美女在线视频| 欧美亚洲综合色| 久久综合久久综合亚洲| 亚洲美女在线一区| 美国十次综合导航| 97se亚洲国产综合自在线不卡| 337p亚洲精品色噜噜噜| 中文字幕巨乱亚洲| 日本色综合中文字幕| 国产激情91久久精品导航| 欧美日韩中字一区| 国产欧美视频一区二区| 五月婷婷久久丁香| jizz一区二区| 日韩美女主播在线视频一区二区三区| 国产精品高潮呻吟| 另类小说图片综合网| 在线欧美日韩精品| 久久久777精品电影网影网| 亚洲成av人片| 国产成人精品一区二区三区网站观看| 欧美精品三级日韩久久| 国产精品久久久久毛片软件| 久久国产综合精品| 欧美日韩国产成人在线免费| 国产精品久久久久7777按摩| 黄一区二区三区| 欧美日韩一级视频| 亚洲乱码国产乱码精品精的特点 | 国产女人水真多18毛片18精品视频| 亚洲一级不卡视频| 成人av网在线| 亚洲国产精品ⅴa在线观看| 免费一级欧美片在线观看| 欧美视频一区在线| 亚洲六月丁香色婷婷综合久久| 国产999精品久久| 久久麻豆一区二区| 久久99国产精品成人| 9191久久久久久久久久久| 又紧又大又爽精品一区二区| 色综合中文字幕国产 | 亚洲成人精品一区二区| aaa亚洲精品| 国产精品美女一区二区| 国产精品1区2区3区在线观看| 久久综合九色综合久久久精品综合| 日本一不卡视频| 538prom精品视频线放| 亚洲一区在线观看视频| 欧美影视一区在线| 午夜视黄欧洲亚洲| 欧美一级一区二区| 蜜桃av一区二区三区电影| 欧美刺激脚交jootjob| 老司机免费视频一区二区三区| 日韩欧美在线不卡| 久久精品噜噜噜成人88aⅴ| 欧美成人乱码一区二区三区| 国产麻豆91精品| 国产精品久久久久久久蜜臀| 一本久久a久久精品亚洲 | 欧美精品一级二级| 日本美女一区二区三区视频| 精品久久99ma| 国产91丝袜在线观看| 亚洲欧美日韩综合aⅴ视频| 欧洲另类一二三四区| 无吗不卡中文字幕| 精品免费国产一区二区三区四区| 国产经典欧美精品| 国产精品乱码久久久久久| 欧洲一区在线电影| 欧美aa在线视频| 中文字幕久久午夜不卡| 欧美伊人精品成人久久综合97| 日本强好片久久久久久aaa| 久久蜜桃av一区二区天堂| 99精品热视频| 免费在线观看成人| 中文字幕在线不卡一区 | 国产一区二区三区免费看| 国产精品成人网| 欧美高清激情brazzers| 丰满白嫩尤物一区二区| 婷婷成人综合网| 国产精品久久久久影院老司| 日韩午夜激情视频| av在线综合网| 另类综合日韩欧美亚洲| 亚洲男同性视频| 国产日本亚洲高清| 欧美精品一卡二卡| 91丨九色丨尤物| 国产精品一区二区x88av| 五月婷婷综合在线| 日韩毛片视频在线看| 日韩欧美的一区二区| 欧美亚洲综合色| 99久久国产综合精品女不卡| 国产综合久久久久久鬼色| 亚洲福中文字幕伊人影院| 亚洲色图制服丝袜| 国产免费成人在线视频| 精品理论电影在线| 日韩一区二区免费高清| 欧美吞精做爰啪啪高潮| jvid福利写真一区二区三区| 国产精品亚洲一区二区三区妖精| 日韩高清在线观看| 亚洲一区二区三区视频在线| 亚洲日本欧美天堂| 欧美激情中文不卡| 精品国产免费久久 | 国产精品88av| 久久福利视频一区二区| 日本中文在线一区| 日本亚洲天堂网| 琪琪一区二区三区| 日本视频免费一区| 美女视频一区在线观看| 三级精品在线观看| 日韩中文字幕av电影| 偷拍一区二区三区四区| 午夜精品成人在线| 午夜精品爽啪视频| 日韩精品一区第一页| 另类小说欧美激情| 激情综合网最新| 国产成人自拍高清视频在线免费播放| 精品在线一区二区三区| 九九在线精品视频| 国产精品一区二区在线观看不卡| 国产麻豆成人精品| 成人国产电影网| 91免费看`日韩一区二区| 在线观看亚洲专区| 5566中文字幕一区二区电影| 日韩欧美在线一区二区三区| 欧美精品一区男女天堂| 国产精品网站一区| 自拍偷自拍亚洲精品播放| 亚洲一区在线观看视频| 免费日韩伦理电影| 国产伦精品一区二区三区视频青涩| 大陆成人av片| 在线一区二区三区| 欧美丰满少妇xxxxx高潮对白| 欧美电视剧在线观看完整版| 国产亚洲成aⅴ人片在线观看| 亚洲天堂2016| 日韩国产在线一| 国产乱人伦精品一区二区在线观看| 成人中文字幕合集| 欧美日韩三级一区| 久久一区二区视频| 亚洲精品日韩一| 激情五月婷婷综合| 91一区二区三区在线观看| 91精品国产91综合久久蜜臀| 久久亚区不卡日本| 亚洲图片有声小说| 国内精品免费在线观看| 97国产一区二区| 精品伦理精品一区| 亚洲一区视频在线| 国产精品456| 91精品国产免费| 亚洲另类一区二区| 国产激情偷乱视频一区二区三区|