<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 55  文章 - 187  trackbacks - 0
    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(12)

    隨筆分類

    隨筆檔案

    groovy

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    工程目錄


    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns
    ="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        id
    ="WebApp_ID" version="2.5">
        
    <display-name>android</display-name>
        
    <welcome-file-list>
            
    <welcome-file>index.html</welcome-file>
            
    <welcome-file>index.htm</welcome-file>
            
    <welcome-file>index.jsp</welcome-file>
            
    <welcome-file>default.html</welcome-file>
            
    <welcome-file>default.htm</welcome-file>
            
    <welcome-file>default.jsp</welcome-file>
        
    </welcome-file-list>

        
    <!-- 第一 這個過濾器與Struts的核心過濾器協同工作,以便更容易與sitemesh整合 -->
        
    <filter>
            
    <filter-name>struts-cleanup</filter-name>
            
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
        
    </filter>

        
    <!-- 第二 sitemesh的過濾器,同時也整合了Freemarker -->
        
    <filter>
            
    <filter-name>sitemesh</filter-name>
            
    <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class>
        
    </filter>

        
    <!-- 第三 struts2過濾器 -->
        
    <filter>
            
    <filter-name>struts2Filter</filter-name>
            
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        
    </filter>


        
    <filter-mapping>
            
    <filter-name>struts-cleanup</filter-name>
            
    <url-pattern>/*</url-pattern>
        
    </filter-mapping>
        
    <filter-mapping>
            
    <filter-name>sitemesh</filter-name>
            
    <url-pattern>/*</url-pattern>
        
    </filter-mapping>
        
    <filter-mapping>
            
    <filter-name>struts2Filter</filter-name>
            
    <url-pattern>/*</url-pattern>
        
    </filter-mapping>

        
    <!--
            使FreeMarker模塊能夠使用strut2標簽,使用方式:<#assign
            s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
        
    -->
        
    <servlet>
            
    <servlet-name>JspSupportservlet</servlet-name>
            
    <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>

        
    <servlet>
            
    <servlet-name>sitemesh-freemarker</servlet-name>
            
    <servlet-class>com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</servlet-class>
            
    <init-param>
                
    <param-name>TemplatePath</param-name>
                
    <param-value>/</param-value>
            
    </init-param>
            
    <init-param>
                
    <param-name>default_encoding</param-name>
                
    <param-value>UTF-8</param-value>
            
    </init-param>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>

        
    <servlet-mapping>
            
    <servlet-name>sitemesh-freemarker</servlet-name>
            
    <url-pattern>/*</url-pattern>
        
    </servlet-mapping>

    </web-app>

    struts.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
            "http://struts.apache.org/dtds/struts-2.1.dtd"
    >
    <struts>
        
    <constant name="struts.convention.default.parent.package" value="crud-default" />
        
    <constant name="struts.convention.package.locators" value="action" />
        
    <constant name="struts.convention.package.locators.basePackage" value="org.david.android" />
        
    <constant name="struts.convention.result.path" value="/WEB-INF/web" />

        
    <!-- 用于CRUD Action的parent package -->
        
    <package name="crud-default" extends="convention-default">
            
    <!-- 基于paramsPrepareParamsStack,
                增加store interceptor保證actionMessage在redirect后不會丟失 
    -->
            
    <interceptors>
                
    <interceptor-stack name="crudStack">
                    
    <interceptor-ref name="store">
                        
    <param name="operationMode">AUTOMATIC</param>
                    
    </interceptor-ref>
                    
    <interceptor-ref name="paramsPrepareParamsStack" />
                
    </interceptor-stack>
            
    </interceptors>

            
    <default-interceptor-ref name="crudStack" />
        
    </package>

        
    <!-- 
            使用Convention插件,實現約定大于配置的零配置文件風格.
                   特殊的Result路徑在Action類中使用@Result設定. 
        
    -->
    </struts>

    decorators.xml
    <?xml version="1.0" encoding="UTF-8"?>

    <decorators defaultdir="/WEB-INF/decorators">
        
    <decorator name="main" page="main.ftl">
            
    <pattern>/*</pattern>
        
    </decorator>
    </decorators>

    HelloWorldAction.java
    package org.david.android.action.user;


    public class HelloWorldAction {
        
    private String message;
        
    public String getMessage() {
            
    return message;
        }
        
        
    public void setMessage(String message) {
            
    this.message = message;
        }
        
        
    public String execute(){
            
    this.message = "ITdavid";
            
    return "success";
        }
    }

    main.ftl
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>${title}</title>
    </head>
    <body>
    <div>
    hello
    ${body}
    </body>
    </html>

    hello-world.ftl
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="layout" content="main"/>
    <title>Insert title here</title>
    </head>
    <body>
        Hello ${message!}
    </body>
    </html>


    posted @ 2009-11-29 17:05 大衛 閱讀(3294) | 評論 (4)編輯 收藏
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:web
    ="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        id
    ="WebApp_ID" version="2.5">
        
    <display-name>fmtest</display-name>
        
    <welcome-file-list>
            
    <welcome-file>index.html</welcome-file>
            
    <welcome-file>index.htm</welcome-file>
            
    <welcome-file>index.jsp</welcome-file>
            
    <welcome-file>default.html</welcome-file>
            
    <welcome-file>default.htm</welcome-file>
            
    <welcome-file>default.jsp</welcome-file>
        
    </welcome-file-list>

        
    <context-param>
            
    <param-name>contextConfigLocation</param-name>
            
    <param-value>/WEB-INF/config/service-context.xml</param-value>
        
    </context-param>
        
    <listener>
            
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        
    </listener>

        
    <filter>
            
    <display-name>Stripes Filter</display-name>
            
    <filter-name>StripesFilter</filter-name>
            
    <filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>
            
    <init-param>
                
    <param-name>ActionResolver.Packages</param-name>
                
    <param-value>net.sourceforge.stripes.examples</param-value>
            
    </init-param>
            
    <init-param>
                
    <param-name>Interceptor.Classes</param-name>
                
    <param-value>net.sourceforge.stripes.integration.spring.SpringInterceptor</param-value>
            
    </init-param>
        
    </filter>
        
    <filter-mapping>
            
    <filter-name>StripesFilter</filter-name>
            
    <servlet-name>StripesDispatcher</servlet-name>
        
    </filter-mapping>

        
    <servlet>
            
    <servlet-name>StripesDispatcher</servlet-name>
            
    <servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>StripesDispatcher</servlet-name>
            
    <url-pattern>*.action</url-pattern>
        
    </servlet-mapping>

        
    <servlet>
            
    <servlet-name>Freemarker</servlet-name>
            
    <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
            
    <init-param>
                
    <param-name>TemplatePath</param-name>
                
    <param-value>/</param-value>
            
    </init-param>
            
    <init-param>
                
    <param-name>template_update_delay</param-name>
                
    <param-value>0</param-value> <!-- 0 is for dev only! Use higher value otherwise. -->
            
    </init-param>
            
    <init-param>
                
    <param-name>DefaultEncoding</param-name>
                
    <param-value>utf-8</param-value>
            
    </init-param>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>Freemarker</servlet-name>
            
    <url-pattern>*.ftl</url-pattern>
        
    </servlet-mapping>

    </web-app>
    posted @ 2009-11-25 15:45 大衛 閱讀(1755) | 評論 (2)編輯 收藏
    解決FreeMarker中文亂碼問題。
    在web.xml中配置如下:
    <servlet>
        
    <servlet-name>Freemarker</servlet-name>
        
    <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
        
    <init-param>
            
    <param-name>TemplatePath</param-name>
            
    <param-value>/</param-value>
        
    </init-param>
        
    <init-param>
            
    <param-name>template_update_delay</param-name>
            
    <param-value>3600</param-value> <!-- 0 值僅用于開發環境,生產環境請設置為3600或者更大。 -->
        
    </init-param>
        
    <init-param>
            
    <param-name>DefaultEncoding</param-name> <!-- 解決中文編碼問題 -->
            
    <param-value>utf-8</param-value>
        
    </init-param>
        
    <load-on-startup>1</load-on-startup>
    </servlet>
    --------------------

        PES準高手
    posted @ 2009-11-25 15:02 大衛 閱讀(5066) | 評論 (1)編輯 收藏
    RT
    太保守會影響效率,當某些代碼邏輯是認為可控制時,不用保守。
    posted @ 2009-09-28 10:08 大衛 閱讀(429) | 評論 (0)編輯 收藏
    關于類的劃分,上層應該按業務領域含義劃分,下層應該按實現細節劃分。
    posted @ 2009-09-27 12:10 大衛 閱讀(414) | 評論 (0)編輯 收藏
    其實很簡單,就把標記@Id放在主鍵(非自增)上就OK了。
    posted @ 2009-02-25 14:12 大衛 閱讀(2555) | 評論 (0)編輯 收藏
         摘要: 在設計數據庫表的時候,往往會設計出帶有復合主鍵的表,即表的記錄由多個字段聯合標識,如: 表 CREATE TABLE TB_HOUR_DATA (   STAT_DATE  DATE            &...  閱讀全文
    posted @ 2009-02-25 14:10 大衛 閱讀(3005) | 評論 (2)編輯 收藏

    如何調用執行iframe中的方法?如下:

    document.getElementById("iframeId").contentWindow.functionName();
    posted @ 2008-10-07 14:50 大衛 閱讀(5359) | 評論 (5)編輯 收藏
    http://www.nciku.com/
    這個網站里面的手寫輸入真棒!
    posted @ 2008-09-19 14:15 大衛 閱讀(1275) | 評論 (1)編輯 收藏

    最近用smartdraw畫了一些結構圖,感覺比visio之類好用,而且也包羅萬象,推薦一下!
    下載地址:http://soft.mumayi.net/downinfo/3393.html

    posted @ 2008-09-18 14:04 大衛 閱讀(1854) | 評論 (2)編輯 收藏
    /* 判斷是否含有GBK以外的特殊字符 */
    boolean isGBK(String s) throws UnsupportedEncodingException
    {
        
    if(s.equals(new String(s.getBytes("gbk"))))
            
    return true;
        
    else
            
    return false;
    }
    posted @ 2008-09-16 13:04 大衛 閱讀(878) | 評論 (1)編輯 收藏
    使用這個組合,感覺還是很方便靈活的。

    1、將struts2的json插件加入web工程的lib,jsonplugin的下載地址:http://code.google.com/p/jsonplugin/downloads/list

    2、struts.xml添加專為ajax使用的package
    <package name="ajax" extends="json-default">
            
    <action name="ajaxRequest"
                class
    ="org.david.struts2.HelloWorld">
                
    <result type="json"></result>
            
    </action>
        
    </package>

    3、helloworld.jsp
               <SCRIPT type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
            
    <SCRIPT type="text/javascript">
                
    function clickButton()
                
    {    
                    
    var url = 'ajaxRequest.action';
                    
    var params = {
                            name:$('#name').attr('value')
                    }
    ;
                    jQuery.post(url, params, callbackFun, 'json');
                }

                
    function callbackFun(data)
                
    {
                    alert(data.result);//對應HelloWorld類的message屬性
                        //獲取數據后渲染頁面
                }

            
    </SCRIPT>



           
    <input id="name" type="text">
            
    <input type="button" value="ok" onclick="javascript:clickButton();">

    4、HelloWorld.java
    package org.david.struts2;

    public class HelloWorld {

        
    private String name;
        
    private String result;

        
    // ajax請求參數賦值
        public void setName(String name) {
            
    this.name = name;
        }


        
    // ajax返回結果
        public String getResult() {
            
    return result;
        }


        
    public String execute() {
            
    this.result = "Hello! " + this.name + ".";
            
    return "success";
        }


    }
    posted @ 2008-09-07 23:07 大衛 閱讀(41959) | 評論 (17)編輯 收藏
    鼠標手型代碼:
    this.style.cursor='pointer'
    不要用hand,否則firefox無效。
    posted @ 2008-08-01 17:03 大衛 閱讀(2341) | 評論 (1)編輯 收藏
    word-wrap:break-word 在firefox中不會起作用,以下是解決辦法:
    完整的css代碼為
    word-wrap:break-word; overflow:hidden;
    這段代碼應添加到td標簽的樣式中。另外,應該在外層的table標簽中添加樣式
    table-layout:fixed;
    posted @ 2008-07-11 13:34 大衛 閱讀(2108) | 評論 (1)編輯 收藏

    (.|\s)*

    posted @ 2008-06-23 14:49 大衛 閱讀(925) | 評論 (0)編輯 收藏

    按照下面做法,終于成功了!慶祝,紀念......

    背景:某個系統的mysql數據庫dnname采用默認的latin1字符集,系統升級需要將所有數據轉換成utf-8格式,目標數據庫為newdbname(建庫時使用utf8)

    方法一:

    步驟一 命令行執行:mysqldump --opt -hlocalhost -uroot -p*** --default-character-set=lantin1 dbname > /usr/local/dbname.sql

    步驟二 將 dbname.sql文件中的create table語句的CHARSET=latin1改為CHARSET=utf8

    步驟三 在dbname.sql文件中的insert語句之前加一條'set names utf8;'

    步驟四 將dbname.sql轉碼為utf-8格式,建議使用UltraEditor,可以直接使用該編輯器的'轉換->ASCII到UTF-8(Unicode編輯)',或者將文件另存為UTF-8(無BOM)格式

    步驟五 命令行執行:mysql -hlocalhost -uroot -p*** --default-character-set=utf8 new_dbname < /usr/local/dbname.sql

    總結:這種方法有個致命之處就是當數據中有大量中文字符和其他特殊符號字符時,很有可能導致在[步驟五]時報錯導致無法正常導入數據,如果數據庫比較大可以分別對每張表執行上述步驟

    方法二(推薦大家使用):

    為了解決第一種方法中總結時說到的問題,在網上苦苦查找了一天資料才東拼西湊的搞出一個比較穩妥的解決方法

    步驟一 將待導出的數據表的表結構導出(可以用Phpmyadmin、mysqldump等,很簡單就不說了),然后將導出的create table語句的CHARSET=latin1改為CHARSET=utf8,在目標庫newdbname中執行該create table語句把表結構建好,接下來開始導出-導入數據。命令:

    ./mysqldump -d DB_Dig > /usr/local/tmp/tables.sql

     

    步驟二 命令行:進入mysql命令行下,mysql -hlocalhost -uroot -p*** dbname

    步驟三 執行SQL select * from tbname into outfile '/usr/local/tbname.sql';

    步驟四 將tbname.sql轉碼為utf-8格式,建議使用UltraEditor,可以直接使用該編輯器的'轉換->ASCII到UTF-8(Unicode編輯)',或者將文件另存為UTF-8(無BOM)格式

    步驟五 在mysql命令行下執行語句 set character_set_database=utf8;  注:設置mysql的環境變量,這樣mysql在下一步讀取sql文件時將以utf8的形式去解釋該文件內容

    步驟六 在mysql命令行下執行語句 load data infile 'tbname.sql' into table newdbname.tbname;

    注意:千萬不要忘了第四步

    采用第二種方法,所有數據均正常導入,且格式轉換成功沒有亂碼。


    參考:http://blog.csdn.net/guoguo1980/archive/2008/01/28/2070701.aspx

    --------------------

        WE準高手

    posted @ 2008-06-11 16:54 大衛 閱讀(8968) | 評論 (8)編輯 收藏

    編譯:

    運行junit:
     java -cp ../lib/junit.jar:../lib/j2ee.jar:. junit.textui.TestRunner com.chinaren.common.ToolKitTest

    posted @ 2008-06-10 18:32 大衛 閱讀(1197) | 評論 (0)編輯 收藏
    build.xml
     1<?xml version="1.0"?>
     2<project name="anttest" default="run">
     3    <property name="build.path" value="build/classes/"/> 
     4    <path id="compile.classpath">
     5        <fileset dir="lib">
     6            <include name="*.jar"/>
     7        </fileset>
     8    </path>
     9
    10    <target name="init">
    11        <mkdir dir="${build.path}" />
    12        <mkdir dir="dist" />
    13    </target>
    14    <target name="compile" depends="init">
    15        <javac srcdir="src/" destdir="${build.path}" classpath="${build.path}">
    16            <classpath refid="compile.classpath"/>
    17        </javac>
    18        <echo>compilation complete!</echo>
    19    </target>
    20    <target name="run" depends="compile">
    21        <java classname="org.test.work.HelloWorld" classpath="${build.path}" />
    22        <echo>Run complete!</echo>
    23    </target>
    24
    25    <target name="test" depends="compile">
    26        <junit printsummary="on" haltonfailure="true" showoutput="true">
    27            <classpath refid="compile.classpath"/>
    28            <classpath path="${build.path}"/>
    29            <formatter type="xml" />
    30            <test name="org.test.work.HelloWorldTest"/>
    31        </junit>
    32    </target>
    33    
    34</project>

    HelloWorld.java
     1package org.test.work;
     2
     3public class HelloWorld{
     4
     5    public String showMessage(){
     6        return "Hello world!!!";
     7    }

     8
     9    public static void main(String[] args){
    10 
    11        System.out.println("Hello world!!!");
    12    }

    13}


    HelloWorldTest.java
     1package org.test.work;
     2
     3import static org.junit.Assert.*;
     4import org.junit.*;
     5
     6import org.test.work.HelloWorld;
     7
     8public class HelloWorldTest{
     9
    10    private static HelloWorld hw = null;
    11
    12    @BeforeClass
    13    public static void setUp(){
    14        hw = new HelloWorld();
    15    }

    16
    17    @Test
    18    public void showHelloWorld(){
    19        assertEquals(hw.showMessage(),"Hello world!!!");
    20    }

    21
    22    @AfterClass
    23    public static void tearDown(){
    24        hw = null;
    25    }

    26
    27}
    posted @ 2008-06-09 20:24 大衛 閱讀(429) | 評論 (0)編輯 收藏

    JSP+jQuery+Spring+iBatis

    posted @ 2008-05-29 21:06 大衛 閱讀(272) | 評論 (0)編輯 收藏
    編譯:
    1D:\je-3.2.76\examples\je>javac -classpath ..\..\lib\je-3.2.76.jar .\SimpleExample.java

    執行:
    D:\je-3.2.76\examples>java -classpath .\;..\lib\je-3.2.76.jar je.SimpleExample
    posted @ 2008-05-07 15:28 大衛 閱讀(455) | 評論 (1)編輯 收藏

    超級簡單的一段代碼,通過正則表達式獲取字符串中某部分的值,代碼:

     1/**
     2         * 這段代碼就是要獲取到字符串"2008-05-10"的月份值及日期
     3         */

     4        
     5        Pattern pattern = Pattern.compile("[0-9]{4}-([0-9]{1,2})-([0-9]{1,2})");//括號用于組獲取
     6        Matcher matcher = pattern.matcher("2008-05-10");
     7        
     8        int i = 0;
     9        //循環只運行了一次
    10        while(matcher.find()) 
    11        {
    12            System.out.println(++i);
    13            System.out.println(matcher.group(0));//組0為全部串值
    14            System.out.println(matcher.group(1));//pattern模式中中間的括號中的為組1
    15            System.out.println(matcher.group(2));//pattern模式中后面的括號中的為組2
    16        }
    posted @ 2008-05-05 18:16 大衛 閱讀(1078) | 評論 (0)編輯 收藏
    執行如下批處理:
     1@echo off 
     2echo 正在清除系統垃圾文件,請稍等 
     3del ///%systemdrive%\*.tmp 
     4del ///%systemdrive%\*._mp 
     5del ///%systemdrive%\*.log 
     6del ///%systemdrive%\*.gid 
     7del ///%systemdrive%\*.chk 
     8del ///%systemdrive%\*.old 
     9del ///%systemdrive%\recycled\*.* 
    10del ///%windir%\*.bak 
    11del ///%windir%\prefetch\*.* 
    12rd //%windir%\temp & md %windir%\temp 
    13del //%userprofile%\小甜餅s\*.* 
    14del //%userprofile%\recent\*.* 
    15del ///"%userprofile%\Local Settings\Temporary Internet Files\*.*" 
    16del ///"%userprofile%\Local Settings\Temp\*.*" 
    17del ///"%userprofile%\recent\*.*" 
    18echo 清除系統LJ完成! 
    19echo. & pause 
    絕對安全!

    --------------------

        WE準高手
    posted @ 2008-03-30 18:22 大衛 閱讀(1645) | 評論 (8)編輯 收藏
    數據格式:
    1var folders=[{'folderId':'1','folderName':'收信箱'},{'folderId':'2','folderName':'發信箱'}];
    2
    3//用于下拉列表的store
    4var foldersJsonStore = new Ext.data.SimpleStore({
    5    fields: [{name: 'folderId', mapping:'folderId'},{name: 'folderName', mapping:'folderName'}],
    6    data: folders
    7}
    );
    刷新數據:
    1foldersJsonStore.loadData(folders);
    下拉框組件:
     1var combo = new Ext.form.ComboBox({
     2    fieldLabel: '文件夾',
     3  name: 'folderMoveTo',
     4  store: foldersJsonStore,
     5  displayField: 'folderName',
     6  valueField: 'folderId',
     7    mode: 'local',
     8    typeAhead: true//自動將第一個搜索到的選項補全輸入
     9    triggerAction: 'all',
    10    emptyText: '全部',
    11    selectOnFocus: true,
    12    forceSelection: true
    13}
    )

    --------------------

        WE準高手
    posted @ 2008-03-28 15:07 大衛 閱讀(5629) | 評論 (4)編輯 收藏
         摘要: 在使用Ext與DWR框架時,我們往往會用到GridPanel組件搭配PagingToolbar組件來實現翻頁數據列表。翻頁的時候每一頁都要從后臺獲取該頁的數據列表信息。 在解決此問題時,花了不少時間,看過不少前人的代碼,終于成功了!共享之。 關鍵代碼如下: Store為:  1var ds = new Ext.data.Store({ ...  閱讀全文
    posted @ 2008-03-20 13:51 大衛 閱讀(6943) | 評論 (1)編輯 收藏
    一、配置
    在頁面中添加:
    1<script type='text/javascript' src='dwr/interface/Folder.js'>
    2        
    </script>
    3        <script type='text/javascript' src='dwr/engine.js'>
    4        
    </script>
    5        <script type='text/javascript' src='dwr/util.js'>
    6        
    </script>
    需要注意的是路徑,而不是官方的:
    1<script type='text/javascript' src='../interface/Folder.js'></script>
    2  <script type='text/javascript' src='../engine.js'></script>
    3  <script type='text/javascript' src='../util.js'></script>

    二、返回的json串需要進行處理,才可以在前臺javascript正確處理。
    使用json-lib的JSONArray對List類型數據進行處理:
    1JSONArray.fromObject(folders).toString();
    返回List型的json數據為:
    1[{"folderId":1,"folderName":"收信箱"},{"folderId":2,"folderName":"發信箱"},{"folderId":3,"folderName":"草稿箱"},{"folderId":4,"folderName":"回收站"},{"folderId":5,"folderName":"垃圾箱"}]
    這個數據返回到前臺一定要用Ext.util.JSON.decode(data)進行編碼,否則javascript不能正常處理。
    1//刷新文件夾列表,DWR獲取數據。
    2function initFolders(){
    3    Folder.getFolderList(refrashFolders);}

    4
    5function refrashFolders(data){
    6    folders = Ext.util.JSON.decode(data);//一定要用這個進行解碼
    7    initFolderTreeNode();}

    --------------------

        WE準高手
    posted @ 2008-03-14 10:21 大衛 閱讀(2423) | 評論 (1)編輯 收藏
         摘要: 頁面代碼:  1<html>  2    <head>  3        <meta http-equiv="Content-Type" content="text/html; ch...  閱讀全文
    posted @ 2008-03-07 16:11 大衛 閱讀(5095) | 評論 (1)編輯 收藏
    主站蜘蛛池模板: 亚洲国产美女精品久久久久| 免费在线观看亚洲| 最近高清中文字幕免费| 久久福利青草精品资源站免费| 一个人看www免费高清字幕| 国产大片免费天天看| igao激情在线视频免费| 99久久99这里只有免费的精品| 免费a级毛片无码a∨免费软件| 久久免费精品视频| 999久久久免费精品播放| 日本高清在线免费| 免费精品国产日韩热久久| 成人免费视频一区二区三区| 国产又黄又爽又猛的免费视频播放 | 亚洲第一区在线观看| 亚洲日本韩国在线| 亚洲色欲色欲www在线丝 | 在线观看免费宅男视频| 国产高清视频在线免费观看| 波多野结衣中文一区二区免费| 国产精品亚洲视频| 亚洲国产日韩一区高清在线| 亚洲国产模特在线播放| 亚洲成AV人片在WWW| 一级一看免费完整版毛片| 国产精品免费高清在线观看| 黄色成人免费网站| 国产成人精品免费视频软件| 久久久久亚洲?V成人无码| 亚洲国产综合91精品麻豆| 亚洲综合国产成人丁香五月激情| 成人精品国产亚洲欧洲| a级毛片免费播放| 我们的2018在线观看免费高清 | 中文字幕免费观看全部电影| 777爽死你无码免费看一二区| 好吊妞788免费视频播放| 国产日产亚洲系列最新| 亚洲黄色片免费看| 亚洲国产精品99久久久久久|