<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "關於JSP的問題"]]></title>
		<link>https://forum.andowson.com/posts/list/5.page</link>
		<description><![CDATA[Latest messages posted in the topic "關於JSP的問題"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>關於JSP的問題</title>
				<description><![CDATA[ 我在試 JSP 輸出 JSON, 想接JQuery 的自動完成的外掛 
<br>
可是 
<br>
似乎WebLogic Server 7.0 被我弄到當掉了 
<br>
因為我這邊的主機上的JSP是跑 JavaSE 1.4 所以要倒著回去用舊版的Java語法去寫, 有點小難 
<br>
<br>
com.data.toolkit.SafeSql 與 com.data.toolkit.JsonUtil 算是自己改寫過的心得吧? 
<br>
公布如下 
<br>
http://www.player.idv.tw/prog/index.php/JsonUtil.java 
<br>
http://www.player.idv.tw/prog/index.php/SafeSql.java 
<br>
編譯好成 class檔後, 放到 \WEB-INF\classes\com\data\toolkit\ 目錄中 
<br>
<br>
最後的實驗品是 AutoComplete.jsp 
<br>
輸入 name 與 q 當傳入參數 
<br>
自Oracle中取出幾個字串後 
<br>
以JSON方式傳回 
<br>
<br>
[code]&lt;%@ page contentType="application/json; charset=big5" %&gt; 
<br>
&lt;%@ /*業務機密, 這行page import 略 */ %&gt; 
<br>
&lt;%@ page import="java.sql.*, java.util.*, java.lang.*" %&gt; 
<br>
&lt;%@ page import="com.data.toolkit.SafeSql, com.data.toolkit.JsonUtil" %&gt; 
<br>
&lt;% 
<br>
 String strName = request.getParameter("name"); 
<br>
 String strQ = request.getParameter("q"); 
<br>
<br>
 if (strQ != null) 
<br>
 { 
<br>
 //業務機密, 取得Oracle資料庫連線方式的這行略 qub=? 
<br>
<br>
 StringBuffer sql = new StringBuffer(); 
<br>
 String strKeyName = ""; 
<br>
<br>
 //需求編號, reqNoQ 
<br>
 if (strName == "reqNoQ") 
<br>
 { 
<br>
 strKeyName = "reqno"; 
<br>
 } 
<br>
<br>
 if (strKeyName != "") 
<br>
 { 
<br>
 sql.append("select * from ( "); 
<br>
 sql.append("select distinct "); 
<br>
 sql.append(strKeyName); 
<br>
 sql.append(" from tb_request where "); 
<br>
 sql.append(strKeyName); 
<br>
 sql.append(" like "); 
<br>
 sql.append(SafeSql.QuoteLikeRight(strQ)); 
<br>
 sql.append(" order by "); 
<br>
 sql.append(strKeyName); 
<br>
 sql.append(" ) where ROWNUM &gt;= 0 AND ROWNUM &lt;= 20"); 
<br>
<br>
<br>
 ArrayList v = qub.executeQuery(sql.toString()); 
<br>
 StringBuffer responseText = new StringBuffer(); 
<br>
<br>
 responseText.append('['); 
<br>
<br>
 if (!v.isEmpty()) 
<br>
 { 
<br>
 boolean IsComma = false; 
<br>
<br>
 for(int i=0;i&lt;v.size();i++) 
<br>
 { 
<br>
 HashMap hm = (HashMap)v.get(i); 
<br>
 if (hm.containsKey(strKeyName)) 
<br>
 { 
<br>
 if (IsComma == true) { 
<br>
 responseText.append(','); 
<br>
 IsComma = true; 
<br>
 } 
<br>
 responseText.append(JsonUtil.string2Json(hm.get(strKeyName))); 
<br>
 } 
<br>
 } 
<br>
 } 
<br>
 responseText.append(']'); 
<br>
<br>
 response.getWriter().print(responseText.toString()); 
<br>
 } 
<br>
 else 
<br>
 { 
<br>
 response.getWriter().print("[]"); 
<br>
 } 
<br>
 } 
<br>
%&gt;[/code] 
<br>
<br>
此外 
<br>
關於 http://kekeke.cc/twjug 
<br>
不知為何 
<br>
要貼任何字都貼不上了 
<br>
天曉得是哪邊擋到了?]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/339/630.page</guid>
				<link>https://forum.andowson.com/posts/preList/339/630.page</link>
				<pubDate><![CDATA[Fri, 14 Aug 2009 15:42:03]]> GMT</pubDate>
				<author><![CDATA[ player]]></author>
			</item>
			<item>
				<title>回覆:關於JSP的問題</title>
				<description><![CDATA[ 果然寫錯了 
<br>
耗呆中? orz 
<br>
<br>
1.字串比較的方式錯了 
<br>
2.class未公開的成員函數, 不能直接用 
<br>
<br>
總算應該差不多了? 
<br>
<br>
[code] 
<br>
&lt;%@ page contentType="application/json; charset=big5" %&gt; 
<br>
&lt;%@ /*業務機密, 這行page import 略 */ %&gt; 
<br>
&lt;%@ page import="java.sql.*, java.util.*, java.lang.*" %&gt; 
<br>
&lt;%@ page import="com.data.toolkit.SafeSql, com.data.toolkit.JsonUtil" %&gt; 
<br>
&lt;% 
<br>
 String strName = request.getParameter("name"); 
<br>
 String strQ = request.getParameter("q"); 
<br>
 boolean IsOutput = false; 
<br>
<br>
 if (strQ != null) 
<br>
 { 
<br>
 //業務機密, 取得Oracle資料庫連線方式的這行略 qub=? 
<br>
<br>
 StringBuffer sql = new StringBuffer(); 
<br>
 String strKeyName = ""; 
<br>
<br>
<br>
 //需求編號, reqNoQ 
<br>
 if (strName.compareToIgnoreCase("reqNoQ") == 0) 
<br>
 { 
<br>
 strKeyName = "reqno"; 
<br>
 } 
<br>
<br>
 if (strKeyName != "") 
<br>
 { 
<br>
 sql.append("select * from ( "); 
<br>
 sql.append("select distinct "); 
<br>
 sql.append(strKeyName); 
<br>
 sql.append(" from tb_request where "); 
<br>
 sql.append(strKeyName); 
<br>
 sql.append(" like "); 
<br>
 sql.append(SafeSql.QuoteLikeRight(strQ)); 
<br>
 sql.append(" order by "); 
<br>
 sql.append(strKeyName); 
<br>
 sql.append(" ) where ROWNUM &gt;= 0 AND ROWNUM &lt;= 20"); 
<br>
<br>
<br>
 // ArrayList v = qub.executeQuery(sql.toString()); 
<br>
 // 測試用 
<br>
 ArrayList v = new ArrayList(); 
<br>
 HashMap hm2 = new HashMap(); 
<br>
 hm2.put("reqno", sql.toString()); 
<br>
 v.add(hm2); 
<br>
<br>
 StringBuffer responseText = new StringBuffer(); 
<br>
<br>
 responseText.append('['); 
<br>
<br>
 if (!v.isEmpty()) 
<br>
 { 
<br>
 boolean IsComma = false; 
<br>
<br>
 for(int i=0;i&lt;v.size();i++) 
<br>
 { 
<br>
 HashMap hm = (HashMap)v.get(i); 
<br>
 if (hm.containsKey(strKeyName)) 
<br>
 { 
<br>
 if (IsComma == true) { 
<br>
 responseText.append(','); 
<br>
 IsComma = true; 
<br>
 } 
<br>
 responseText.append(JsonUtil.toJson(hm.get(strKeyName))); 
<br>
 } 
<br>
 } 
<br>
 } 
<br>
 responseText.append(']'); 
<br>
<br>
 IsOutput = true; 
<br>
 response.getWriter().print(responseText.toString()); 
<br>
 } 
<br>
 } 
<br>
<br>
 if (IsOutput == false) 
<br>
 { 
<br>
 response.getWriter().print("[]"); 
<br>
 } 
<br>
%&gt; 
<br>
[/code]]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/339/633.page</guid>
				<link>https://forum.andowson.com/posts/preList/339/633.page</link>
				<pubDate><![CDATA[Sat, 15 Aug 2009 20:00:49]]> GMT</pubDate>
				<author><![CDATA[ player]]></author>
			</item>
	</channel>
</rss>