锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲综合区小说区激情区,亚洲一区二区精品视频,国产成人亚洲综合a∨http://www.tkk7.com/gavinju/archive/2007/01/21/95188.htmlHandSoftHandSoftSun, 21 Jan 2007 15:35:00 GMThttp://www.tkk7.com/gavinju/archive/2007/01/21/95188.htmlhttp://www.tkk7.com/gavinju/comments/95188.htmlhttp://www.tkk7.com/gavinju/archive/2007/01/21/95188.html#Feedback0http://www.tkk7.com/gavinju/comments/commentRss/95188.htmlhttp://www.tkk7.com/gavinju/services/trackbacks/95188.html 1. 鍦╳eb.xml鏂囦歡涓敞鍐宒wr
聽聽 <servlet>
聽聽聽 <servlet-name>dwr-invoker</servlet-name>
聽聽聽 <display-name>DWR Servlet</display-name>
聽聽聽 <description>Direct Web Remoter Servlet</description>
聽聽聽 <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
聽聽聽 <init-param>
聽聽聽聽聽聽聽 <param-name>debug</param-name>
聽聽聽聽聽聽聽 <param-value>true</param-value>
聽聽聽 </init-param>
聽</servlet>
聽<servlet-mapping>
聽聽聽 <servlet-name>dwr-invoker</servlet-name>
聽聽聽 <url-pattern>/dwr/*</url-pattern>
聽</servlet-mapping>

聽<welcome-file-list>
聽聽聽 <welcome-file>search.jsp</welcome-file>
聽</welcome-file-list>

2.dwr.xml
聽<dwr>
聽聽聽 <allow><convert convert="bean"聽 match="dwr.sample.Apartment"/>
聽聽聽 <create>
聽聽聽聽聽聽聽聽聽聽 <creator="new" javascript="ApartmentDAO" class="dwr.sample.ApartmentDAO">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <include method="findApartments"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <include method="countApartments"/>
聽聽聽聽聽聽聽聽聽聽 </creator>
聽聽聽 </create>
聽聽聽 </allow>
</dwr>
3.DB
CREATE TABLE APARTMENTS (id INTEGER, bedrooms INTEGER, bathrooms INTEGER, price INTEGER, address VARCHAR, city VARCHAR, province VARCHAR);
INSERT INTO APARTMENTS VALUES (16001, 1, 1, 850, '123 King St. East', 'Toronto', 'ON');
INSERT INTO APARTMENTS VALUES (16002, 2, 1, 1000, '1023 Yonge Ave.', 'Toronto', 'ON');
INSERT INTO APARTMENTS VALUES (16003, 2, 2, 1050, '27 Winchester St.', 'Toronto', 'ON');
4.Apertment.java
鏅氱殑javabean
5.DBUtils.java
聽聽聽鏁版嵁搴撻摼鎺ョ被
聽聽 public class DBUtils {

聽/*
聽 * Creates the sample data (table and records).
聽 */
聽public static void setupDatabase(BufferedReader reader) {
聽聽Connection c = null;
聽聽Statement stmt = null;
聽聽try {
聽聽聽c = openConnection();
聽聽聽stmt = c.createStatement();
聽聽聽// reads the file with the SQL statements
聽聽聽String line;
聽聽聽while ((line = reader.readLine()) != null) {
聽聽聽聽stmt.execute(line);
聽聽聽}
聽聽聽stmt.close();
聽聽聽c.close();
聽聽} catch (IOException e) {
聽聽聽e.printStackTrace();
聽聽} catch (SQLException e) {
聽聽聽e.printStackTrace();
聽聽} finally {
聽聽聽try {
聽聽聽聽stmt.close();
聽聽聽聽c.close();
聽聽聽} catch (SQLException e) {
聽聽聽聽e.printStackTrace();
聽聽聽}
聽聽}
聽}

聽/*
聽 * Opens a database connection.
聽 */
聽public static Connection openConnection() throws SQLException {
聽聽Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:dwr-sample", "sa", "");
聽聽return c;
聽}

}

6.ContextListener.java
聽聽 瀹炵幇浜哠ervletContextListerer鎺ュ彛鐨勭被
聽聽 public class ContextListener implements javax.servlet.ServletContextListener {

聽/**
聽 * This method is invoked when the Web Application has been removed and is
聽 * no longer able to accept requests.
聽 * @param event
聽 */
聽public void contextDestroyed(ServletContextEvent event) {
聽}

聽/**
聽 * This method is invoked when the Web Application is ready to service requests.
聽 * @param event
聽 */
聽public void contextInitialized(ServletContextEvent event) {
聽聽try {
聽聽聽// load the driver
聽聽聽Class.forName("org.hsqldb.jdbcDriver");
聽聽聽// create the table and add sample data
聽聽聽InputStreamReader in = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("db.sql"));
聽聽聽BufferedReader reader = new BufferedReader(in);
聽聽聽DBUtils.setupDatabase(reader);
聽聽} catch (ClassNotFoundException e) {
聽聽聽e.printStackTrace();
聽聽}
聽聽
聽}

}
7.ApartmentDAO.java
聽聽 涓氬姟閫昏緫灞?br />聽聽 public class ApartmentDAO {

聽/**
聽 * Returns the available apartments based on the search criteria.
聽 * @param bedrooms minimum number of bedrooms
聽 * @param bathrooms minimum number of bathrooms
聽 * @param price maximum price to be paid
聽 * @return
聽 */
聽public Collection findApartments(int bedrooms, int bathrooms, int price) {
聽聽Collection list = new Vector();
聽聽String sql = "select * from APARTMENTS" +
聽聽聽聽createSearchWhereClause(bedrooms, bathrooms, price) +
聽聽聽聽"order by bedrooms, bathrooms, price";

聽聽// define db variables
聽聽Connection c = null;
聽聽Statement stmt = null;
聽聽try {
聽聽聽c = DBUtils.openConnection();
聽聽聽stmt = c.createStatement();
聽聽聽// just run the sql statement
聽聽聽ResultSet rs = stmt.executeQuery(sql);
聽聽聽while(rs.next()) {
聽聽聽聽Apartment apartment = this.getApartment(rs);
聽聽聽聽list.add(apartment);
聽聽聽}
聽聽} catch (SQLException e) {
聽聽聽e.printStackTrace();
聽聽} finally {
聽聽聽try {
聽聽聽聽stmt.close();
聽聽聽聽c.close();
聽聽聽} catch (SQLException e) {
聽聽聽聽e.printStackTrace();
聽聽聽}
聽聽}

聽聽return list;
聽}

聽/**
聽 * Returns the number of available apartments based on the search criteria.
聽 * @param bedrooms minimum number of bedrooms
聽 * @param bathrooms minimum number of bathrooms
聽 * @param price maximum price to be paid
聽 * @return
聽 */
聽public int countApartments(int bedrooms, int bathrooms, int price) {
聽聽String sql = "select count(*) as total from APARTMENTS" + createSearchWhereClause(bedrooms, bathrooms, price);
聽聽int numberApartments = -1;
聽聽// define db variables
聽聽Connection c = null;
聽聽Statement stmt = null;
聽聽try {
聽聽聽c = DBUtils.openConnection();
聽聽聽stmt = c.createStatement();
聽聽聽// just run the sql statement
聽聽聽ResultSet rs = stmt.executeQuery(sql);
聽聽聽if (rs.next()) {
聽聽聽聽numberApartments = rs.getInt("total");
聽聽聽}
聽聽} catch (SQLException e) {
聽聽聽e.printStackTrace();
聽聽} finally {
聽聽聽try {
聽聽聽聽stmt.close();
聽聽聽聽c.close();
聽聽聽} catch (SQLException e) {
聽聽聽聽e.printStackTrace();
聽聽聽}
聽聽}
聽聽
聽聽return numberApartments;
聽}

聽/**
聽 * Creates a Unit object from the database.
聽 * @param rs
聽 * @return
聽 * @throws SQLException
聽 */
聽private Apartment getApartment(ResultSet rs) throws SQLException {
聽聽Apartment ap = new Apartment();
聽聽ap.setId(rs.getInt("id"));
聽聽ap.setAddress(rs.getString("address"));
聽聽ap.setBedrooms(rs.getInt("bedrooms"));
聽聽ap.setBathrooms(rs.getInt("bathrooms"));
聽聽ap.setPrice(rs.getInt("price"));
聽聽ap.setCity(rs.getString("city"));
聽聽ap.setProvince(rs.getString("province"));
聽聽return ap;
聽}


聽/**
聽 * Creates the where clause for the search SQL statement.
聽 * @param bedrooms
聽 * @param bathrooms
聽 * @param price
聽 * @return
聽 */
聽private String createSearchWhereClause(int bedrooms, int bathrooms, int price) {
聽聽String where = " where bedrooms >= " + bedrooms +
聽聽聽聽" and bathrooms >= " + bathrooms +
聽聽聽聽" and price < " + price;
聽聽return where;
聽}

}
8. search.jsp
聽 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
聽 <title>DWR Example</title>

聽聽 <style type="text/css" media="screen">
聽聽聽聽聽聽 @import url( style.css );
聽聽 </style>聽

聽 <script src='dwr/interface/ApartmentDAO.js'></script>
聽 <script src='dwr/engine.js'></script>
聽 <script src='dwr/util.js'></script>
聽 <script>

聽 function updateTotal() {
聽聽聽 $("resultTable").style.display = 'none';
聽聽聽 var bedrooms = document.getElementById("bedrooms").value;
聽聽聽 var bathrooms = document.getElementById("bathrooms").value;
聽聽聽 var price = document.getElementById("price").value;
聽聽聽 ApartmentDAO.countApartments(loadTotal, bedrooms, bathrooms, price);
聽 }

聽 function updateResults() {
聽聽聽 DWRUtil.removeAllRows("apartmentsbody");
聽聽聽 var bedrooms = document.getElementById("bedrooms").value;
聽聽聽 var bathrooms = document.getElementById("bathrooms").value;
聽聽聽 var price = document.getElementById("price").value;
聽聽聽 ApartmentDAO.findApartments(fillTable, bedrooms, bathrooms, price);
聽聽聽 $("resultTable").style.display = '';
聽 }

聽 var getId = function(unit) { return unit.id };
聽 var getAddress = function(unit) { return unit.address };
聽 var getBedrooms = function(unit) { return unit.bedrooms };
聽 var getBathrooms = function(unit) { return unit.bathrooms };
聽 var getPrice = function(unit) { return unit.price };
聽聽聽
聽 function loadTotal(data) {
聽聽聽 document.getElementById("totalRecords").innerHTML = data;
聽 }

聽 function fillTable(apartment) {
聽聽聽 DWRUtil.addRows("apartmentsbody", apartment, [ getId, getAddress, getBedrooms, getBathrooms, getPrice ]);
聽 }

</script>

</head>

<body onload="updateTotal();">

<h2>Find an apartment to rent</h2>

<table border="0">
<form name="rentalForm">
聽 <tr width="400">
聽聽 <td width="100">City</td>
聽聽 <td width="300">Toronto</td>
聽 </tr>
聽 <tr>
聽聽 <td>Beds</td>
聽聽 <td>
聽聽聽 <select id="bedrooms" onchange="updateTotal()">
聽聽聽聽 <option value="1">1 or more</option>
聽聽聽聽 <option value="2">2 or more</option>
聽聽聽聽 <option value="3">3 or more</option>
聽聽聽聽 <option value="4">4 or more</option>
聽聽聽 </select>
聽聽 </td>
聽 </tr>

聽 <tr>
聽聽 <td>Baths</td>
聽聽 <td>
聽聽聽 <select id="bathrooms" onchange="updateTotal()">
聽聽聽聽 <option value="1">1 or more</option>
聽聽聽聽 <option value="2">2 or more</option>
聽聽聽聽 <option value="3">3 or more</option>
聽聽聽聽 <option value="4">4 or more</option>
聽聽聽 </select>
聽聽 </td>
聽 </tr>

聽 <tr>
聽聽 <td>Price</td>
聽聽 <td>
聽聽聽 <select id="price" onchange="updateTotal()">
聽聽聽聽 <option value="800">under $800</option>
聽聽聽聽 <option value="1000">under $1,000</option>
聽聽聽聽 <option value="1250">under $1,250</option>
聽聽聽聽 <option value="1500" selected="selected">under $1,500</option>
聽聽聽聽 <option value="1800">under $1,800</option>
聽聽聽聽 <option value="2000">under $2,000</option>
聽聽聽 </select>
聽聽 </td>
聽 </tr>

聽 <tr>
聽聽 <td colspan="2">
聽聽聽 <blockquote>
聽聽聽聽 Available apartments: <span id="totalRecords" style="font-weight:bold;"></span>
聽聽聽 </blockquote>
聽聽 </td>
聽 </tr>

</form>
</table>

<p><input type="button" value="Show results!" onClick="updateResults();"></p>

<div id="resultTable">

<h2>Results</h2>

聽<table border="1">
聽 <thead>
聽聽聽 <tr>
聽聽聽聽聽 <th width="40">Id</th>
聽聽聽聽聽 <th width="180">Address</th>
聽聽聽聽聽 <th width="60">Beds</th>
聽聽聽聽聽 <th width="60">Baths</th>
聽聽聽聽聽 <th width="60">Price</th>
聽聽聽 </tr>
聽 </thead>
聽 <tbody id="apartmentsbody">

聽 </tbody>
聽</table>
</div>

</body>
</html>

鐢變簬欏圭洰闇瑕?闇鍦ㄦ垜浠幇鏈夌殑struts銆乭ibernate宸ョ▼涓婇泦鎴恆jax鍔熻兘.欏圭洰緇勫喅瀹氫嬌鐢―wr.
鍒氬紑濮嬬爺絀禗wr.瑙夊緱鐪熺殑寰堜笉閿? 鍙渶寰堝皯閲忕殑浠g爜,灝辮兘鍦ㄧ幇鏈夌殑宸ョ▼涓婇泦鎴恆jax鎶鏈? 鏈熷緟Dwr鏈夋洿杈夌厡鐨勬槑澶╋紒
鍠滄Dwr鎶鏈殑IT鐣屾湅鍙嬪彲浠ヤ笌鏈漢鑱旂郴錛佹湜鎻愬嚭濂界殑鎰忚涓庡緩璁?



HandSoft 2007-01-21 23:35 鍙戣〃璇勮
]]>
Dwrhttp://www.tkk7.com/gavinju/archive/2007/01/21/95140.htmlHandSoftHandSoftSun, 21 Jan 2007 07:59:00 GMThttp://www.tkk7.com/gavinju/archive/2007/01/21/95140.htmlhttp://www.tkk7.com/gavinju/comments/95140.htmlhttp://www.tkk7.com/gavinju/archive/2007/01/21/95140.html#Feedback0http://www.tkk7.com/gavinju/comments/commentRss/95140.htmlhttp://www.tkk7.com/gavinju/services/trackbacks/95140.html 聽聽聽聽聽聽聽 Ajax錛屾垨鑰呰鏄紓姝avaScript鍜孹ML錛屾弿榪頒簡涓縐嶄嬌鐢ㄦ販鍚堜簡HTML(鎴朮HTML)鍜屽眰鍙犳牱寮忚〃浣滀負琛ㄨ揪淇℃伅,鏉ュ垱寤轟氦浜掑紡鐨刉eb搴旂敤鐨勫紑鍙戞妧鏈?鏂囨。瀵硅薄妯″瀷(DOM)錛孞avaScript,鍔ㄦ佸湴鏄劇ず鍜屼笌琛ㄨ揪淇℃伅榪涜浜や簰;騫朵笖錛孹MLHttpRequest瀵硅薄涓嶹eb鏈嶅姟鍣ㄥ紓姝ュ湴浜ゆ崲鍜屽鐞嗘暟鎹?/font>

銆銆鍥犵壒緗戜笂璁稿渚嬪瓙灞曠ず浜嗗湪涓涓狧TML鏂囦歡鍐呴儴浣跨敤XMLHttpRequest涓庢湇鍔″櫒绔繘琛屼氦浜掔殑蹇呰鐨勬楠ゃ傚綋鎵嬪伐鍦扮紪鍐欏拰緇存姢XMLHttpRequest浠g爜鏃訛紝寮鍙戣呭繀欏誨鐞嗚澶氭綔鍦ㄧ殑闂錛岀壒鍒槸綾諱技浜庤法嫻忚鍣ㄧ殑DOM瀹炵幇鐨勫吋瀹規ц繖鏍風殑闂銆傝繖灝嗕細瀵艱嚧鍦ㄧ紪鐮佸拰璋冭瘯Javascript浠g爜涓婇潰鑺辮垂鏁頒笉娓呯殑鏃墮棿錛岃繖鏄劇劧瀵瑰紑鍙戣呮潵璇村緢涓嶅弸濂姐?/font>

銆銆DWR(鐩存帴Web榪滅▼鎺у埗)欏圭洰鏄湪Apache璁稿彲涓嬬殑涓涓紑婧愮殑瑙e喅鏂規錛屽畠渚涚粰閭d簺鎯寵浠ヤ竴縐嶇畝鍗曠殑鏂瑰紡浣跨敤Ajax鍜孹MLHttpRequest鐨勫紑鍙戣呫傚畠鍏鋒湁涓濂桱avascript鍔熻兘闆嗭紝瀹冧滑鎶婁粠HTML欏甸潰璋冪敤搴旂敤鏈嶅姟鍣ㄤ笂鐨凧ava瀵硅薄鐨勬柟娉曠畝鍖栦簡銆傚畠鎿嶆帶涓嶅悓綾誨瀷鐨勫弬鏁幫紝騫跺悓鏃朵繚鎸佷簡HTML浠g爜鐨勫彲璇繪с?br />涓. Util.js
聽聽聽聽聽 util.js鍖呭惈涓緋誨垪鐨勫伐鍏峰嚱鏁頒嬌鐢╦avascript榪斿洖鐨勬暟鎹潵甯姪鏇存柊Web欏甸潰銆?br />util.js涓湁鍥涚鍩烘湰鐨勯〉闈㈡搷浣滃嚱鏁?
getValue[s];setValue[s]鍙互鍜岄櫎榪噒ables銆乴ists銆乮mages鐨勫ぇ閮ㄥ垎鐨刪tml鍏冪礌浜や簰.
getText()鍙互鍜岄夋嫨鍒楄〃(select lists)浜や簰.
緙栬緫tables鐢╝ddRows()鍜宺emoveAllRows()鏂規硶.緙栬緫鍒楄〃(閫夋嫨lists鍜寀l,ol鍒楄〃)鐢?br />addOptions()鍜宺emoveAllOptions().
1.${}
聽 ${}鍑芥暟鏄竴涓?javascript)鍏ㄥ眬鍙橀噺.
聽 $=document.getElementById
聽 '$'鍙互閫氳繃緇欏畾鐨?ID'鍙栧緱HTML鏂囨。鍏冪礌.浠栦篃鍙繑鍥炰竴涓寘鍚繑鍥炲厓绱犵殑鏁扮粍.
2.Generating Lists
聽 DWRUtil.addOptions()鎻忚堪浜嗕笅鎷夊垪琛ㄧ殑瀹炵幇
聽 var sel = DWRUtil.getValue(id);
聽 DWRUtil.removeAllOptions(id);
聽 DWRUtil.addOptions(id,...);
聽 DWRUtil.setValue(id,sel);
聽 濡傛灉鎯寵娣誨姞"璇烽夋嫨..."欏?鍙互娣誨姞浠ヤ笅欏? DWRUtil.addOptions(id,["Please select ..."]);
聽 DWRUtil.addOptions鏈夊洓縐嶄嬌鐢ㄦā寮?
聽 Array:
聽聽聽聽聽聽 DWRUtil.addOptions(selectid,array)鍜岀敤鏂囨湰鍜屽煎垱寤轟簡閫夋嫨鍒楄〃.
聽 Array of Objects(using option text = option value):
聽聽聽聽聽聽 DWRUtil.addOptions(selectid,data,prop)鐢ㄦ暟緇勫厓绱犲垱寤轟簡閫夋嫨鍒楄〃,閫夋嫨鍒楄〃涓殑鍊煎拰鏂囨湰璁懼畾涓?br />聽聽聽聽聽聽 鏁扮粍涓殑姣忎釜瀵硅薄鐨勫睘鎬?
聽 Array of objects(with differing option text and value):
聽聽聽聽聽聽 DWRUtil.addOptions(selectid,array,valueprop,textprop)
聽 Object:
聽聽聽聽聽聽 DWRUtil.addOptions(selectid,map,reverse)
聽 Map of object:
聽聽聽聽聽聽 DWRUtil.addOptions(ulid,array)



HandSoft 2007-01-21 15:59 鍙戣〃璇勮
]]>
縐戜互浜洪噸縐戜害閲嶏紝浜轟互縐戜紶浜哄彲鐭?/title><link>http://www.tkk7.com/gavinju/archive/2006/09/27/72295.html</link><dc:creator>HandSoft</dc:creator><author>HandSoft</author><pubDate>Wed, 27 Sep 2006 06:16:00 GMT</pubDate><guid>http://www.tkk7.com/gavinju/archive/2006/09/27/72295.html</guid><wfw:comment>http://www.tkk7.com/gavinju/comments/72295.html</wfw:comment><comments>http://www.tkk7.com/gavinju/archive/2006/09/27/72295.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/gavinju/comments/commentRss/72295.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/gavinju/services/trackbacks/72295.html</trackback:ping><description><![CDATA[ <p>聽聽聽聽聽聽聽 鏈漢姣曚笟浜庤タ瀹夌數瀛愮鎶澶у錛屾湰縐戙傜儹鐖辮蔣浠跺紑鍙戯紝綺鵑欽AVA .鐔熸倝Struts,Spring,Hibernate,Jboss,Eclipse絳夊縐嶅紑婧愭妧鏈?br />鐜頒富瑕佷粠浜嬩簬Oracle鐩稿叧浜у搧鐨勫紑鍙戙傛湁鐫ERP,CRM,MES緋葷粺鐨勫紑鍙戠粡楠岋紝鐩墠姝g潃鎵嬩簬Struts涓嶢jax鎶鏈殑闆嗘垚緋葷粺鐨勫紑鍙戯紝<br />瀹樻柟緇欏嚭鐨凙jaxTags涔熷彧鏄祴璇曠増錛屾鎶鏈澶勪簬璧鋒闃舵銆傛湜瀵規鎶鏈湁鐮旂┒鐨勬湅鍙嬩笌鎴戣仈緋伙紝緇欏嚭鎸囩偣銆?br />鐪熻瘹緇撲氦IT灞婂悓浠侊紝鍏卞悓瀛︿範錛屽叡鍚屼氦嫻併傛瀯寤哄拰璋愮ぞ浼氥?br />QQ: 541638655<br />MSN: <a href="mailto:jucracker@hotmail.com">jucracker@hotmail.com</a><br />Phone: 13817080595</p> <img src ="http://www.tkk7.com/gavinju/aggbug/72295.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/gavinju/" target="_blank">HandSoft</a> 2006-09-27 14:16 <a href="http://www.tkk7.com/gavinju/archive/2006/09/27/72295.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>http://ajaxcn.org/space/Ajax/Dojo/Event ----- Ajax涓浗http://www.tkk7.com/gavinju/archive/2006/08/29/66397.htmlHandSoftHandSoftTue, 29 Aug 2006 05:16:00 GMThttp://www.tkk7.com/gavinju/archive/2006/08/29/66397.htmlhttp://www.tkk7.com/gavinju/comments/66397.htmlhttp://www.tkk7.com/gavinju/archive/2006/08/29/66397.html#Feedback0http://www.tkk7.com/gavinju/comments/commentRss/66397.htmlhttp://www.tkk7.com/gavinju/services/trackbacks/66397.html Dojo Event System

HandSoft 2006-08-29 13:16 鍙戣〃璇勮
]]>
嬈㈣繋鐑埍Ajax鎶鏈殑鏈嬪弸鍔犲叆鏈兢錛?8058108http://www.tkk7.com/gavinju/archive/2006/08/18/64250.htmlHandSoftHandSoftFri, 18 Aug 2006 01:07:00 GMThttp://www.tkk7.com/gavinju/archive/2006/08/18/64250.htmlhttp://www.tkk7.com/gavinju/comments/64250.htmlhttp://www.tkk7.com/gavinju/archive/2006/08/18/64250.html#Feedback0http://www.tkk7.com/gavinju/comments/commentRss/64250.htmlhttp://www.tkk7.com/gavinju/services/trackbacks/64250.html

HandSoft 2006-08-18 09:07 鍙戣〃璇勮
]]>
gwt鐨勫彲瑙嗗寲寮鍙戝伐鍏鳳細--- VistaFei http://www.tkk7.com/gavinju/archive/2006/08/04/61792.htmlHandSoftHandSoftFri, 04 Aug 2006 08:55:00 GMThttp://www.tkk7.com/gavinju/archive/2006/08/04/61792.htmlhttp://www.tkk7.com/gavinju/comments/61792.htmlhttp://www.tkk7.com/gavinju/archive/2006/08/04/61792.html#Feedback1http://www.tkk7.com/gavinju/comments/commentRss/61792.htmlhttp://www.tkk7.com/gavinju/services/trackbacks/61792.html gwt鐨勫彲瑙嗗寲寮鍙戝伐鍏鳳細--- VistaFei

2006-7-19 鍙戝竷鐨刧wt鐨勫彲瑙嗗寲寮鍙戝伐鍏?----聽聽 VistaFei
鐗圭偣錛?br />1錛屽熀浜巈clipse
2錛屽彲浠ヨ嚜鐢辨嫋鏀劇粍浠?br />3錛屾病鏈夎鏄惁鍏嶈垂
4錛岃繖涓増鏈浜庡垵瀛wt鐨勪漢寰堟湁甯姪錛屼絾瀵逛簬鐪熷疄鐨勫簲鐢ㄨ繕涓嶈

涓婚〉錛歨ttp://www.wirelexsoft.com/
涓嬭澆鍦板潃錛歨ttp://www.wirelexsoft.com/wforum/viewtopic.php?t=48
瑕佹敞鍐岀敤鎴鋒墠鍙互涓嬭澆



HandSoft 2006-08-04 16:55 鍙戣〃璇勮
]]>
Ajax 妗嗘灦ZK 2.1.0 RC2 鍙戝竷http://www.tkk7.com/gavinju/archive/2006/08/03/61532.htmlHandSoftHandSoftThu, 03 Aug 2006 08:18:00 GMThttp://www.tkk7.com/gavinju/archive/2006/08/03/61532.htmlhttp://www.tkk7.com/gavinju/comments/61532.htmlhttp://www.tkk7.com/gavinju/archive/2006/08/03/61532.html#Feedback1http://www.tkk7.com/gavinju/comments/commentRss/61532.htmlhttp://www.tkk7.com/gavinju/services/trackbacks/61532.htmlZK 寮鍙戝皬緇?1鏃ュ甯冿紝鍙戝竷ZK 2.1.0 RC2 鐗堟湰銆?/p>

ZK 鏄竴涓熀浜嶺UL宓屽叆AJAX浜嬩歡椹卞姩鐨凧ava 妗嗘灦錛岀敤浜庝赴瀵岀敤鎴風綉緇滃簲鐢ㄧ▼搴忕晫闈€?/p>

鏂扮増鏈腑澧炲姞浜?5涓柊鐗規э紝淇ˉ浜?9涓猙ug錛屽寘鎷琩irective銆乮mport銆乧omponent銆乻tyle銆乪vent銆佽嚜瀹氫箟閿欒欏甸潰絳夌瓑銆?CSDN)



HandSoft 2006-08-03 16:18 鍙戣〃璇勮
]]>
Google Web Toolkit http://www.tkk7.com/gavinju/archive/2006/08/01/61248.htmlHandSoftHandSoftTue, 01 Aug 2006 12:21:00 GMThttp://www.tkk7.com/gavinju/archive/2006/08/01/61248.htmlhttp://www.tkk7.com/gavinju/comments/61248.htmlhttp://www.tkk7.com/gavinju/archive/2006/08/01/61248.html#Feedback0http://www.tkk7.com/gavinju/comments/commentRss/61248.htmlhttp://www.tkk7.com/gavinju/services/trackbacks/61248.html璐逛簡鎴戝緢澶у懆鎶橈紒鐩鎬俊寰堝揩浼氭湁鏇村畬緹庣殑鐗堟湰錛?br />鎷洰浠ュ緟鍚э紒
聽聽聽聽

HandSoft 2006-08-01 20:21 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲成aⅴ人片在线观| 亚洲国产另类久久久精品黑人| 亚洲精品不卡视频| 国产精品99精品久久免费| 亚洲日韩激情无码一区| 福利免费在线观看| 亚洲爆乳无码一区二区三区| a级毛片视频免费观看| 亚洲成A人片在线观看无码不卡| 国产一级一毛免费黄片| 亚洲国产精品无码专区| 久久青草精品38国产免费| 亚洲色四在线视频观看| 不卡一卡二卡三亚洲| eeuss草民免费| 国产成人亚洲精品青草天美 | 亚洲午夜精品一区二区麻豆| 免费不卡视频一卡二卡| 亚洲久热无码av中文字幕| 免费人成在线观看网站视频| h视频在线免费观看| 久久精品国产精品亚洲艾草网 | 在线播放国产不卡免费视频| 国产亚洲精品看片在线观看| 久久久高清日本道免费观看| 亚洲国产精品专区| 日本高清免费中文字幕不卡| 精品多毛少妇人妻AV免费久久| 午夜亚洲国产理论秋霞| 黑人粗长大战亚洲女2021国产精品成人免费视频| 久久亚洲国产成人精品无码区| 十八禁在线观看视频播放免费| 亚洲另类图片另类电影| 国产v片免费播放| 久久国产免费观看精品| 亚洲一区二区三区无码国产| 亚洲精品视频免费| 免费v片在线观看视频网站| 无人视频免费观看免费视频| 久久久婷婷五月亚洲97号色| 精品国产免费观看久久久|