⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data.store.tag

📁 基于Jscript实现在类库,集成了现流行的ajax,重载select组件库
💻 TAG
字号:
<%-- 
	ExtJS Tag Library (ExtTLD)
    Copyright (C) 2008  Jaroslav Benc <jaroslav.benc@gmail.com>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
	
	===========================================================================
	BY USING THIS LIBRARY YOU CONFIRM THAT YOU HAVE READ, UNDERSTOOD AND ACCEPT
	OUR ETHICAL CRITERIA LISTED ON THE EXTTLD WEBSITE (WWW.EXTTLD.COM)
	===========================================================================
--%>
  
<%-- Config params _____________________________START --%>

<%@ attribute
	name="autoLoad"
	type="java.lang.Object"
	required="false"
	description="
(Boolean/Object)If passed, this store's load method is automatically called after creation with the autoLoad object
" %>

<%@ attribute
	name="baseParams"
	type="java.lang.Object"
	required="false"
	description="
(Object)An object containing properties which are to be sent as parameters on any HTTP request
" %>

<%@ attribute
	name="data"
	type="java.lang.String"
	required="false"
	description="
(Array)Inline data to be loaded when the store is initialized.
" %>

<%@ attribute
	name="listeners"
	type="java.lang.Object"
	required="false"
	description="
(Object)A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the addListener example for attaching multiple handlers at once.
" %>

<%@ attribute
	name="proxy"
	type="java.lang.String"
	required="false"
	description="
(Ext.data.DataProxy)The Proxy object which provides access to a data object.
" %>

<%@ attribute
	name="pruneModifiedRecords"
	type="java.lang.String"
	required="false"
	description="
(boolean)True to clear all modified record information each time the store is loaded or when a record is removed. (defaults to false).
" %>

<%@ attribute
	name="reader"
	type="java.lang.String"
	required="false"
	description="
(Ext.data.Reader)The Reader object which processes the data object and returns an Array of Ext.data.record objects which are cached keyed by their id property.
" %>

<%@ attribute
	name="remoteSort"
	type="java.lang.String"
	required="false"
	description="
(boolean)True if sorting is to be handled by requesting the Proxy to provide a refreshed version of the data object in sorted order, as opposed to sorting the Record cache in place (defaults to false). 

If remote sorting is specified, then clicking on a column header causes the current page to be requested from the server with the addition of the following two parameters:

    * sort : String

      The name (as specified in the Record's Field definition) of the field to sort on.
    * dir : String

      The direction of the sort, 'ASC' or 'DESC'.


" %>

<%@ attribute
	name="sortInfo"
	type="java.lang.Object"
	required="false"
	description="
(Object)A config object in the format: {field: 'fieldName', direction: 'ASC|DESC'}
" %>

<%@ attribute
	name="storeId"
	type="java.lang.String"
	required="false"
	description="
(String)If passed, the id to use to register with the StoreMgr
" %>

<%@ attribute
	name="url"
	type="java.lang.String"
	required="false"
	description="
(String)If passed, an HttpProxy is created for the passed URL
" %>

<%-- Config params _____________________________END --%>

<%-- Events _____________________________START --%>

<%@ attribute
	name="onAdd"
	type="java.lang.Integer"
	required="false"
	description="
( Store this, Ext.data.Record[] records, Number index )Fires when Records have been added to the Store
" %>

<%@ attribute
	name="onBeforeload"
	type="java.lang.Object"
	required="false"
	description="
( Store this, Object options )Fires before a request is made for a new data object.If the beforeload handler returns falsethe load action will be canceled.
" %>

<%@ attribute
	name="onClear"
	type="java.lang.String"
	required="false"
	description="
( Store this )Fires when the data cache has been cleared.
" %>

<%@ attribute
	name="onDatachanged"
	type="java.lang.String"
	required="false"
	description="
( Store this )Fires when the data cache has changed, and a widget which is using this Storeas a Record cache should refresh its view.
" %>

<%@ attribute
	name="onLoad"
	type="java.lang.Object"
	required="false"
	description="
( Store this, Ext.data.Record[] records, Object options )Fires after a new set of Records has been loaded.
" %>

<%@ attribute
	name="onLoadexception"
	type="java.lang.String"
	required="false"
	description="
()Fires if an exception occurs in the Proxy during loading.Called with the signature of the Proxy's 'loadexception' event.
" %>

<%@ attribute
	name="onMetachange"
	type="java.lang.Object"
	required="false"
	description="
( Store this, Object meta )Fires when this store's reader provides new metadata (fields). This is currently only supported for JsonReaders.
" %>

<%@ attribute
	name="onRemove"
	type="java.lang.Integer"
	required="false"
	description="
( Store this, Ext.data.Record record, Number index )Fires when a Record has been removed from the Store
" %>

<%@ attribute
	name="onUpdate"
	type="java.lang.String"
	required="false"
	description="
( Store this, Ext.data.Record record, String operation )Fires when a Record has been updated
" %>

<%-- Events _____________________________END --%>


<%@ include file="inc/taglibs.jsp" %>
<%@ tag 
	import="org.apache.commons.beanutils.BeanUtils"
	dynamic-attributes="dynamicAttributes"
	description=" The Store class encapsulates a client side cache of Record objects which provide input data for Components such as the GridPanel, the ComboBox, or the DataView. A Store object uses its configured implementation of DataProxy to access a data object unless you call loadData directly and pass in your data. A Store object has no knowledge of the format of the data returned by the Proxy. A Store object uses its configured implementation of DataReader to create Record instances from the data object. These Records are cached and made available through accessor functions." %>
	
	<extutil:processTagAttributes 
		configVar="configMap" 
		eventsVar="eventsMap" 
		include="*" 
		javaScript="baseParams,data,proxy,reader,sortInfo"
		tagJspContext="<%=jspContext %>"
		dynamicAttributes="${dynamicAttributes}" />	
	
	<%-- Process JSP body --%>
	
	<jsp:doBody/>
	<c:set var="id">
		<extutil:getTagId tag="<%=this %>"></extutil:getTagId>
	</c:set>
		
	<c:set var="item">
		   ${id} = new Ext.data.Store({
		  		<c:forEach items="${configMap}" var="config">
		  			${config.key}:${config.value},
		  		</c:forEach>
		  		<c:if test="<%= BeanUtils.getProperty(this,"reader")!=null %>">
			        reader:<%= BeanUtils.getProperty(this,"reader") %>,
			    </c:if>
		  		<c:if test="<%= BeanUtils.getProperty(this,"proxy")!=null %>">
			        proxy:<%= BeanUtils.getProperty(this,"proxy") %>
			    </c:if>
		  		listeners:{
			  		<c:forEach items="${eventsMap}" var="event" varStatus="status">
			  			<c:if test="${fn:indexOf(event.value,'function(')==-1}">
				  			${event.key}:function(){${event.value}}			  			
			  			</c:if>
		  				<c:if test="${fn:indexOf(event.value,'function(')>-1}">
				  			${event.key}:${event.value}
			  			</c:if>
			  			${status.last?'':','}
			  		</c:forEach>
		  		}
		    });
		    
	</c:set>
	
	<extutil:setExtCommons>${item}</extutil:setExtCommons>
	
	<extutil:setParentProperties 
		tag="<%= this %>"
		store="${id}"
	 />

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -