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

📄 0172.htm

📁 JspServlet教程专栏 对javaservlet讲述的非常详细
💻 HTM
📖 第 1 页 / 共 2 页
字号:
for&nbsp; (int&nbsp; i=0;&nbsp; i&lt;aht_data.length;&nbsp; i++)&nbsp; <br>
{<br>
if&nbsp; (aht_data&nbsp; ==&nbsp; null)&nbsp; <br>
{<br>
li_total_rows&nbsp; =&nbsp; i;<br>
break;<br>
}<br>
}<br>
<br>
//&nbsp; 2)&nbsp; rebuild&nbsp; a&nbsp; new&nbsp; hashtable&nbsp; array&nbsp; of&nbsp; the&nbsp; right&nbsp; size<br>
//&nbsp; and&nbsp; reload&nbsp; it&nbsp; with&nbsp; your&nbsp; data<br>
if&nbsp; (li_total_rows&nbsp; &lt;&nbsp; aht_data.length)&nbsp; <br>
{&nbsp; lht_temp&nbsp; =&nbsp; new&nbsp; Hashtable[li_total_rows];<br>
<br>
for&nbsp; (int&nbsp; i=0;&nbsp; i&lt;li_total_rows;&nbsp; i++)<br>
{<br>
lht_temp[i]&nbsp; =&nbsp; aht_data[i];<br>
}<br>
<br>
aht_data&nbsp; =&nbsp; lht_temp;<br>
lht_temp&nbsp; =&nbsp; null;<br>
}<br>
<br>
return&nbsp; aht_data;<br>
}<br>
<br>
<br>
private&nbsp; Hashtable&nbsp; columnOrder(ResultSetMetaData&nbsp; ameta_data,&nbsp; int&nbsp; ai_columns)<br>
{&nbsp; <br>
//&nbsp; 1)&nbsp; Size&nbsp; the&nbsp; Hashtable&nbsp; to&nbsp; be&nbsp; slighly&nbsp; larger&nbsp; than&nbsp; column&nbsp; count<br>
//&nbsp; and&nbsp; load&nbsp; factor&nbsp; to&nbsp; 1&nbsp; so&nbsp; the&nbsp; hash&nbsp; table&nbsp; wont&nbsp; have&nbsp; to&nbsp; resize&nbsp; itself.<br>
Hashtable&nbsp; lht_row&nbsp; =&nbsp; new&nbsp; Hashtable((ai_columns&nbsp; +&nbsp; 3),1);<br>
<br>
try<br>
{&nbsp; //&nbsp; 2)&nbsp; Store&nbsp; how&nbsp; many&nbsp; columns&nbsp; we&nbsp; have.<br>
lht_row.put("Column_Count",String.valueOf(ai_columns));<br>
<br>
//&nbsp; 3)&nbsp; Loop&nbsp; thru&nbsp; and&nbsp; store&nbsp; each&nbsp; column&nbsp; label&nbsp; and&nbsp; use&nbsp; its&nbsp; position<br>
//&nbsp; number&nbsp; as&nbsp; its&nbsp; key<br>
for&nbsp; (&nbsp; int&nbsp; i&nbsp; =&nbsp; 1;&nbsp; i&nbsp; &lt;=&nbsp; ai_columns;&nbsp; i++)<br>
{<br>
lht_row.put(String.valueOf(i),ameta_data.getColumnLabel(i));<br>
}<br>
}<br>
catch&nbsp; (SQLException&nbsp; e)<br>
{&nbsp; //&nbsp; 4&nbsp; Return&nbsp; a&nbsp; null&nbsp; result&nbsp; if&nbsp; an&nbsp; error&nbsp; happens<br>
lht_row&nbsp; =&nbsp; null;<br>
}<br>
<br>
return&nbsp; lht_row;<br>
}&nbsp; <br>
<br>
<br>
public&nbsp; String&nbsp; hastToTabFile(Hashtable[]&nbsp; ahash_data,&nbsp; boolean&nbsp; ab_header)<br>
{&nbsp; //*****************************************************************<br>
//&nbsp; ahash_data:&nbsp; array&nbsp; of&nbsp; hashtables&nbsp; to&nbsp; convert&nbsp; to&nbsp; tabfile<br>
//&nbsp; ab_header&nbsp; :&nbsp; True&nbsp; if&nbsp; you&nbsp; want&nbsp; the&nbsp; tab&nbsp; file&nbsp; to&nbsp; include&nbsp; the&nbsp; headers<br>
//*****************************************************************<br>
String&nbsp; ls_tabfile&nbsp; =&nbsp; "";<br>
<br>
if&nbsp; (ahash_data&nbsp; ==&nbsp; null)<br>
{&nbsp; //&nbsp; 1)&nbsp; if&nbsp; no&nbsp; data&nbsp; then&nbsp; return&nbsp; empty&nbsp; file<br>
ls_tabfile&nbsp; =&nbsp; "";<br>
}<br>
else<br>
{<br>
//&nbsp; 2)&nbsp; first&nbsp; get&nbsp; column&nbsp; headers<br>
int&nbsp; li_column_count&nbsp; =&nbsp; 0;<br>
String&nbsp; ls_column_count&nbsp; =&nbsp; ahash_data[0].get("Column_Count").toString();<br>
try<br>
{<br>
li_column_count&nbsp; =&nbsp; Integer.parseInt(ls_column_count);<br>
}<br>
catch(NumberFormatException&nbsp; e)<br>
{&nbsp; <br>
//&nbsp; 3)&nbsp; since&nbsp; this&nbsp; hashtable&nbsp; doesnt&nbsp; have&nbsp; the&nbsp; the&nbsp; column&nbsp; data&nbsp; stashed<br>
//&nbsp; treat&nbsp; it&nbsp; as&nbsp; a&nbsp; normal&nbsp; hashtable&nbsp; array&nbsp; <br>
return&nbsp; hashToTab(ahash_data,ab_header);<br>
}<br>
<br>
<br>
//&nbsp; 4)&nbsp; Gather&nbsp; up&nbsp; each&nbsp; columns&nbsp; label/key&nbsp; name&nbsp; also&nbsp; build&nbsp; up&nbsp; the&nbsp; header&nbsp; column<br>
String[]&nbsp; ls_indexes&nbsp; =&nbsp; new&nbsp; String[li_column_count];<br>
<br>
for(int&nbsp; icol&nbsp; =&nbsp; 0;&nbsp; icol&nbsp; &lt;&nbsp; li_column_count;&nbsp; icol++)<br>
{<br>
ls_indexes[icol]&nbsp; =&nbsp; ahash_data[0].get(String.valueOf(icol+1)).toString();<br>
if(ab_header)&nbsp; ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; ls_indexes[icol]&nbsp; +&nbsp; "\t";<br>
}<br>
<br>
<br>
//&nbsp; 5)&nbsp; Include&nbsp; the&nbsp; headers&nbsp; in&nbsp; the&nbsp; file&nbsp; if&nbsp; user&nbsp; requested&nbsp; them<br>
if(ab_header)&nbsp; ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; "\n";<br>
<br>
<br>
//&nbsp; 6)&nbsp; loop&nbsp; through&nbsp; and&nbsp; gather&nbsp; tha&nbsp; data&nbsp; to&nbsp; display<br>
for&nbsp; (int&nbsp; irow=1;&nbsp; irow&nbsp; &lt;&nbsp; ahash_data.length;&nbsp; irow++)<br>
{&nbsp; if&nbsp; (ahash_data[irow]&nbsp; !=&nbsp; null)<br>
{<br>
for(int&nbsp; icol&nbsp; =&nbsp; 0;&nbsp; icol&nbsp; &lt;&nbsp; li_column_count;&nbsp; icol++)<br>
{<br>
ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; ahash_data[irow].get(ls_indexes[icol]).toString()&nbsp; +&nbsp; "\t";<br>
}&nbsp; <br>
ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; "\n";<br>
}<br>
}<br>
}<br>
<br>
return&nbsp; ls_tabfile;<br>
}<br>
<br>
<br>
private&nbsp; String&nbsp; hashToTab(Hashtable[]&nbsp; ahash_data,&nbsp; boolean&nbsp; ab_header)<br>
{//*****************************************************************<br>
//&nbsp; ahash_data:&nbsp; array&nbsp; of&nbsp; hashtables&nbsp; to&nbsp; convert&nbsp; to&nbsp; tabfile<br>
//&nbsp; ab_header&nbsp; :&nbsp; True&nbsp; if&nbsp; you&nbsp; want&nbsp; the&nbsp; tab&nbsp; file&nbsp; to&nbsp; include&nbsp; the&nbsp; headers<br>
//*****************************************************************<br>
String&nbsp; ls_tabfile&nbsp; =&nbsp; "";<br>
<br>
if&nbsp; (ahash_data&nbsp; ==&nbsp; null)<br>
{&nbsp; //&nbsp; 1)&nbsp; if&nbsp; no&nbsp; data&nbsp; return&nbsp; empty&nbsp; file<br>
ls_tabfile&nbsp; =&nbsp; "";<br>
}<br>
else<br>
{<br>
//&nbsp; 2)&nbsp; IF&nbsp; requested&nbsp; print&nbsp; out&nbsp; the&nbsp; header&nbsp; files<br>
if&nbsp; (ab_header)<br>
{<br>
for(Enumeration&nbsp; lenum_header&nbsp; =&nbsp; ahash_data[0].keys();&nbsp; lenum_header.hasMoreElements();)<br>
{<br>
String&nbsp; ls_col&nbsp; =&nbsp; lenum_header.nextElement().toString()&nbsp; +&nbsp; "\t";<br>
ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; ls_col;<br>
}&nbsp; <br>
ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; "\n";<br>
}<br>
<br>
//&nbsp; 3)&nbsp; Loop&nbsp; through&nbsp; the&nbsp; rows&nbsp; and&nbsp; gather&nbsp; tha&nbsp; data&nbsp; to&nbsp; display<br>
for&nbsp; (int&nbsp; i=0;&nbsp; i&nbsp; &lt;&nbsp; ahash_data.length;&nbsp; i++)<br>
{&nbsp; Hashtable&nbsp; lhash_row&nbsp; =&nbsp; ahash_data[i];<br>
if&nbsp; (lhash_row&nbsp; !=&nbsp; null)<br>
{&nbsp; //&nbsp; 4)&nbsp; Loop&nbsp; thru&nbsp; each&nbsp; column&nbsp; and&nbsp; prints&nbsp; the&nbsp; columns&nbsp; data<br>
for(Enumeration&nbsp; l_enum&nbsp; =&nbsp; lhash_row.keys();&nbsp; l_enum.hasMoreElements();)<br>
{<br>
String&nbsp; ls_col&nbsp; =&nbsp; l_enum.nextElement().toString()&nbsp; ;<br>
ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; lhash_row.get(ls_col).toString()&nbsp; +&nbsp; "\t";<br>
}&nbsp; <br>
ls_tabfile&nbsp; =&nbsp; ls_tabfile&nbsp; +&nbsp; "\n";<br>
}<br>
}<br>
}<br>
<br>
return&nbsp; ls_tabfile;<br>
}

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

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