<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[安道生練功房 - Latest posts for "player"]]></title>
		<link>https://forum.andowson.com/posts/listByUser/53</link>
		<description><![CDATA[Latest posts for "player"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>[網頁程式設計 Web Development] 回覆:關於JSP的問題</title>
				<description><![CDATA[ 果然寫錯了 
<br>
耗呆中? orz 
<br>
<br>
1.字串比較的方式錯了 
<br>
2.class未公開的成員函數, 不能直接用 
<br>
<br>
總算應該差不多了? 
<br>
<br>
<pre class="line-numbers"><code class="language-java match-braces"><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></pre>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/339/633</guid>
				<link>https://forum.andowson.com/posts/preList/339/633</link>
				<pubDate><![CDATA[Sat, 15 Aug 2009 20:00:49]]> GMT</pubDate>
				<author><![CDATA[ player]]></author>
			</item>
			<item>
				<title>[網頁程式設計 Web Development] 關於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>
<pre class="line-numbers"><code class="language-java match-braces">&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></pre>
<br>
<br>
此外 
<br>
關於 <a class="snap_shots" href="http://kekeke.cc/twjug" target="_blank">http://kekeke.cc/twjug</a>
<br>
不知為何 
<br>
要貼任何字都貼不上了 
<br>
天曉得是哪邊擋到了?]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/339/630</guid>
				<link>https://forum.andowson.com/posts/preList/339/630</link>
				<pubDate><![CDATA[Fri, 14 Aug 2009 15:42:03]]> GMT</pubDate>
				<author><![CDATA[ player]]></author>
			</item>
	</channel>
</rss>