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

📄 webprint.java

📁 一个完整的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
  while (iStart<mainStr.length()) {
    iEnd=mainStr.indexOf(findStr,iStart);
    if (iEnd<0) {
      iEnd=mainStr.length();
      sRet=sRet+mainStr.substring(iStart,iEnd);
    }
    else {
      sRet=sRet+mainStr.substring(iStart,iEnd)+replaceStr;
    }
    iStart=iEnd+findStr.length();

  }
  return sRet;
}

private String rTrim(String str){
     String rstr = str;
  if(str == null)
         {
    rstr = "";
  }
         else
         {
    if(str.length() == 0) rstr = "";
    if(str.length() > 0)
    {
      for(int i = str.length() ; i  >  0 ; i--)
             {
     if(str.substring(i-1,i).equals(" "))
       rstr = rstr.substring(0,i-1);
     else break;
   }
     }

  }
  return rstr;
}

//--------------------------------------------
private String  XmlOut(ResultSet oRs , String sRowEntityName,long EntFormat )
{
  String sSet="";
  try {
    //oRs.first();
    while (oRs.next())
    {
        sSet = sSet + RecordToXMLEntity(oRs, sRowEntityName, EntFormat) ;
    }
  }
  catch (Exception e)
  {
    return e.getMessage();
  }
  return sSet ;
}

private String  RecordToXMLEntity(ResultSet oRs , String EntityName,long EntFormat)
{
  String sEty ="";
  int iField=1;
  int iCount=1;
    try {
      ResultSetMetaData rsmd=oRs.getMetaData();
    iCount=rsmd.getColumnCount();
    if (EntFormat==1)
    {
    //属性
          sEty = "<" + EntityName ;

          for (iField = 1 ; iField<=iCount ;iField++ )
      {
              sEty = sEty + " " + rsmd.getColumnName(iField) +"='" + oRs.getString(iField) +"'" ;
      }
          sEty = sEty + "/>" + "\n";

    }
    else
    {
    //节点
        sEty = "<" + EntityName +">" +"\n" ;
          for (iField = 1 ; iField<=iCount ; iField++)
          {
              sEty = sEty +"<" +  rsmd.getColumnName(iField) +">" + oRs.getString(iField) +"</" + rsmd.getColumnName(iField) +">";
          }
          sEty = sEty +"\n" +"</" + EntityName +">" +"\n";

    }
  }
  catch (Exception e)
  {
  }
  return sEty;
}
//-----------------------------------------------------
private Attr[] sortAttributes(NamedNodeMap attrs) {

    int len = (attrs != null) ? attrs.getLength() : 0;
    Attr array[] = new Attr[len];
    for ( int i = 0; i < len; i++ ) {
        array[i] = (Attr)attrs.item(i);
    }
    for ( int i = 0; i < len - 1; i++ ) {
        String name  = array[i].getNodeName();
        int    index = i;
        for ( int j = i + 1; j < len; j++ ) {
            String curName = array[j].getNodeName();
            if ( curName.compareTo(name) < 0 ) {
                name  = curName;
                index = j;
            }
        }
        if ( index != i ) {
            Attr temp    = array[i];
            array[i]     = array[index];
            array[index] = temp;
        }
    }

    return(array);

} // sortAttributes(NamedNodeMap):Attr[]


//--------------------------------------------
//WebCode中用
private  String sqltoxml()
{
    Node root=document.getChildNodes().item(0);

    String strpage=root.getChildNodes().item(0).getChildNodes().item(0).getNodeValue();
    String strsql=root.getChildNodes().item(1).getChildNodes().item(0).getNodeValue();
    strsql=fcTrans(strsql);
    String strsearch=root.getChildNodes().item(2).getChildNodes().item(0).getNodeValue();
    String strrownum=root.getChildNodes().item(3).getChildNodes().item(0).getNodeValue();
    String showcheckbox=root.getChildNodes().item(4).getChildNodes().item(0).getNodeValue();
    String blnempty=root.getChildNodes().item(5).getChildNodes().item(0).getNodeValue();
    //加空行
    showcheckbox=showcheckbox.toUpperCase();
    int intpage=Integer.parseInt(strpage);//开始页
    int intrownum=Integer.parseInt(strrownum);//页尺寸
    String strX="";
  try {

//建立数据库连接
    /*
    strDataSource="webgrid";
    strUserName="sa";
    strPassword="";
    String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String sConnStr = "jdbc:odbc:"+strDataSource;
    Class.forName(sDBDriver);
    Connection con1 = DriverManager.getConnection(sConnStr,strUserName,strPassword);

    Statement stmt = con1.createStatement();
    */
    //原来的
    Statement stmt = con.createStatement();


//执行查询建立结果集
//-----------------
    //System.out.print(strsearch);
    int i=1;
    if (strsearch.compareTo("###")!=0){
      rs = stmt.executeQuery(strsql);
      boolean bfind=false;

      while(rs.next()){
        String searchone=rs.getString(1);
          //out.print(searchone);
        if (searchone.equals(strsearch)){
          bfind=true;
          break;
        }
        i=i+1;
      }
      rs.close();
      if (bfind==true){
        if (i<=intrownum){
          intpage=1;
        }
        else {
          if (i%intrownum>0){
            intpage=i/intrownum+1;
          }
          else {
            intpage=i/intrownum;
          }
        }
      }
      //自动定位到当前选择所在值的页
    }
    //out.print("intpage="+intpage);
//-----------------
//		System.out.print(intpage);



    rs = stmt.executeQuery(strsql);

    ResultSetMetaData rsmd=rs.getMetaData();

    strX="<root>";
    String sLabel="";
    int k=0;
    int thisrow=0;
    int pagenumber=0;//总页数
    int iFind=0; //控制在开始处插入一个空白行
    while (rs.next()) {
      if (blnempty.equals("true") && iFind==0) {
      //插入一个空白行
        strX=strX+"<tr height='16'>";
        for (i=1;i<=rsmd.getColumnCount();i++) {
              strX = strX + "<td></td>";
        }
        strX=strX+"</tr>";
        iFind=1;
      }

      if (k>=(intpage-1)*intrownum && k<(intpage)*intrownum){
        strX = strX + "<tr>";
        for (i=1;i<=rsmd.getColumnCount();i++) {
              sLabel=rsmd.getColumnLabel(i);
              //System.out.println(rsmd.getColumnTypeName(i));
          String sT=rs.getString(i);
          if (sT==null) sT="";
              strX = strX + "<td>" + sT + "</td>";
        }
        if (showcheckbox.equals("TRUE"))
           strX = strX + "<td width='30'><input type='checkbox'></input></td>"+"</tr>";
                else
                    strX = strX + "</tr>";
      }
      k=k+1;
    }

    if (k%intrownum>0)
        pagenumber=k/intrownum+1;
         else
             pagenumber=k/intrownum;

    strX=strX+"<pagenumber>"+pagenumber+"</pagenumber><intpage>"+intpage+"</intpage></root>";


  } catch (Exception e){
    strX=e.getMessage();
  }
  return strX;
}
private  String fcTrans(String sSource)
{
  // GB2312

  //XML节点中的汉字经8859_1==>UTF-8转换后用System.out.println输出正常
  /*
  UTF-8 ==> GB2312 1
  UTF-8 ==> 8859_1 2

  GB2312 ==> UTF-8 3
  8859_1 ==> UTF-8 4

  GB2312 ==> 8859_1 5
  8859_1 ==> GB2312 6

  */


  String unicodesR ="";
  try {
    //byte [] by = sSource.getBytes("8859_1"); //
    //unicodesR = new String(by,"UTF-8");
    //System.out.println("b:"+sSource);

    unicodesR=unescape(sSource);
  }
  catch (Exception e){
  }
  //System.out.println("a:"+unicodesR);
  return unicodesR;
//	return sSource;
  ///


}


  /**
   * 将用javascript的escape()函数编码的字符串解码回来 throws Exception
   */
  public  String unescape( String src )
  {
    if ( src == null ) return src;
    if ( src.equals( "" ) ) return src;
    int pos = src.indexOf( "%u" );
    if ( pos < 0 ) return tmptrans( src );
    String tmp = src.substring( 0, pos );
    String result = tmptrans( tmp );
    String rest = "";
    if ( pos + 6 < src.length() )
    {
      tmp = src.substring( pos, pos + 6 );
      rest = src.substring( pos + 6 );
    }
    else
    {
      tmp = src.substring( pos );
      rest = "";
    }
    tmp = tmp.replace( '%', '\\' );

    result += unicode2String( tmp );
    return result + unescape( rest );
  }

  public  String unicode2String( String theString )
  {
    char aChar;
    int len = theString.length();
    StringBuffer outBuffer = new StringBuffer( len );
    for( int x=0; x<len; )
    {
      aChar = theString.charAt( x++ );
      if ( aChar == '\\' )
      {
        aChar = theString.charAt( x++ );
        if ( aChar == 'u' )
        {
          // Read the xxxx
          int value = 0;
          for ( int i = 0; i < 4; i++ )
          {
            aChar = theString.charAt( x++ );
            switch ( aChar )
            {
              case '0': case '1': case '2': case '3': case '4':
              case '5': case '6': case '7': case '8': case '9':
                value = ( value << 4 ) + aChar - '0';
                break;
              case 'a': case 'b': case 'c':
              case 'd': case 'e': case 'f':
                value = ( value << 4 ) + 10 + aChar - 'a';
                break;
              case 'A': case 'B': case 'C':
              case 'D': case 'E': case 'F':
                value = ( value << 4 ) + 10 + aChar - 'A';
                break;
              default:
                throw new IllegalArgumentException( "Malformed \\uxxxx encoding.");
            }
          }
          //System.out.println(value);
          outBuffer.append( (char)value );
        }
      }
      else
        outBuffer.append( aChar );
    }

    return outBuffer.toString();


  }
  /**
  *escape字符转换 %20 ==>空
  *@date 2003-12-01
  **/
  public  String tmptrans( String theString ){
    char aChar;

    int len=theString.length();
    String s1="";
    String s2="";
    String s3="";
    String sRet="";
    for( int i=0; i<len; ){
      s1=theString.substring(i,i+1);
      if(s1.equals("%")){
        s2=theString.substring(i,i+3);
        //if(s2.equals("%5C")) s3="\";
        //if(s2.equals("%22")) s3='"';
        if(s2.equals("%27")) s3="'";
        if(s2.equals("%21")) s3="!";
        if(s2.equals("%23")) s3="#";
        if(s2.equals("%24")) s3="$";
        if(s2.equals("%25")) s3="%";
        if(s2.equals("%5E")) s3="^";
        if(s2.equals("%26")) s3="&";
        if(s2.equals("%28")) s3="(";
        if(s2.equals("%29")) s3=")";

        if(s2.equals("%3D")) s3="=";
        if(s2.equals("%7B")) s3="{";
        if(s2.equals("%7D")) s3="}";
        if(s2.equals("%5B")) s3="[";
        if(s2.equals("%5D")) s3="]";
        if(s2.equals("%20")) s3=" ";
        if(s2.equals("%2C")) s3=",";
        if(s2.equals("%3F")) s3="?";
        if(s2.equals("%7C")) s3="|";
        if(s2.equals("%60")) s3="`";
        if(s2.equals("%7E")) s3="~";

        if(s2.equals("%0A")) s3=" ";
        if(s2.equals("%0D")) s3=" ";
        if(s2.equals("%09")) s3=" ";

        sRet=sRet+s3;
        i=i+3;
      }else{
        sRet=sRet+s1 ;
        i=i+1;
      }

    }
    return sRet;

  }



}

⌨️ 快捷键说明

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