- 浏览: 82988 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (89)
- java (37)
- drools (1)
- web (10)
- 数据库 (4)
- Spring (1)
- Hibernate (1)
- Struts (0)
- Struts2 (0)
- SQL (1)
- Python (1)
- Flex (6)
- 离线支付 (1)
- 搜索,检索 (1)
- junit (1)
- Velocity (1)
- ext (1)
- flush (0)
- js (3)
- winp7 (0)
- pdf (3)
- 管理 (5)
- script (1)
- test (1)
- Tomcat (1)
- 服务部署 (1)
- HTML (1)
- PDF加水印 (1)
- 随机数 (0)
- Eclipse (5)
- OSGI (4)
- bndtools (4)
- felix (4)
- OSGIWeb (1)
最新评论
-
zly168:
很牛
日期控件(时-分-秒) -
aij:
[color=cyan][/color][size=xx-sm ...
web Service -
ywxowen999:
这位兄弟,不知道你研究过Concurrent.Thread的源 ...
js 线程 -
BigBird2012:
你好,你能不能将你的源码给我发一份呢,我参考一下,谢谢!
29 ...
JBPM工作流
在下面 [p]块中,发现如果Map 不用两个就一个就报java.util.ConcurrentModificationException
记录下来
记录下来
package com.xyj.server.imp; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import com.xyj.business.CodeBo; import com.xyj.business.DataBo; import com.xyj.business.FileDicBo; import com.xyj.business.FileTypeBo; import com.xyj.business.PrintBo; import com.xyj.server.PrintService; import com.xyj.util.BusinessException; import com.xyj.util.CacheManage; import com.xyj.util.Constants; import com.xyj.util.ServerException; import com.xyj.util.StringUtil; import com.xyj.vo.Code; import com.xyj.vo.Data; import com.xyj.vo.FileDic; import com.xyj.vo.FileType; import com.xyj.vo.Print; import common.Logger; /** * 打印 * @author 易小斌 * */ public class PrintServerImp implements PrintService{ private PrintBo printBo; private FileTypeBo fileTypeBo; private FileDicBo fileDicBo; private DataBo dataBo; private CacheManage cacheManage; private CodeBo codeBo; private Logger logger =Logger.getLogger(getClass()); public List<Print> queryPrintModels(Print model) throws ServerException { try { return printBo.queryPrintModels(model); } catch (BusinessException e) { throw new ServerException(e); } } public PrintBo getPrintBo() { return printBo; } public void setPrintBo(PrintBo printBo) { this.printBo = printBo; } public void uploadPrintModel(Map param) throws ServerException { String path = (String) param.get(Constants.PARAM_PATH); String path1 = (String) param.get(Constants.PARAM_PATH); String filedata = (String) param.get(Constants.PARAM_FILE_DATA); String fileName = (String) param.get(Constants.PARAM_FILE_NAME); String id= (String) param.get(Constants.PARAM_ID); File file = new File(filedata); String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); String ext=fileName.substring(fileName.lastIndexOf(".")); String saveName=System.currentTimeMillis()+""+ext; String fileName1 = fileName.substring(0,fileName.lastIndexOf(".")); if(!new File(path).exists()){ new File(path).mkdir(); } path+=File.separator+date; path1+=File.separator+date; if(!new File(path).exists()){ new File(path).mkdir(); } byte[] by = new byte[1024*8]; int len=0; try { FileOutputStream out = new FileOutputStream(path+File.separator+saveName); FileInputStream in = new FileInputStream(file); while((len=in.read(by))>=0){ out.write(by,0,len); } in.close(); out.flush(); out.close(); } catch (Exception e) { throw new ServerException(e); } file.delete(); param.put("URL",path1); param.put("MODELNAME",fileName1); param.put("SAVENAME",saveName); } public void updatePrint(Print print) throws ServerException { try { printBo.updatePrint(print); } catch (BusinessException e) { throw new ServerException(e); } } public List printData(Map<String, String> param) throws ServerException { //得到参数,filetypeId,tableFlag, String fileTypeId = param.get(Constants.PARAM_FILE_TYPE_ID); String tableFlag = param.get(Constants.PARAM_TABLE_FLAG); String oldTableFlag=param.get(Constants.PARAM_TABLE_FLAG); String DATATABLEFLAG=param.get("DATATABLEFLAG"); //数据TableFlag if("AJ,JN".equals(tableFlag)){ //如果是AJ+JN==JN tableFlag="JN"; } //得到参数 PageInfo String pageInfo = param.get(Constants.PARAM_PAGE_INFO); //查询 Print String select= param.get("id"); Print print = new Print(); print.setId(select); print.setStatus(Constants.STATUS_TRUE); List<Print> prints = this.queryPrintModels(print); print =prints.get(0); Set<String> existsAddColumns = new HashSet<String>(); //获得 where 条件 String where=""; try { if(Constants.TABLE_FLAG_JN.equals(tableFlag)){ //是卷内 param.put("append","a."); param.put(Constants.PARAM_TABLE_FLAG,Constants.TABLE_FLAG_AJ); param.put("CURRTABLEFLAG",DATATABLEFLAG); String ajWHere=fileDicBo.toChSqlByPageInfo(pageInfo, param); param.put("append","j."); param.put(Constants.PARAM_TABLE_FLAG,Constants.TABLE_FLAG_JN); String jnWHere=fileDicBo.toChSqlByPageInfo(pageInfo, param); where=ajWHere+jnWHere; }else{ param.put("CURRTABLEFLAG",DATATABLEFLAG); where=fileDicBo.toChSqlByPageInfo(pageInfo, param); } } catch (BusinessException e1) { throw new ServerException(e1); } //得到门类对应的字段 FileDic fileDic = new FileDic(); fileDic.setFileTypeId(fileTypeId); fileDic.setTableFlag(tableFlag); fileDic.setStatus(Constants.STATUS_TRUE); fileDic.setOrderByString("columnOrder"); List<FileDic> dataSourceList= new ArrayList<FileDic>(); try { List<FileDic> fileDics = fileDicBo.queryFileDic(fileDic); //拼接列。 Map<String,String> columnMap = new HashMap<String, String>(); //列Map <columnChName,columnName> String tableName =fileTypeBo.getTableName(fileTypeId, tableFlag); StringBuffer fieldBuss = new StringBuffer(""); //字段 id,ninadu Map<String,String> colMap = new HashMap<String, String>(); //<columnName,columnChName> for (Iterator iterator = fileDics.iterator(); iterator.hasNext();) { fileDic = (FileDic) iterator.next(); if(fieldBuss.length()>0){ fieldBuss.append(","); } if(Constants.TABLE_FLAG_JN.equals(tableFlag)){ //是卷内 fieldBuss.append("j."); existsAddColumns.add("j."+fileDic.getColumnName()); }else{ existsAddColumns.add(fileDic.getColumnName()); } fieldBuss.append(fileDic.getColumnName()); colMap.put(StringUtil.getNotNullString(fileDic.getColumnName()).toUpperCase(),fileDic.getColumnChName()); if(Constants.TABLE_FLAG_JN.equals(tableFlag)){ //是卷内 columnMap.put(fileDic.getColumnChName(),"j."+fileDic.getColumnName()); }else{ columnMap.put(fileDic.getColumnChName(),fileDic.getColumnName()); } if(!Constants.FILE_DIC_DATA_TYPE_DATE.equals(fileDic.getColDataInputType()) && !Constants.FILE_DIC_DATA_TYPE_REMARK.equals(fileDic.getColDataInputType()) && (Constants.FILE_DIC_INPUT_TYPE_select.equals(fileDic.getInputType()) || Constants.FILE_DIC_INPUT_TYPE_inSe.equals(fileDic.getInputType())) && !StringUtil.isEmptyString(fileDic.getDataSource())){ //如是日期和备注类型。 且是下拉框的 且DataSource不是空 dataSourceList.add(fileDic); } } //是卷内 if(Constants.TABLE_FLAG_JN.equals(tableFlag)){ fileDic= new FileDic(); fileDic.setFileTypeId(fileTypeId); fileDic.setTableFlag(Constants.TABLE_FLAG_AJ); fileDic.setStatus(Constants.STATUS_TRUE); fileDic.setOrderByString("columnOrder"); List<FileDic> fileDics2 = fileDicBo.queryFileDic(fileDic); for (Iterator iterator = fileDics2.iterator(); iterator.hasNext();) { fileDic = (FileDic) iterator.next(); columnMap.put(fileDic.getColumnChName(),"a."+fileDic.getColumnName()); colMap.put(StringUtil.getNotNullString(fileDic.getColumnName()).toUpperCase(),fileDic.getColumnChName()); if("AJ,JN".equals(oldTableFlag)){ if(fieldBuss.length()>0){ fieldBuss.append(","); } fieldBuss.append("a."+fileDic.getColumnName()); existsAddColumns.add("a."+fileDic.getColumnName()); if(!Constants.FILE_DIC_DATA_TYPE_DATE.equals(fileDic.getColDataInputType()) && !Constants.FILE_DIC_DATA_TYPE_REMARK.equals(fileDic.getColDataInputType()) && (Constants.FILE_DIC_INPUT_TYPE_select.equals(fileDic.getInputType()) || Constants.FILE_DIC_INPUT_TYPE_inSe.equals(fileDic.getInputType())) && !StringUtil.isEmptyString(fileDic.getDataSource())){ //如是日期和备注类型。 且是下拉框的 且DataSource不是空 dataSourceList.add(fileDic); } } } //如果是卷内且 是否分组 if(Constants.STATUS_TRUE.equals(print.getGroupBy())){ String[] fileds=print.getGroupField().split(","); for (int j = 0; j < fileds.length; j++) { String string=columnMap.get(fileds[j]); if(string!=null){ if(!existsAddColumns.contains(string)){ if(fieldBuss.length()>0){ fieldBuss.append(","); } fieldBuss.append(string); existsAddColumns.add(string); } } } } } //循环获得列 排序 StringBuffer order =new StringBuffer(""); if(!StringUtil.isEmptyString(print.getOrderString())){ String[] arr =print.getOrderString().split(","); for (int i = 0; i < arr.length; i++) { String[] ar=arr[i].split("-"); if(ar.length>=0){ boolean bool=false; String str=StringUtil.getNotNullString(columnMap.get(ar[0])); if(str.length()>0){ bool=true; if(order.length()>0){ order.append(","); } } if(bool && !existsAddColumns.contains(str)){ existsAddColumns.add(str); if(fieldBuss.length()>0){ fieldBuss.append(","); } fieldBuss.append(str); } if(bool && ar.length>2){ if("1".equals(ar[2])){ order.append(" "+printBo.getDbNumberFunction(str)); }else{ order.append(" "+str); } order.append(" "+ar[1]); }else if(bool && ar.length>1){ order.append(" "+str); order.append(" "+ar[1]); } }else{ order.append(StringUtil.getNotNullString(columnMap.get(arr[i]))); } } } //生成 Data 对象,和 设置表 名, 条件 ,排序 Data data =new Data(); data.setColumns(fieldBuss.toString()); if(Constants.TABLE_FLAG_JN.equals(tableFlag)){ //是卷内 String ajTableName=fileTypeBo.getTableName(fileTypeId, Constants.TABLE_FLAG_AJ); data.setTableName(tableName+" j left join "+ajTableName+" a on j.AJID=a.id "); data.setWhere(where+StringUtil.getPageInfoSql("j.STATUS@@1@@2@_@a.STATUS@@1@@2@_@")); }else{ data.setTableName(tableName); data.setWhere(where+StringUtil.getPageInfoSql("STATUS@@1@@2@_@")); } data.setOrderString(order.toString()); //查询数据结果 List<Map<String,String>> maps = dataBo.queryNotPageDataList(data); //真正的返回数据List List result = new ArrayList (); //是否拆分行 Map<String,String[]> splitMap = new HashMap<String, String[]>(); //splitMap if(Constants.STATUS_TRUE.equals(print.getIsSplit())){ String splitString=StringUtil.getNotNullString(print.getSplitString()); String[] arr=splitString.split("@_@"); if(arr!=null){ for (int i = 0; i < arr.length; i++) { if(StringUtil.isEmptyString(arr[i])){ continue; } String[] ar=arr[i].split("@,@"); if(ar!=null && ar.length>1 && StringUtil.isNumeric(ar[1]) && !"0".equals(ar[1])){ splitMap.put(ar[0],ar); } } } } //end //不分组数据 if(!Constants.STATUS_TRUE.equals(print.getGroupBy())){ printNotGroup(dataSourceList, colMap, maps, result,columnMap,print,splitMap,fileTypeId); }else{ //分组数据 printGroup(print, dataSourceList, columnMap, colMap, maps, result,splitMap); } return result; } catch (BusinessException e) { throw new ServerException("printGDWJML()",e); } } /*不分组*/ private void printNotGroup(List<FileDic> dataSourceList,Map<String, String> colMap, List<Map<String, String>> maps, List result,Map<String,String> columnMap,Print print,Map<String,String[]> splitMap,String fileTypeId) throws ServerException { FileType fileType=null; try { fileType=fileTypeBo.queryFileTypeById(fileTypeId); } catch (BusinessException e1) { throw new ServerException(e1); } Map<String,Map<String, Code>> allCodeMap = new HashMap<String, Map<String,Code>>(); //全部AllCode int index=0; int dataSourceSize=dataSourceList.size(); for (Iterator iterator = maps.iterator(); iterator.hasNext();) { index++; Map<String,String> map = (Map<String, String>) iterator.next(); Map<String,String> map2 = new HashMap<String, String>(); map2.put("序号_1",index+""); map2.put("门类名称",fileType.getChname()); for (Iterator iterator2 = map.keySet().iterator(); iterator2 .hasNext();) { String key = (String) iterator2.next(); boolean start=false; if(dataSourceSize>0 && !start){ start=true; for (Iterator iterator3 = dataSourceList.iterator(); iterator3.hasNext();) { FileDic dataSourceFileDic = (FileDic) iterator3.next(); if(key.equals(dataSourceFileDic.getColumnName())){ Map<String, Code> codeMap=allCodeMap.get(dataSourceFileDic.getDataSource()); try { if(codeMap==null){ codeMap = codeBo.queryCodeValMapByType(dataSourceFileDic.getDataSource()); allCodeMap.put(dataSourceFileDic.getDataSource(),codeMap); } } catch (BusinessException e) { throw new ServerException(e); } String value=map.get(key); if(codeMap!=null && codeMap.get(value)!=null && Constants.STATUS_TRUE.equals(codeMap.get(value).getStatus())){ map2.put(colMap.get(key)+"_1",value); map.put(key,codeMap.get(value).getCodeKey()); } } } } String value=map.get(key); map2.put(colMap.get(key),value); } result.add(map2); } } /*分组*/ private void printGroup(Print print, List<FileDic> dataSourceList,Map<String, String> columnMap, Map<String, String> colMap,List<Map<String, String>> maps, List result,Map<String,String[]> splitMap) throws ServerException { String[] fileds=print.getGroupField().split(","); List<String> groupFileDicList = new ArrayList<String>(); for (int j = 0; j < fileds.length; j++) { String string=columnMap.get(fileds[j]); if(string!=null){ groupFileDicList.add(string); } } List<String> keyList = new ArrayList<String>(); Map<String,List<Map<String,String>>> dataMap = new HashMap<String, List<Map<String,String>>>(); for (Iterator iterator = maps.iterator(); iterator.hasNext();) { Map<String,String> map = (Map<String, String>) iterator.next(); /*Map<String,String> map2 = new HashMap<String, String>(); for (Iterator iterator2 = map.keySet().iterator(); iterator2.hasNext();) { String key = (String) iterator2.next(); map2.put(colMap.get(key),map.get(key)); } result.add(map2);*/ StringBuffer strKey=new StringBuffer(""); for (Iterator iterator2 = groupFileDicList.iterator(); iterator2.hasNext();) { String groupFieldStr = (String) iterator2.next(); if(groupFieldStr.indexOf(".")>=0){ groupFieldStr=groupFieldStr.substring(groupFieldStr.indexOf(".")+1); } String value=StringUtil.getNotNullString(map.get(groupFieldStr)); if(!StringUtil.isEmptyString(value)){ strKey.append(value); } } List<Map<String,String>> rowList=dataMap.get(strKey.toString()); if(rowList==null){ rowList =new ArrayList<Map<String,String>>(); dataMap.put(strKey.toString(),rowList); } if(!keyList.contains(strKey.toString())){ keyList.add(strKey.toString()); } rowList.add(map); } int index=0; int indexId=0; boolean isSplitNext=splitMap.size()>0?true:false; //是否有下一个 拆分行 List<Map<String,String>> newAddList = null; //拆分行 List if(isSplitNext){ newAddList = new ArrayList<Map<String,String>>(); } Map<String,Map<String, Code>> allCodeMap = new HashMap<String, Map<String,Code>>(); //全部CODEMAP for (Iterator iterator = keyList.iterator(); iterator.hasNext();) { //Key s String key = (String) iterator.next(); index=0; indexId=0; List<Map<String,String>> listMap = dataMap.get(key); //得到每一组数据 int groupIndex=0; //每组的下标 Map<String,String> groupTop1Map =null; //分组的第一个Map<String,String> int dataSourceSize=dataSourceList.size(); for (Iterator iterator2 = listMap.iterator(); iterator2.hasNext();) { // get(key) Map<String, String> map = (Map<String, String>) iterator2.next(); // old Row Map<String,String> map2 = new HashMap<String, String>(); //new Row groupIndex++; if(groupIndex==1){ //如果是分组的第一个就把这个句本给保存起来。 groupTop1Map=map2; } map2.put("序号_1",(indexId+1)+""); for (Iterator iterator4 = map.keySet().iterator(); iterator4.hasNext();) { // for TD String kyes = (String) iterator4.next(); boolean start=false; if(dataSourceSize>0 && !start){ start=true; for (Iterator iterator3 = dataSourceList.iterator(); iterator3.hasNext();) { FileDic dataSourceFileDic = (FileDic) iterator3.next(); if(kyes.equals(dataSourceFileDic.getColumnName())){ Map<String, Code> codeMap=allCodeMap.get(dataSourceFileDic.getDataSource()); try { if(codeMap==null){ codeMap = codeBo.queryCodeValMapByType(dataSourceFileDic.getDataSource()); allCodeMap.put(dataSourceFileDic.getDataSource(),codeMap); } } catch (BusinessException e) { throw new ServerException(e); } String value=map.get(kyes); if(codeMap!=null && codeMap.get(value)!=null && Constants.STATUS_TRUE.equals(codeMap.get(value).getStatus())){ String abc=codeMap.get(value).getCodeKey(); map2.put(colMap.get(kyes)+"_1",abc); map.put(kyes,abc); } } } } String value=map.get(kyes); map2.put(colMap.get(kyes),value); } result.add(map2); if(isSplitNext){ //拆分行 split row List<Map<String,String>> tempResultList = new ArrayList<Map<String,String>>(); //table 装行 for (Iterator iterator3 = splitMap.keySet().iterator(); iterator3.hasNext();) { try { String splitKey = (String) iterator3.next(); String[] paramArr=splitMap.get(splitKey); int leng=Integer.parseInt(paramArr[1]); String val=StringUtil.getNotNullString(map2.get(splitKey)); if(paramArr.length==3 && val.length()>0){ //判断是否有拆分的字符串 比如[ int cuIndex=val.indexOf(paramArr[2]); if(cuIndex>0){ //>0 String temp=val.substring(0,cuIndex); StringBuffer buff= new StringBuffer(temp); int tempLength=StringUtil.getCodeLen(temp); for (int i = tempLength; i < leng; i++) { buff.append(" "); } buff.append(val.substring(cuIndex)); val=buff.toString(); } } if(StringUtil.getCodeLen(val)>leng){ String val1=StringUtil.subStringCode(val,0,leng); //原来数据 String newSTr=StringUtil.subStringCode(val,leng+1); //后面的数据 int newLen=StringUtil.getCodeLen(newSTr); int size=newLen/leng; //后面的数据的长度 if(newLen%leng!=0){ size++; } if(tempResultList.size()<size){ //判定有几行 就添加几个 for (int i = tempResultList.size(); i <size; i++) { Map<String,String> tempMap=new HashMap<String, String>(); tempMap.put("序号_2",""+(index+i+1)); tempResultList.add(tempMap); } } map2.put(splitKey,val1); //重新赋值 int start=0; int end=0; for (int i = 0; i <size; i++) { Map<String,String> tempDataMap=null; if(tempResultList.size()>i){ tempDataMap=tempResultList.get(i); } if(tempDataMap!=null){ end+=leng; if(end>newLen){ end=newLen; } String tempVal=StringUtil.subStringCode(newSTr,start,end); tempDataMap.put(splitKey,tempVal); //赋值 start=end; } } } } catch (Exception e) { e.printStackTrace(); throw new ServerException(e); } } if(tempResultList.size()>0){ //判定》0 就添加 result.addAll(tempResultList); index+=tempResultList.size(); newAddList.addAll(tempResultList); } } index++; indexId++; //给每一条增加分页 int pageSize=Integer.parseInt(print.getPageSize()); int pageCont=listMap.size()/pageSize; if(listMap.size()%pageSize!=0){ pageCont++; } map2.put("总页数_1",pageCont+""); pageCont=index/pageSize; if(index%pageSize!=0){ pageCont++; } map2.put("当前页数_1",pageCont+""); //end } if(Constants.STATUS_TRUE.equals(print.getIsjoinTop1())){ //分组数据最后一条是否连接第一个条数据 [p]int len=result.size(); if(len>0 && groupTop1Map!=null){ Map<String,String> map = (Map<String, String>) result.get(len-1); //得到最后一个 Map<String,String> tempMap=new HashMap<String,String>(groupTop1Map); Iterator iterator2 = tempMap.keySet().iterator(); for (; iterator2.hasNext();) { String top1Key = (String) iterator2.next(); map.put(top1Key+"_TOP1",groupTop1Map.get(top1Key)); } } [/p] } //给拆分行的添加分页 if(isSplitNext){ int maxSize=listMap.size()+newAddList.size(); int pageSize=Integer.parseInt(print.getPageSize()); for (Iterator iterator11 = newAddList.iterator(); iterator.hasNext();) { Map<String, String> map = (Map<String, String>) iterator11.next(); int tempIndex=Integer.parseInt(map.get("序号_2")); int pageCont=maxSize/pageSize; if(maxSize%pageSize!=0){ pageCont++; } map.put("总页数_1",pageCont+""); pageCont=tempIndex/pageSize; if(tempIndex%pageSize!=0){ pageCont++; } map.put("当前页数_1",pageCont+""); } } //给不足的行添加空格。 int pageSize=Integer.parseInt(print.getPageSize()); int pageCont=index/pageSize; if(index%pageSize!=0){ pageCont++; } for(int i=index;i<(pageCont*pageSize);i++){ Map map2= new HashMap(); map2.put("总页数_1",pageCont+""); result.add(map2); pageCont=i/pageSize; if(i%pageSize!=0){ pageCont++; } map2.put("当前页数_1",pageCont+""); } } } public FileTypeBo getFileTypeBo() { return fileTypeBo; } public void setFileTypeBo(FileTypeBo fileTypeBo) { this.fileTypeBo = fileTypeBo; } public FileDicBo getFileDicBo() { return fileDicBo; } public void setFileDicBo(FileDicBo fileDicBo) { this.fileDicBo = fileDicBo; } public DataBo getDataBo() { return dataBo; } public void setDataBo(DataBo dataBo) { this.dataBo = dataBo; } public void insertPrint(Print print) throws ServerException { try { printBo.insertPrint(print); } catch (BusinessException e) { throw new ServerException(e); } } public CacheManage getCacheManage() { return cacheManage; } public void setCacheManage(CacheManage cacheManage) { this.cacheManage = cacheManage; } public String getDbNumberFunction(String str) throws ServerException { try { return printBo.getDbNumberFunction(str); } catch (BusinessException e) { throw new ServerException(e); } } public CodeBo getCodeBo() { return codeBo; } public void setCodeBo(CodeBo codeBo) { this.codeBo = codeBo; } public Logger getLogger() { return logger; } public void setLogger(Logger logger) { this.logger = logger; } public String getDb() throws ServerException { try { return printBo.getDb(); } catch (BusinessException e) { throw new ServerException(e); } } }
发表评论
-
架构sdfsdfsdfdsf
2012-04-02 07:17 0sd架构架构 -
jquery 拖拽
2011-08-22 11:31 665jquery 拖拽 -
jquery easyui1.2.3zip
2011-04-24 23:47 780jquery easyui1.2.3zip -
日期控件(时-分-秒)
2011-04-22 19:25 912日期控件(时-分-秒) -
jquery插件thickbox遮罩层的的使用
2011-04-22 19:24 765jquery插件thickbox遮罩层的的使用 -
FCK编辑器。
2011-04-16 15:03 753FCK编辑器。 -
web Service
2011-03-11 21:04 1349Spring 集成 Web Service http://ca ... -
加速网页
2011-03-01 13:00 948http://liudaoru.iteye.com/categ ... -
google gears
2011-03-01 12:45 658http://baike.baidu.com/view/103 ... -
HTA
2011-03-01 12:22 873[url]http://cache.baidu.com/c?m ...
相关推荐
Java.util.ConcurrentModificationException 异常问题详解 ...ConcurrentModificationException 异常是 Java 集合框架中的一个重要概念,了解这个异常可以帮助我们更好地使用 Java 集合框架,避免一些常见的错误。
java.util.ConcurrentModificationException 解决方法 在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。 则使用会报以下异常: Java.util....
### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging...
- **`java.sql.Date`**:这是一个专门用于数据库操作的日期类,继承自`java.util.Date`。它主要用于与数据库交互,并且只包含了日期部分(年、月、日),不包含时间部分(时、分、秒)。当我们将日期对象插入到...
从继承关系上来看,`java.sql.Date` 是从 `java.util.Date` 继承而来,这意味着 `java.sql.Date` 实际上就是 `java.util.Date` 的一个子类。这种设计使得 `java.sql.Date` 自然地拥有 `java.util.Date` 的所有特性,...
### 使用 Java.util.zip 包实现数据压缩与解压 在计算机科学领域,数据压缩技术是一项重要的功能,它能够帮助减少存储空间的需求以及提高网络传输效率。本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java....
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
在Java编程语言中,`java.util.InputMismatchException`是一个常见的运行时异常,它通常发生在尝试从数据源(如控制台、文件或数据库)读取数据时,遇到的数据类型与预期的不匹配。在这个特定的场景中,问题出在主线...
在Java编程中,`java.util.ConcurrentModificationException` 是一个常见的运行时异常,通常发生在尝试并发修改集合时。这个异常的产生是由于集合类(如HashMap)的非线程安全特性,当你在一个线程中使用迭代器遍历...
"java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError" 是一个典型的错误提示,它表明在并发执行过程中遇到了内存不足的问题。下面我们将深入探讨这个问题的原因、影响以及如何解决。 内存溢出...
Java API中的`java.util.GregorianCalendar`类是用于处理日期和时间的重要工具,它提供了丰富的功能来满足各种日历操作需求。这个类是基于格里高利历(公历)的,是Java中最常用的日期时间类之一。在给定的压缩包...
Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构
标题“java.util.pdf”暗示这是一个关于Java编程语言中util包的文档。由于描述和标签均重复标题,我们可以推断文档重点在于解释和示例展示java.util包中的类与接口。java.util是Java的标准库中的一个包,主要用于...
当我们需要表示一个完整的日期和时间(例如2023-03-06 15:30:45.123),`java.util.Date`是首选。这个类提供了获取和设置日期、时间的方法,以及格式化日期的工具如`SimpleDateFormat`。 然而,`java.sql.Date`是...
Java.sql.Date与Java.util.Date的区别和转换 Java.util.Date和Java.sql.Date是Java中两种不同的日期和时间表示方式,虽然它们都是表示日期和时间,但是它们之间存在着一些重要的区别。 首先,Java.util.Date是Java...
在Java中,java.util.stream.Collectors.toMap()方法是一个非常实用的工具,它允许我们将流(Stream)中的元素收集到一个Map中。这个方法是Collectors类中的一个静态方法,它实现了Collector接口,用于在流的终止...