/**
* @preserve SeaJS - A Module Loader for the Web
* v1.3.0 | seajs.org | MIT Licensed
*/
/**
* Base namespace for the framework.
*/
this.seajs = { _seajs: this.seajs }
/**
* The version of the framework. It will be replaced with "major.minor.patch"
* when building.
*/
seajs.version = '1.3.0'
/**
* The private utilities. Internal use only.
*/
seajs._util = {}
/**
* The private configuration data. Internal use only.
*/
seajs._config = {
/**
* Debug mode. It will be turned off automatically when compressing.
*/
debug: '%DEBUG%',
/**
* Modules that are needed to load before all other modules.
*/
preload: []
}
/**
* The minimal language enhancement
*/
;(function(util) {
var toString = Object.prototype.toString
var AP = Array.prototype
util.isString = function(val) {
return toString.call(val) === '[object String]'
}
util.isFunction = function(val) {
return toString.call(val) === '[object Function]'
}
util.isRegExp = function(val) {
return toString.call(val) === '[object RegExp]'
}
util.isObject = function(val) {
return val === Object(val)
}
util.isArray = Array.isArray || function(val) {
return toString.call(val) === '[object Array]'
}
util.indexOf = AP.indexOf ?
function(arr, item) {
return arr.indexOf(item)
} :
function(arr, item) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] === item) {
return i
}
}
return -1
}
var forEach = util.forEach = AP.forEach ?
function(arr, fn) {
arr.forEach(fn)
} :
function(arr, fn) {
for (var i = 0; i < arr.length; i++) {
fn(arr[i], i, arr)
}
}
util.map = AP.map ?
function(arr, fn) {
return arr.map(fn)
} :
function(arr, fn) {
var ret = []
forEach(arr, function(item, i, arr) {
ret.push(fn(item, i, arr))
})
return ret
}
util.filter = AP.filter ?
function(arr, fn) {
return arr.filter(fn)
} :
function(arr, fn) {
var ret = []
forEach(arr, function(item, i, arr) {
if (fn(item, i, arr)) {
ret.push(item)
}
})
return ret
}
var keys = util.keys = Object.keys || function(o) {
var ret = []
for (var p in o) {
if (o.hasOwnProperty(p)) {
ret.push(p)
}
}
return ret
}
util.unique = function(arr) {
var o = {}
forEach(arr, function(item) {
o[item] = 1
})
return keys(o)
}
util.now = Date.now || function() {
return new Date().getTime()
}
})(seajs._util)
/**
* The tiny console
*/
;(function(util) {
/**
* The safe wrapper of console.log/error/...
*/
util.log = function() {
if (typeof console === 'undefined') return
var args = Array.prototype.slice.call(arguments)
var type = 'log'
var last = args[args.length - 1]
console[last] && (type = args.pop())
// Only show log info in debug mode
if (type === 'log' && !seajs.debug) return
if (console[type].apply) {
console[type].apply(console, args)
return
}
// See issue#349
var length = args.length
if (length === 1) {
console[type](args[0])
}
else if (length === 2) {
console[type](args[0], args[1])
}
else if (length === 3) {
console[type](args[0], args[1], args[2])
}
else {
console[type](args.join(' '))
}
}
})(seajs._util)
/**
* Path utilities
*/
;(function(util, config, global) {
var DIRNAME_RE = /.*(?=\/.*$)/
var MULTIPLE_SLASH_RE = /([^:\/])\/\/+/g
var FILE_EXT_RE = /\.(?:css|js)$/
var ROOT_RE = /^(.*?\w)(?:\/|$)/
/**
* Extracts the directory portion of a path.
* dirname('a/b/c.js') ==> 'a/b/'
* dirname('d.js') ==> './'
* @see http://jsperf.com/regex-vs-split/2
*/
function dirname(path) {
var s = path.match(DIRNAME_RE)
return (s ? s[0] : '.') + '/'
}
/**
* Canonicalizes a path.
* realpath('./a//b/../c') ==> 'a/c'
*/
function realpath(path) {
MULTIPLE_SLASH_RE.lastIndex = 0
// 'file:///a//b/c' ==> 'file:///a/b/c'
// 'http://a//b/c' ==> 'http://a/b/c'
if (MULTIPLE_SLASH_RE.test(path)) {
path = path.replace(MULTIPLE_SLASH_RE, '$1\/')
}
// 'a/b/c', just return.
if (path.indexOf('.') === -1) {
return path
}
var original = path.split('/')
var ret = [], part
for (var i = 0; i < original.length; i++) {
part = original[i]
if (part === '..') {
if (ret.length === 0) {
throw new Error('The path is invalid: ' + path)
}
ret.pop()
}
else if (part !== '.') {
ret.push(part)
}
}
return ret.join('/')
}
/**
* Normalizes an uri.
*/
function normalize(uri) {
uri = realpath(uri)
var lastChar = uri.charAt(uri.length - 1)
if (lastChar === '/') {
return uri
}
// Adds the default '.js' extension except that the uri ends with #.
// ref: http://jsperf.com/get-the-last-character
if (lastChar === '#') {
uri = uri.slice(0, -1)
}
else if (uri.indexOf('?') === -1 && !FILE_EXT_RE.test(uri)) {
uri += '.js'
}
// Remove ':80/' for bug in IE
if (uri.indexOf(':80/') > 0) {
uri = uri.replace(':80/', '/')
}
return uri
}
/**
* Parses alias in the module id. Only parse the first part.
*/
function parseAlias(id) {
// #xxx means xxx is already alias-parsed.
if (id.charAt(0) === '#') {
return id.substring(1)
}
var alias = config.alias
// Only top-level id needs to parse alias.
if (alias && isTopLevel(id)) {
var parts = id.split('/')
var first = parts[0]
if (alias.hasOwnProperty(first)) {
parts[0] = alias[first]
id = parts.join('/')
}
}
return id
}
var mapCache = {}
/**
* Converts the uri according to the map rules.
*/
function parseMap(uri) {
// map: [[match, replace], ...]
var map = config.map || []
if (!map.length) return uri
var ret = uri
// Apply all matched rules in sequence.
for (var i = 0; i < map.length; i++) {
var rule = map[i]
if (util.isArray(rule) && rule.length === 2) {
var m = rule[0]
if (util.isString(m) && ret.indexOf(m) > -1 ||
util.isRegExp(m) && m.test(ret)) {
ret = ret.replace(m, rule[1])
}
}
else if (util.isFunction(rule)) {
ret = rule(ret)
}
}
if (!isAbsolute(ret)) {
ret = realpath(dirname(pageUri) + ret)
}
if (ret !== uri) {
mapCache[ret] = uri
}
return ret
}
/**
* Gets the original uri.
*/
function unParseMap(uri) {
return mapCache[uri] || uri
}
/**
* Converts id to uri.
*/
function id2Uri(id, refUri) {
if (!id) return ''
id = parseAlias(id)
refUri || (refUri = pageUri)
var ret
// absolute id
if (isAbsolute(id)) {
ret = id
}
// relative id
else if (isRelative(id)) {
// Converts './a' to 'a', to avoid unnecessary loop in realpath.
if (id.indexOf('./') === 0) {
id = id.substring(2)
}
ret = dirname(refUri) + id
}
// root id
else if (isRoot(id)) {
ret = refUri.match(ROOT_RE)[1] + id
}
// top-level id
else {
ret = config.base + '/' + id
}
return normalize(ret)
}
function isAbsolute(id) {
return id.indexOf('://') > 0 || id.indexOf('//') === 0
}
function isRelative(id) {
return id.indexOf('./') === 0 || id.indexOf('../') === 0
}
function isRoot(id) {
return id.charAt(0) === '/' && id.charAt(1) !== '/'
}
function isTopLevel(id) {
var c = id.charAt(0)
return id.indexOf('://') === -1 && c !== '.' && c !== '/'
}
/**
* Normalizes pathname t
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于Java BS架构的二手车销售系统源码.zip (1782个子文件)
BaseDaoImpl.class 16KB
BaseDaoImpl.class 16KB
DateUtils.class 8KB
DateUtils.class 8KB
CarAction.class 7KB
CarAction.class 6KB
BidAction.class 6KB
CustomerAction.class 5KB
BidAction.class 5KB
AdminAction.class 4KB
CarCategoryAction.class 4KB
CarCategoryAction.class 4KB
JsonUtil.class 3KB
JsonUtil.class 3KB
AdminDaoImpl.class 3KB
CarDaoImpl.class 3KB
SystemContextFilter.class 2KB
SystemContextFilter.class 2KB
BaseServiceImpl.class 2KB
BaseServiceImpl.class 2KB
Car.class 2KB
Car.class 2KB
Order.class 2KB
CustomerAction.class 2KB
OrderAction.class 2KB
UUIDUtils.class 2KB
UUIDUtils.class 2KB
SystemContext.class 2KB
SystemContext.class 2KB
Order.class 2KB
Bid.class 2KB
Bid.class 2KB
OrderDaoImpl.class 2KB
OrderAction.class 2KB
TimestampMorpher.class 2KB
TimestampMorpher.class 2KB
CustomerDaoImpl.class 2KB
CarServiceImpl.class 2KB
BidDaoImpl.class 2KB
OrderDaoImpl.class 2KB
CarDaoImpl.class 2KB
Customer.class 2KB
Customer.class 2KB
CustomerDaoImpl.class 2KB
Admin.class 2KB
Admin.class 2KB
CarCategoryDaoImpl.class 2KB
CarCategoryDaoImpl.class 2KB
AdminServiceImpl.class 2KB
Pager.class 1KB
Pager.class 1KB
LoginAction.class 1KB
CarCustomer.class 1KB
CarCustomer.class 1KB
CarCategory.class 1KB
CarCategory.class 1KB
BidDaoImpl.class 1KB
MyStrutsFilter.class 1KB
MyStrutsFilter.class 1KB
OrderServiceImpl.class 1KB
CarCategoryServiceImpl.class 1KB
CarCategoryServiceImpl.class 1KB
LoginAction.class 1KB
CustomerServiceImpl.class 1KB
CustomerServiceImpl.class 1KB
DateJsonValueProcessor.class 1KB
DateJsonValueProcessor.class 1KB
OrderServiceImpl.class 1KB
CarServiceImpl.class 1KB
BidServiceImpl.class 1KB
BidServiceImpl.class 1020B
CarDao.class 884B
CarCustomerServiceImpl.class 797B
CarCustomerServiceImpl.class 797B
BaseDao.class 737B
BaseDao.class 737B
BaseService.class 693B
BaseService.class 693B
CarService.class 633B
CarCustomerDaoImpl.class 623B
CarCustomerDaoImpl.class 623B
AdminService.class 525B
AdminDao.class 507B
TimeSetUtil.class 478B
TimeSetUtil.class 478B
CarCategoryService.class 466B
CarCategoryService.class 466B
OrderService.class 459B
CarCategoryDao.class 448B
CarCategoryDao.class 448B
CustomerService.class 448B
OrderDao.class 441B
OrderService.class 430B
CustomerDao.class 430B
CarService.class 418B
OrderDao.class 412B
BidService.class 411B
BidService.class 408B
CarDao.class 400B
BidDao.class 393B
共 1782 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
老了敲不动了
- 粉丝: 83
- 资源: 4289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JSP基于网络超市商品销售管理系统的设计与实现(源代码+lw).zip
- JSP基于WEB网上论坛设计与实现(源代码+lw+开题报告+答辩PPT+外文翻译).zip
- JSP基于WEB的图书馆借阅系统的设计与实现(源代码+lw).zip
- 数电实验三:74LS151逻辑功能测试、74LS153逻辑功能测试、74LS153全加器、三输入多数表决电路
- 基于python知识图谱抖音舆情数据可视化分析系统python + flask web + mysql + 知识图谱
- jsp基于Web的可维护的数据库浏览器(源代码+lw+答辩PPT).zip
- jsp基于WEB的考务管理系统的设计与实现(源代码+lw).zip
- jsp基于WEB操作系统课程教学网站的设计与实现(源代码+lw).zip
- 数据库课程实践在IDEA上使用java语言采用JDBC技术连接Mysql数据库,实现购物系统.zip
- JSP基于SSH2的网络在线问答系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功