<%@page import="com.hanweb.common.util.NumberUtil"%> <%@page import="com.hanweb.common.util.SpringUtil"%> <%@page import="com.hanweb.common.util.StringUtil"%> <%@page import="com.hanweb.common.util.file.IFileUtil"%> <%@page import="com.hanweb.common.util.file.LocalFileUtil"%> <%@page import="com.hanweb.common.util.mvc.Script"%> <%@page import="com.hanweb.jcms.build.service.makepage.MakeArticleMultiPage"%> <%@page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="com.hanweb.jcms.build.service.makepage.ModalFile"%> <%@page import="com.hanweb.jcms.build.service.makeunit.CurrentPlace"%> <%@page import="com.hanweb.jcms.dao.InfoDimensionDAO"%> <%@page import="com.hanweb.jcms.plugins.search.service.Jcms_SearchBLF"%> <%@page import="com.hanweb.jcms.service.column.Jcms_CataloginfoBLF"%> <%@page import="com.hanweb.jcms.service.column.Jcms_FieldinfoBLF"%> <%@page import="com.hanweb.jcms.service.dimension.DimensionBLF"%> <%@page import="com.hanweb.jcms.service.modal.Parser"%> <%@page import="com.hanweb.jcms.service.plugin.Jcms_Extramodal_ModalBLF"%> <%@page import="com.hanweb.jcms.service.website.Jcms_WebinfomationBLF"%> <%@page import="com.hanweb.jcms.util.AccessUtil"%> <%@page import="com.hanweb.jcms.util.SafeUtil"%> <%@page import="com.hanweb.jcms.util.xml.XMLProperties2"%> <%@page import="org.apache.commons.logging.Log"%> <%@page import="org.apache.commons.logging.LogFactory"%> <%@page import="java.io.File"%> <%@page import="java.io.FileWriter"%> <%@page import="java.io.IOException"%> <%@page import="java.io.Writer"%> <%@page import="java.net.URLEncoder"%> <%@page import="java.text.ParseException"%> <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.*"%> <%@ page import="java.net.URLDecoder" %> <%@ page import="com.hanweb.common.BaseInfo" %> <%@ page import="com.hanweb.jcms.entity.*" %> <%@ page import="com.hanweb.jcms.service.info.Jcms_InforefBLF" %> <%@ page import="com.hanweb.jcms.util.HttpUrl" %> <%@page contentType="text/html;charset=UTF-8" %> <%@ include file="config.jsp" %> <%! public boolean canAccess(String strPara){ if(StringUtil.getString(strPara).length()<=0){ return true; } boolean bl = true; strPara = strPara.toLowerCase(); if (strPara.indexOf("%")>=0 || strPara.indexOf("|")>=0 || strPara.indexOf("+")>=0 || strPara.indexOf("&")>=0 || strPara.indexOf("alert")>=0 || strPara.indexOf("script")>=0 || strPara.indexOf("\"")>=0 || strPara.indexOf("\'")>=0 || strPara.indexOf("<")>=0 || strPara.indexOf("set")>=0 || strPara.indexOf("exec")>=0 || strPara.indexOf("delete")>=0 || strPara.indexOf("update")>=0 || strPara.indexOf("declare")>=0 || strPara.indexOf("cast")>=0){ bl = false; } return bl; } %> <% request.setCharacterEncoding("UTF-8"); Script script = Script.getInstanceOnly(); if(!AccessUtil.checkAccess(request)){ //阻止跨站点请求伪造 out.print(script.addScript("location.href='../../';").getScript()); return; } Log logger = LogFactory.getLog(getClass()); //得到要查询的字段名及字段类型 String strField = SafeUtil.getSafeString(request.getParameter("field")); //得到定制查询的类别 String currentPlace = SafeUtil.getSafeString(request.getParameter("currentplace")); //得到定制查询当前位置分隔符 String splitFlag = SafeUtil.getSafeString(request.getParameter("splitflag")); if(StringUtil.equals(splitFlag, "")){ splitFlag = ">>"; } //得到定制查询当前位置是否取全路径 int fullPath = NumberUtil.getInt(request.getParameter("fullpath"), 0); int unitId = NumberUtil.getInt(request.getParameter("unitId")); if( strField.length() <= 0 || !canAccess(strField)) { out.println("传入参数有误" ); return; } //要检索的栏目ID String CataID = SafeUtil.getSafeString(request.getParameter("i_columnid")); boolean isMeta = false; int nCataID = 0; Jcms_CataloginfoEntity cataEn = null; int styleid = 0 ; if(CataID.indexOf("_")!=-1){ String[] dataMe = StringUtil.split(CataID, "_"); styleid = NumberUtil.getInt(dataMe[1]); isMeta = true; }else{ nCataID = NumberUtil.getInt(CataID); isMeta = false; } if(!isMeta){ Jcms_CataloginfoBLF catablf = Jcms_CataloginfoBLF.getInstance().init(strAppID, strWebID); cataEn = catablf.getEntity(nCataID); } //获取当前位置 String columnLevel = "";//栏目层次结构 String strCurrentPlace = ""; CurrentPlace curPlaceObj = CurrentPlace.getInstance().init(strAppID); Vector vCol = new Vector(); if(!isMeta){ List catalogList = curPlaceObj.findCatalogList(nCataID); if(catalogList != null && catalogList.size() > 0){ for (Jcms_CataloginfoEntity catalog : catalogList) { columnLevel = columnLevel + splitFlag + "" + catalog.getVc_cataname() + ""; } } } if(currentPlace != null) { currentPlace = splitFlag + currentPlace; } if(fullPath == 1) { strCurrentPlace = columnLevel + currentPlace; } else { strCurrentPlace = currentPlace; } if(!isMeta){ if( cataEn == null ){ out.println("未指定要查询的栏目" ); return; } } int i_style = 0; String strTableName = ""; if(!isMeta){ i_style = cataEn.getI_style(); if(i_style!=3&&i_style!=6&&i_style!=7){ out.println("栏目类型错误!" ); } strTableName = cataEn.getVc_tablename(); if( strTableName.length() == 0 ) { out.println("表不存在!" ); return; } }else{ i_style = 7; strTableName = "jcms_" + styleid; } //String strKeyWord = Convert.getParameter( request,"vc_keyword" ); //当前页页码 int nCurrentPage = NumberUtil.getInt(request.getParameter("currpage"),1 ) ; //将字段转化成字段数组 String[] strArrField = StringUtil.getString(strField).split(",");; if( strArrField == null && strArrField.length <= 0 ) { logger.error("查询字段或字段类型不正确"); return; } //定义对象 Jcms_SearchBLF blf = Jcms_SearchBLF.getInstance().init(strAppID, NumberUtil.getInt(strWebID)); StringBuffer sbWhereSql = new StringBuffer(256); StringBuffer esWhereSql = new StringBuffer(256); StringBuffer sbHidden = new StringBuffer(256); String strListPath = "./index.jsp?unitId="+unitId+"&field="+strField+"&i_columnid="+CataID; // 路径 String strSysPath = application.getRealPath(""); String strPath = strSysPath+File.separator +"jcms_files"+File.separator +"jcms"+strAppID+File.separator +"web"+strWebID + File.separator +"site"+File.separator; String strModulePath = strPath +"module" + File.separator +"search" + File.separator; //要查询字段的配制文件 String strFieldPath = ""; if(!isMeta){ // 旧的模板,暂时兼容一下。 if(NumberUtil.getInt(unitId) == 0){ strFieldPath = strModulePath + "config/field_"+nCataID+".xml"; } else{ strFieldPath = strModulePath + "config/field_"+unitId+".xml"; } }else{ if(NumberUtil.getInt(unitId) == 0){ strFieldPath = strModulePath + "config/field_metadata_"+styleid+".xml"; } else{ strFieldPath = strModulePath + "config/field_metadata_"+unitId+".xml"; } } String strConfigPath = strModulePath + "config/config.xml"; // 得到配置文件中要查询的字段名 File file = new File( strFieldPath ); if( !file.exists() ){ out.println("配置文件不存在"); } String strWebType = StringUtil.getString( xmlFile.getContent("webtype",strConfigPath )); String strWeb_in_servername = StringUtil.getString(xmlFile.getContent("web_in_servername",strConfigPath )); String strCol = xmlFile.getContent("col", strFieldPath ); strCol= strCol==null?"1":strCol.trim() ; int ordertype = NumberUtil.getInt(xmlFile.getContent("ordertype", strFieldPath ),0); String strRow = xmlFile.getContent("row", strFieldPath ); strRow = strRow==null?"1":strRow.trim(); String strScript = xmlFile.getContent("script", strFieldPath ); strScript = strScript==null?"":strScript; //第页显示信息条数 int nPageCount = NumberUtil.getInt( strRow ) * NumberUtil.getInt( strCol ); /***************************************** 0、整数类型 5、动画类型 1、文字类型 6、附件类型 2、小数类型 7、视频类型 3、日期类型 8、长字段类型 4、图片类型 9、词典类型 ******************************************/ XMLProperties2 xmlparse = new XMLProperties2( file ); String[][] strNotesInfo = xmlparse.getNotesInfo("dahan.field","vc_fieldname,vc_name,vc_fieldtype"); String strSearch = ""; if(isMeta){ strSearch = ",i_cataid"; } for( int i=0; strNotesInfo != null && i0 && strEndValue.length() <=0 ) { sbWhereSql.append( " AND a."+strControlName+">= :strStartValue"); esWhereSql.append(" AND ").append(strControlName).append(" :[ ").append(strStartValue).append(" TO * ]"); map.put("strStartValue", strStartValue); } else if (strStartValue.length() > 0) { sbWhereSql.append( " AND a."+strControlName+">= :strStartValue" + " AND a." + strControlName +"<= :strEndValue" ); esWhereSql.append(" AND ").append(strControlName).append(" :[ ").append(strStartValue).append(" TO ").append(strEndValue).append(" ]"); map.put("strStartValue",strStartValue); map.put("strEndValue",strEndValue); } else if(strEndValue.length() > 0) { sbWhereSql.append( " AND a."+strControlName+"<= :strEndValue " ); esWhereSql.append(" AND ").append(strControlName).append(" :[ * TO ").append(strEndValue).append(" ]"); map.put("strEndValue",strEndValue); } sbHidden.append(""); strListPath += "&"+strControlName+"_start="+strStartValue; sbHidden.append(""); strListPath += "&"+strControlName+"_small="+strEndValue; } /******************************************** 日期类型的处理 *********************************************/ for( int i=0;vDateTime!=null&&i0 && strEndValue1 != null&&strEndValue1.length()>0){ try { date1 = sdf.parse(strStartValue1); date2 = sdf.parse(strEndValue1); if((date1.getTime()-date2.getTime())>0){ out.println("时间输入有误" ); return; } } catch (ParseException e) { e.printStackTrace(); } } if( !canAccess(strStartValue1) || !canAccess(strEndValue1)){ out.println("传入参数有误" ); return; } //开始时间为空,结束时间有值 if (StringUtil.getString(strStartValue1).length() <= 0 && StringUtil.getString(strEndValue1).length() > 0) { sbWhereSql.append(" AND a." + strControlName1 + " <= :strEndValue1" + i); esWhereSql.append(" AND ").append(strControlName1).append(" :[ * TO ").append(strEndValue1 + " 23:59:59").append(" ]"); map.put("strEndValue1" + i, strEndValue1 + " 23:59:59"); } //开始时间有值,结束时间有值 if (StringUtil.getString(strStartValue1).length() > 0 && StringUtil.getString(strEndValue1).length() > 0) { sbWhereSql.append(" AND a." + strControlName1 + " >= :strStartValue1" + i + " AND " + strControlName1 + "<= :strEndValue1" + i); esWhereSql.append(" AND ").append(strControlName1).append(" :[ ").append(strStartValue1 + " 00:00:00").append(" TO ").append(strEndValue1 + " 23:59:59").append(" ]"); map.put("strStartValue1" + i, strStartValue1 + " 00:00:00"); map.put("strEndValue1" + i, strEndValue1 + " 23:59:59"); } //开始时间有值,结束时间为空 if (StringUtil.getString(strStartValue1).length() > 0 && StringUtil.getString(strEndValue1).length() <= 0) { sbWhereSql.append(" AND a." + strControlName1 + " >= :strStartValue1" + i); esWhereSql.append(" AND ").append(strControlName1).append(" :[ ").append(strStartValue1 + " 00:00:00").append(" TO * ]"); map.put("strStartValue1" + i, strStartValue1 + " 00:00:00"); } sbHidden.append(""); strListPath += "&"+strControlName1+"_start="+strStartValue1; sbHidden.append(""); strListPath += "&"+strControlName1+"_end="+strEndValue1; } /*********************************************************** 文本类型(小字段)的处理 ***********************************************************/ for( int i=0;vVarchar!=null&&i传入参数有误" ); return; } if( StringUtil.getString(strControlValue2).length() >0 ) { strControlValue2 = StringUtil.replace(strControlValue2,"'","''"); if (type2.equals("0")) { sbWhereSql.append(" AND " + strControlName2 + " LIKE :strControlValue2" + i); esWhereSql.append(" AND " + strControlName2 + " :*"+strControlValue2+"*"); map.put("strControlValue2" + i, "%" + strControlValue2 + "%"); } else { if(BaseInfo.getDbType() == 1 && strControlName2.startsWith("field_")){ sbWhereSql.append(" AND dbms_lob.instr(" + strControlName2 + ",'"+strControlValue2.toLowerCase()+"',1,1) > 0"); }else { sbWhereSql.append(" AND " + strControlName2 + " = :strControlValue2" + i); } esWhereSql.append(" AND " + strControlName2 + " : "+strControlValue2); map.put("strControlValue2" + i, strControlValue2); } } sbHidden.append(""); if(StringUtil.isNotEmpty(strControlValue2)){ strListPath += "&" + strControlName2 + "=" + URLEncoder.encode(strControlValue2, "utf-8"); }else { strListPath += "&" + strControlName2 + "=" + strControlValue2; } } /************************************************************ 词典类型的处理 ************************************************************/ String strControlValue3 = ""; //控件名 String strControlName3 = ""; //控件值 String strStartValue3 = ""; //时间开始值 String strEndValue3 = ""; //时间结束值 for( int i=0;vDick!=null&&i传入参数有误" ); return; } if( strControlValue3.length() >0 && !strControlValue3.equals("0")) { sbWhereSql.append( " AND a."+strControlName3 + "=:strControlValue3"+i ); esWhereSql.append(" AND " + strControlName3 + " : "+strControlValue3); map.put("strControlValue3"+i, strControlValue3); } sbHidden.append(""); strListPath += "&"+strControlName3+"="+strControlValue3; } /******************************************* 图片类型处理 ********************************************/ String strControlValue4 = ""; //控件名 String strControlName4 = ""; //控件值 String strStartValue4 = ""; //时间开始值 String strEndValue4 = ""; //时间结束值 for( int i=0;vPic!=null && i传入参数有误" ); return; } if( strControlValue4.length() >0 ) { if (type4.equals("0")) { sbWhereSql.append(" AND " + strControlName4 + " LIKE :strControlValue4" + i); esWhereSql.append(" AND " + strControlName4 + " :*"+strControlValue4+"*"); map.put("strControlValue4" + i, "%" + strControlValue4 + "%"); } else { sbWhereSql.append(" AND " + strControlName4 + " = :strControlValue4" + i); esWhereSql.append(" AND " + strControlName4 + " : "+strControlValue4); map.put("strControlValue4" + i, strControlValue4); } } sbHidden.append(""); strListPath += "&"+strControlName4+"="+strControlValue4; } /******************************************* flash类型处理 ********************************************/ String strControlValue5 = ""; //控件名 String strControlName5 = ""; //控件值 String strStartValue5 = ""; //时间开始值 String strEndValue5 = ""; //时间结束值 for( int i=0;vFlash!=null && i传入参数有误" ); return; } if( strControlValue5.length() >0 ) { if (type5.equals("0")) { sbWhereSql.append(" AND " + strControlName5 + " LIKE :strControlValue5" + i); esWhereSql.append(" AND " + strControlName5 + " :*" + strControlValue5 + "*"); map.put("strControlValue5" + i, "%" + strControlValue5 + "%"); } else { sbWhereSql.append(" AND " + strControlName5 + " = :strControlValue5" + i); esWhereSql.append(" AND " + strControlName5 + " : " + strControlValue5); map.put("strControlValue5" + i, strControlValue5); } map.put("strControlValue5"+i, "%" + strControlValue5 + "%"); } sbHidden.append(""); strListPath += "&"+strControlName5+"="+strControlValue5; } /******************************************* media类型处理 ********************************************/ String strControlValue6 = ""; //控件名 String strControlName6 = ""; //控件值 String strStartValue6 = ""; //时间开始值 String strEndValue6 = ""; //时间结束值 for( int i=0;vMedia!=null && i传入参数有误" ); return; } if( strControlValue6.length() >0 ) { if (type6.equals("0")) { sbWhereSql.append(" AND " + strControlName6 + " LIKE :strControlValue6" + i); esWhereSql.append(" AND " + strControlName6 + " :*" + strControlValue6 + "*"); map.put("strControlValue6" + i, "%" + strControlValue6 + "%"); } else { sbWhereSql.append(" AND " + strControlName6 + " = :strControlValue6" + i); esWhereSql.append(" AND " + strControlName6 + " : " + strControlValue6); map.put("strControlValue6" + i, strControlValue6); } } sbHidden.append(""); strListPath += "&"+strControlName6+"="+strControlValue6; } /******************************************* attach类型处理 ********************************************/ String strControlValue7 = ""; //控件名 String strControlName7 = ""; //控件值 String strStartValue7 = ""; //时间开始值 String strEndValue7 = ""; //时间结束值 for( int i=0; vAttach!=null && i传入参数有误" ); return; } if( strControlValue7.length() >0 ) { if (type7.equals("0")) { sbWhereSql.append(" AND " + strControlName7 + " LIKE :strControlValue7" + i); esWhereSql.append(" AND " + strControlName7 + " :*" + strControlValue7 + "*"); map.put("strControlValue7" + i, "%" + strControlValue7 + "%"); } else { sbWhereSql.append(" AND " + strControlName7 + " = :strControlValue7" + i); esWhereSql.append(" AND " + strControlName7 + " : " + strControlValue7); map.put("strControlValue7" + i, strControlValue7); } map.put("strControlValue7"+i, "%" + strControlValue7 + "%"); } sbHidden.append(""); strListPath += "&"+strControlName7+"="+strControlValue7; } /******************************************* clob类型处理 ********************************************/ String strControlValue8 = ""; //控件名 String strControlName8 = ""; //控件值 String strStartValue8 = ""; //时间开始值 String strEndValue8 = ""; //时间结束值 for( int i=0;vClob!=null && i传入参数有误" ); return; } if( strControlValue8.length() >0 ) { if (type8.equals("0")) { sbWhereSql.append(" AND " + strControlName8 + " LIKE :strControlValue8" + i); esWhereSql.append(" AND " + strControlName8 + " :*" + strControlValue8 + "*"); map.put("strControlValue8" + i, "%" + strControlValue8 + "%"); } else { sbWhereSql.append(" AND " + strControlName8 + " = :strControlValue8" + i); esWhereSql.append(" AND " + strControlName8 + " : " + strControlValue8); map.put("strControlValue8" + i, strControlValue8); } } sbHidden.append(""); strListPath += "&"+strControlName8+"="+strControlValue8; } /*********************************************************** 枚举类型的处理 ***********************************************************/ String strControlValue9 = ""; //控件名 String strControlName9 = ""; //控件值 for( int i=0;vMeiju!=null&&i传入参数有误" ); return; } if( strControlValue9.length() >0 && !(StringUtil.getStringTrim(strControlValue9)).equals("请选择")) { sbWhereSql.append( " AND a."+strControlName9 + " = :strControlValue9"+i); esWhereSql.append(" AND " + strControlName9 + " : " + strControlValue9); map.put("strControlValue9"+i, strControlValue9); } sbHidden.append(""); strListPath += "&"+strControlName9+"="+URLEncoder.encode(strControlValue9, "UTF-8"); } /*********************************************************** 维度类型的处理 ***********************************************************/ String strControlValuea = ""; //控件名 String strControlNamea = ""; //控件值 ArrayList weiduFieldName = new ArrayList(); HashMap weiduMap = new HashMap(); for( int i=0;vWeidu!=null&&i传入参数有误" ); return; } if( strControlValuea.length() >0) { weiduFieldName.add(strControlNamea); weiduMap.put(strControlNamea, strControlValuea); } sbHidden.append(""); strListPath += "&"+strControlNamea+"="+strControlValuea; } //sbWhereSql.append( blf.getKeyWordSql( strKeyWord,nCataID ) ); if(!isMeta){ if (i_style == 7) { sbWhereSql.append(" AND a.i_cataid=:nCataID"); esWhereSql.append(" AND i_cataid : " + nCataID); map.put("nCataID", nCataID); } }else{ sbWhereSql.append( " AND a.i_webid=:nWebID" ); esWhereSql.append(" AND i_webid : " + strWebID); map.put("nWebID",NumberUtil.getInt(strWebID)); } List idList = blf.getTotalCountWeidu(strTableName , sbWhereSql.toString(),esWhereSql.toString(), map, weiduFieldName, weiduMap,ordertype,NumberUtil.getInt(strWebID)); // 信息的总条数 int nTotalCount = 0; if(idList !=null){ nTotalCount = idList.size(); } //得到总页数 int nTotalPage = nTotalCount / nPageCount; if( nTotalCount % nPageCount != 0 ) nTotalPage += 1; if( nCurrentPage > nTotalPage ) nCurrentPage = nTotalPage; if( nCurrentPage <=0 ){ nCurrentPage = 0; } int nMin = (nCurrentPage-1) * nPageCount; int nMax = nCurrentPage * nPageCount; if(nCurrentPage == 0){ nMin = 0; nMax= 1 * nPageCount; } if(nMax>idList.size()){ nMax = idList.size(); } ArrayList newidList = new ArrayList(); for(int i = nMin;i 0 ) { ModalFile mfile = ModalFile.getInstance().init( strAppID ); mfile.setWebID( NumberUtil.getInt(strWebID) ); mfile.setSysPath(); java.util.Hashtable htReturn = mfile.getModalHTML( nModalObjectID ); if( htReturn != null && htReturn.size()>0 ) { strModal = htReturn.get("modalHTML").toString(); //板板文件 strImgPath = htReturn.get("imagePath").toString(); //图片路径 mfile.copyImageFile( strImgPath, strModulePath + "images" + File.separator, strModal ); // 替换路径 // strModal = mfile.replaceImagePath(strModal); } } xmlparse = new XMLProperties2( file ); strNotesInfo = xmlparse.getNotesInfo("dahan.field","vc_fieldname,vc_name,vc_fieldtype,length,id"); String strUrl = ""; String linkUrl = ""; String strReturn = ""; String selecLinksql = ""; String[][] linkUrls = null; StringBuffer sbContent = new StringBuffer(); Hashtable htCol = new Hashtable(); Hashtable htArt = new Hashtable(); Hashtable htColArt = new Hashtable(); Vector vArt = new Vector(); Vector vColArt = new Vector(); HashMap htUnit = new HashMap(); String strValue = ""; if( strData != null && strData.length > 0 ){ for( int i=0;i 0){ linkUrl = StringUtil.getString(linkUrls[0][0]).trim(); int b_ref = NumberUtil.getInt(linkUrls[0][1]); if (StringUtil.isNotEmpty(linkUrl)) { if (b_ref == 2) { //找当前信息的源信息的网站域名 Jcms_InforefBLF refblf = Jcms_InforefBLF.getInstance(); Jcms_InforefEntity refEn = refblf.getSEntity(NumberUtil.getInt(strData[i][0]), nCataID); if (refEn != null) { String strDomain = Jcms_WebinfomationBLF.modifyAndGetWebDomain(strAppID, refEn.getI_swebid()); if (strDomain.trim().length() > 0) { if(HttpUrl.isStartWithHttp(strDomain)){ strUrl = strDomain + "/" + linkUrl; }else{ strUrl = "http://" + strDomain + "/" + linkUrl; } } } //非链接信息处理 }else { strUrl = linkUrl; } // 维持前人逻辑 if (strUrl.startsWith("art/")) { // 链接信息href strUrl = "../../" + strUrl; } } } htArt.put( "articlecreatedate",StringUtil.getString(strData[i][3]) ); htArt.put( "articleurl" , strUrl); } } }else{ for( int j=1;j 0){ linkUrl = StringUtil.getString(linkUrls[0][0]).trim(); int b_ref = NumberUtil.getInt(linkUrls[0][1]); if (StringUtil.isNotEmpty(linkUrl)) { if (b_ref == 2) { //找当前信息的源信息的网站域名 Jcms_InforefBLF refblf = Jcms_InforefBLF.getInstance(); Jcms_InforefEntity refEn = refblf.getSEntity(NumberUtil.getInt(strData[i][0]), nCataID); if (refEn != null) { String strDomain = Jcms_WebinfomationBLF.modifyAndGetWebDomain(strAppID, refEn.getI_swebid()); if (strDomain.trim().length() > 0) { if(HttpUrl.isStartWithHttp(strDomain)){ strUrl = strDomain + "/" + linkUrl; }else{ strUrl = "http://" + strDomain + "/" + linkUrl; } } } //非链接信息处理 }else { strUrl = linkUrl; } // 维持前人逻辑 if (strUrl.startsWith("art/")) { // 链接信息href strUrl = "../../" + strUrl; } } } htArt.put( "articlecreatedate",StringUtil.getString(strData[i][2]) ); htArt.put( "articleurl" , strUrl); } } } } vArt.add(htArt); htColArt.put("Column", htCol); htColArt.put("Article", vArt); vColArt.add(htColArt); htColArt = new Hashtable(); } } /* 如果查不到数据就不要再显示空的表格了 20110707 xjc else { for(int i=0;strNotesInfo!=null && i< strNotesInfo.length ;i++ ) { htArt.put( strNotesInfo[i][1] , " " ); } vArt.add(htArt); htColArt.put("Column", htCol); htColArt.put("Article", vArt); vColArt.add(htColArt); htColArt = new Hashtable(); } */ htUnit.put( "count", ""+nTotalCount ); htUnit.put( "RowCol", strRow + "," + strCol); //行和列 htUnit.put("ColumnArticle", vColArt); //标签解析 Parser parser = new Parser(htUnit); strReturn = parser.parse(strScript); String strHidden = "" // + "" + ""; sbHidden.append( strHidden ); Jcms_SearchBLF searchBlf = Jcms_SearchBLF.getInstance().init(strAppID,NumberUtil.getInt(strWebID)); Jcms_WebinfomationBLF webBlf = Jcms_WebinfomationBLF.getInstance(); Jcms_WebinfomationEntity webEn = webBlf.achieveWebEntity(NumberUtil.getInt(strWebID)); String strPages = searchBlf.getPaginationView(strListPath,nTotalCount,nPageCount,nCurrentPage,webEn); sbContent.append( strReturn ); sbContent.append( "
" ); sbContent.append( strPages ); String strAll = getShow(strModal, sbContent.toString() ); String currentPlaceTag = ""; strAll = strAll.replaceAll(currentPlaceTag, strCurrentPlace); String strReplace = "/"+strWeb_in_servername+"/jcms_files/jcms"+strAppID + "/web"+strWebID+"/site/"; if( strWebType.equals("2")) { strAll = StringUtil.replace( strAll ,strReplace ,"/"); } out.println(strAll); %> <%! public String getShow( String strModal,String strContent ){ strModal = StringUtil.getString( strModal ); strContent = StringUtil.getString( strContent ); if( strModal.trim().length() == 0 ) return strContent ; String strFrom1 = ""; int nPos1 = strModal.indexOf( strFrom1 ); int nPos2 = strModal.indexOf( strFrom2, nPos1 ); String strReturn = ""; if( nPos1 >=0 && nPos2>=0 && nPos2 > nPos1 ) strReturn = strModal.substring(0,nPos1) + strContent + strModal.substring( nPos2+strFrom2.length() ); else strReturn = strModal; return strReturn; } public void logWrite(String str) throws IOException { LocalFileUtil localFileUtil = LocalFileUtil.getInstance(); IFileUtil fileUtil = (IFileUtil )SpringUtil.getBean("FileUtil"); String path = fileUtil.getAbsolutePath(""); String date = new SimpleDateFormat("yyyyMMdd").format(new Date()); File folder = new File(path + "/zlog/"+date+"/"); if (!folder.exists()) { folder.mkdirs(); } //mylog.txt 根据模块自定义修改 File logFile = new File(path + "/zlog/"+date+"/synclog.txt"); if (!logFile.exists()) { logFile.createNewFile(); } Writer out = null; out = new FileWriter(logFile, true); out.write(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(new Date()) + " " + str + "\r\n"); out.close(); } %>