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

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

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

    在調試JavaScript時可以在代碼中加入一些行,來作為判斷條件
     1,alert();
     如果你的代碼出錯崩潰了,你可以在預期出錯位置之前加入該語句,判斷錯誤是否在該位置之后!多次加入,就可以逐漸靠近錯誤位置了;如果使用alert() 只是為了查看變量值,有時候將變量值在window.status上顯示出來更好;
    2,confirm();
    該函數會根據你的選擇返回true或者false,于是你可以選擇分支執行了;
    3,prompt();
     這個就更厲害了,你可以使用它把你的變量值給修改了;比如:s="我不知道";s=prompt("請設定",s);你可以在這里把s給修改成"我愛 你!",嘿嘿! 讓程序有應付某些異常的功能是必要的: 要想得到詳細的錯誤報告你可以使用 window.onerror 或 try..catch 語句。這會讓代碼直接運行,不會因某個錯誤而終止掛起,從而在代碼執行完成后報告出所有的錯誤。 建議: 把代碼縮排做好;養成一些良好的習慣,通俗說是風格。 調試工具: 工具有很多,用著順手就好了,我有VS就不需要別的了。這里有很多別人列舉的工具,我也沒用過:


    在IE中一定要啟用錯誤報告。如果使用的是 windows,可以利用 Microsoft Script Debugger。如果需跟蹤一個錯誤,你可以利用角本中的 debugger 關鍵字控制角本在調試模式下執行。
    推薦主要使用 ie 測試,用 op7 或 moz 來調試。
    在 Op7 當中,一定要啟用 在JavaScript Console 中 JavaScript 錯誤報告。
    Op7 的 JavaScript Console 遠比 ie 錯誤報告要好些,擁有更好的代碼跟蹤功能,更容易看到函數調用來源。并且可以報告出正確的錯誤行,不同于 iew 。 在 moz 中有很多工具??衫?Mozilla JavaScript Console,它可以報告錯誤和警告,并且允許做簡單的角本賦值??梢詥⒂脟绤柧嫣崾境鲈S多潛在錯誤位置。可以使用 DOM Inspector 顯示 document 樹,stylesheets 樹,computed styles,JavaScript 對象。
    可以用 Venkman (Mozilla JavaScript Debugger)獲取更高級的 JavaScript 調試工具。可供使用的有 Ian Hickson’s JavaScript Evaluation Sidebar 或者 Jesse Ruderman’s JavaScript Environment、view scripts bookmarklet、JavaScript Shell 或者 view variables bookmarklet 或者 ViewScripts bookmarklet 。 在 konq 當中,靠自己的力量要更多些,使用一些源代碼的技巧。
     在 saf 中需要啟用隱藏調試菜單(Hiden debug menu),不用在系統控制臺顯示毫無意義的錯誤信息,使用 Show DOM Tree 功能會更有用。如果你啟用了顯示調試菜單,Safari不運行,在終端使用下面的命令: defaults write com.apple.Safari IncludeDebugMenu 1

    posted @ 2009-02-12 15:44 Robert Su 閱讀(347) | 評論 (0)編輯 收藏

    今天遇到一個容易忽略的問題,是兩個Long類型的比較~~

    if (v.getId() == ids[i]){
                          ……
                        }

    getId()中返回值是Long id
    ids定義是Long[] ids

    但是這里v.getId() == ids[i]一直不為真,導致程序輸出結果有誤

    應該如下:

    if (v.getId().longValue() == ids[i].longValue()){……}

    posted @ 2009-02-10 12:18 Robert Su 閱讀(851) | 評論 (0)編輯 收藏

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
    <mx:XML source="t.xml" id="stockData" />
    <mx:Panel title="Stock Data" width="100%" height="100%" layout="vertical"
    paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10">

    <mx:HBox><mx:Label text="Start Day" />
    <mx:HSlider minimum="0" maximum="30" id="dayslider" snapInterval="1" />
    </mx:HBox><mx:DataGrid dataProvider="{stockData..day.(num >= daySlider.value )}" width="100%" height="100%">
    <mx:columns>
    <mx:DataGridColumn dataField="num" headerText="day" />
    <mx:DataGridColumn dataField = "compa" headerText="Company A" />
    <mx:DataGridColumn dataField = "compb" headerText="Company B" />
    </mx:columns>
    </mx:DataGrid>
    </mx:Panel>
    </mx:Application>


    為什么沒效果~效果應該是下圖所示


     

    哪位大俠知道的給幫忙看下吧~

    posted @ 2009-01-24 15:46 Robert Su 閱讀(225) | 評論 (0)編輯 收藏

    http://www.infoq.com/cn/articles/flex-xml-json

    Flex與JSON及XML的互操作


    http://www.airia.cn/FLEX_Directory/

    FLEX教程

    http://www.adobe.com/cn/devnet/flex/quickstart/coding_with_mxml_and_actionscript/

    adobe官方入門教程



    posted @ 2009-01-18 00:40 Robert Su 閱讀(167) | 評論 (0)編輯 收藏

    http://www.cnblogs.com/analyzer/archive/2008/01/25/1052333.html

    posted @ 2009-01-18 00:00 Robert Su 閱讀(151) | 評論 (0)編輯 收藏

    create or replace view v_allinfo_stat_by_site as
    select a.*,b.BLACK_COUNT,b.WHITE_COUNT,b.GRAY_COUNT,b.AUTHOR_COUNT,group_count,audit_count,vblog_org_count,valbum_count from v_video_stat_by_site a,
    v_vblogger_stat_by_site b,
    (select count(*) group_count,site_id from vblogger_group group by site_id) c ,
    (select count(*) audit_count,site_id from audit_web_video group by site_id) d ,
    (select count(*) vblog_org_count,site_id from vblogger_org group by site_id) e ,
    (select count(*) valbum_count,site_id from valbum group by site_id) f
     where a.site_id = b.site_id(+) and
     a.site_id = c.site_id(+) and
     a.site_id = d.site_id(+) and
     a.site_id = e.site_id(+) and
     a.site_id = f.site_id(+)
     order by a.all_count desc;


    c,d,e也是相當于視圖
    a、b本身就是視圖


    存儲過程
    create or replace procedure UPDATE_VBLOGGER_MONTHLY_WEEKLY as
      v_now_date  NUMBER;
    begin
    --按月統計
       SELECT TO_NUMBER(TO_CHAR(sysdate,'YYYYMM'))INTO v_now_date FROM dual;
       update vblogger v set v.monthly_video_count=0;
       update vblogger v set v.weekly_video_count=0;
    COMMIT;   
       update vblogger v set v.monthly_video_count=(select count(*) from web_video w where GET_TIME_FORMAT(1,w.video_day)=v_now_date and v.site_id=w.site_id and v.name=w.video_author group by w.site_id,w.video_author) ;
    --按周統計
         SELECT TO_NUMBER(TO_CHAR(sysdate,'YYYYFMWW'))INTO v_now_date FROM dual;
         update vblogger v set v.weekly_video_count=(select count(*) from web_video w where GET_TIME_FORMAT(3,w.video_day)=v_now_date and v.site_id=w.site_id and v.name=w.video_author group by w.site_id,w.video_author) ;
    COMMIT;
    end;

    posted @ 2009-01-17 10:56 Robert Su 閱讀(605) | 評論 (0)編輯 收藏

    后臺是spring + hibernate + freemarker

    這個模塊也是整個系統中的一小部門。從中對于XSL的使用,XSL很好很強。



    并且對EXT中的vtype驗證方式有了更加全面的總結。


    貼代碼:RssAction.java

    public class RssAction extends BaseActionSuport {
        private static RssService rssService;
        private Collection<Rss> rsses;
        private static final Logger logger = Logger.getLogger(RssAction.class);
        private String rssname; // RSS名稱
        private String rssurl; // RSS地址
        private String defaultUrl; // defaultUrl地址
        private String url;// URl地址
        private String rssPath;
        private Long deleteId;

        public Long getDeleteId() {
        return deleteId;
        }

        public void setDeleteId(Long deleteId) {
        this.deleteId = deleteId;
        }

        public String getRssname() {
        return rssname;
        }

        public void setRssname(String rssname) {
        this.rssname = rssname;
        }

        public String getRssurl() {
        return rssurl;
        }

        public void setRssurl(String rssurl) {
        this.rssurl = rssurl;
        }

        public String deal() {
        try {
            Rss rss = new Rss();
            logger.debug("rssname:" + rssname);
            logger.debug("rssurl:" + rssurl);
            rss.setName(rssname);
            rss.setUrl(rssurl);
            rssService.create(rss);
        } catch (Exception e) {
            logger.error(e.toString());
            return this.ERROR;
        }
        return this.SUCCESS;
        }

        public String rssDelete() {
        try {
            logger.debug("deleteId:" + deleteId);
            rssService.deleteById(deleteId);
        } catch (Exception e) {
            logger.error(e.toString());
            return this.ERROR;
        }
        return this.SUCCESS;

        }

        public String listAll() {
        try {
            rsses = rssService.listAllRss();
            return this.SUCCESS;
        } catch (Exception e) {
            logger.error(e.toString());
            return this.ERROR;
        }
        }

        public String getRss() {
        HttpURLConnection conn = null;
        InputStream ios = null;
        ByteArrayOutputStream out = null;
        ActionContext ctx = ActionContext.getContext();
        HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);

        try {

            URL addr = null;
            if (url == null || url.trim().length() == 0) {
            addr = new URL(defaultUrl);
            } else {
            addr = new URL(url);
            }
            conn = (HttpURLConnection) addr.openConnection();
            conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5");
            conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
            conn.setRequestProperty("Accept-Language", "zh-cn");
            conn.setRequestProperty("Accept-Charset", "gb2312,gbk,utf-8;q=0.7,*;q=0.7");
            String contentType = conn.getContentType();
            String contentEncoding = conn.getContentEncoding();
            int statusCode = conn.getResponseCode();
            int length = conn.getContentLength();

            if (logger.isDebugEnabled()) {

            // logger.debug("contentType:" + contentType);
            // logger.debug("contentEncoding:" + contentEncoding);
            // logger.debug("statusCode:" + statusCode);
            // logger.debug("length:" + length);
            }
            if (contentEncoding == null) {
            if (contentType != null) {
                contentEncoding = getCharSet(contentType);
            }
            if (contentEncoding == null) {
                contentEncoding = "UTF-8";
            }
            else if(contentEncoding.equals("ansi"))
                contentEncoding = "GBK";
            }
            ios = conn.getInputStream();
            out = new ByteArrayOutputStream();
            
            byte buffer[] = new byte[1024];

            int len = 0;
            while ((len = ios.read(buffer)) != -1) {
            out.write(buffer, 0, len);
            }
            out.flush();
            logger.debug("contentEncoding:" + contentEncoding);
            String rssData = new String(out.toByteArray(), contentEncoding);
            //logger.debug("rssData:"+rssData);
            String rssDa = rssxsl(rssData);
            request.setAttribute("rssData", rssDa);
            request.setAttribute("Encoding", contentEncoding);
            return this.SUCCESS;
        } catch (Exception e) {
            logger.error(e.toString());
            e.printStackTrace();
            return this.ERROR;
        } finally {

            if (out != null) {
            try {
                out.close();
            } catch (IOException e) {
                logger.error(e.toString());
            }
            }
            if (ios != null) {
            try {
                ios.close();
            } catch (IOException e) {
                logger.error(e.toString());
            }
            }

            if (conn != null)
            conn.disconnect();

        }
        }

        public RssService getRssService() {
        return rssService;
        }

        public void setRssService(RssService rssService) {
        this.rssService = rssService;
        }

        public Collection<Rss> getRsses() {
        return rsses;
        }

        public void setRsses(Collection<Rss> rsses) {
        this.rsses = rsses;
        }

        public String getName() {
        return rssname;
        }

        public void setName(String name) {
        this.rssname = rssname;
        }

        public String getRssPath() {
        return rssPath;
        }

        public void setRssPath(String rssPath) {
        this.rssPath = rssPath;
        }

        public String getRssUrl() {
        return rssurl;
        }

        public void setRssUrl(String rssUrl) {
        this.rssurl = rssurl;
        }

        public String getUrl() {
        return url;
        }

        public void setUrl(String url) {
        this.url = url;
        }

        public String getDefaultUrl() {
        return defaultUrl;
        }

        public void setDefaultUrl(String defaultUrl) {
        this.defaultUrl = defaultUrl;
        }

        private String getCharSet(String contentTypeEnd) {
        if (contentTypeEnd != null) {

            int pointer = contentTypeEnd.indexOf('=');
            if (pointer > 0) {
            String result = contentTypeEnd.substring(pointer + 1);
            result = result.trim();
            if (result != null) {
                if (result.length() > 0) {
                if (result.charAt(0) == '"') {
                    if (result.charAt(result.length() - 1) == '"') {
                    result = result.substring(1, result.length() - 1);
                    }
                } else if (result.charAt(0) == '"'') {
                    if (result.charAt(result.length() - 1) == '"'') {
                    result = result.substring(1, result.length() - 1);
                    }
                }
                }
            }
            return result.trim().toLowerCase();
            }
        }
        return null;
        }

        private String rssxsl(String rssData) {
        String formerStr = "";
        HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
        String path = request.getRealPath("");
        path = path + rssPath;
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        XMLWriter writer = null;
        try {
            TransformerFactory tFactory = TransformerFactory.newInstance();
            Transformer transformer = tFactory.newTransformer(new javax.xml.transform.stream.StreamSource(path));
            transformer.transform(new javax.xml.transform.stream.StreamSource(new StringReader(rssData)), new javax.xml.transform.stream.StreamResult(out));
            formerStr = new String(out.toByteArray(), "UTF-8");
            formerStr = removeXmlHead(formerStr);

        } catch (Exception e) {
            logger.error(e.toString());
        } finally {
            if (writer != null) {
            try {
                writer.close();
            } catch (IOException e) {
                logger.error(e.toString());
            }
            }
            try {
            out.close();
            } catch (IOException e) {
            logger.error(e.toString());
            }

        }
        return formerStr;

        }

        private String removeXmlHead(String content) {
        if (content == null) {
            return null;
        }
        content = content.trim();
        if (content.indexOf("<?xml") != 0) {
            return content;
        }
        int index = content.indexOf("?>");
        if (index < 0) {
            return content;
        }
        content = content.substring(index + 2);
        return content;
        }
    }


    RssServic.java代碼

    import java.util.Collection;
    import gov.ict.mcg.vbm.pojo.Rss;

    public interface RssService {
         public void create(Rss rss) throws Exception;
         public void deleteById(Long id) throws Exception;

         public Collection<Rss> listAllRss() throws Exception;
    }

    RssServiceImp.java 代碼:

    import java.util.Collection;

    import org.apache.log4j.Logger;

    import gov.ict.mcg.vbm.dao.RssDao;
    import gov.ict.mcg.vbm.pojo.Rss;
    import gov.ict.mcg.vbm.services.RssService;

    public class RssServiceImpl extends BaseService implements RssService {

        private static final Logger logger = Logger.getLogger(RssServiceImpl.class);
        private RssDao rssDao;

        public RssDao getRssDao() {
        return rssDao;
        }

        public void setRssDao(RssDao rssDao) {
        this.rssDao = rssDao;
        }

        public void create(Rss rss) throws Exception {
        try {
            rssDao.create(rss);
        } catch (Exception e) {
            throw new Exception();
        }
        }

        public Collection<Rss> listAllRss() throws Exception {
        return rssDao.listAll();
        }

        public void deleteById(Long id) throws Exception {
        try {
            rssDao.deleteByIdCommit(id);
        } catch (Exception e) {
            throw new Exception();
        }
        }

    }

    下面是控制顯示的simple.xsl

    <xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema"
    version="1.0" exclude-result-prefixes="xsl ddwrt msxsl rssaggwrt"
    xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
    xmlns:rssaggwrt="http://schemas.microsoft.com/WebParts/v3/rssagg/runtime"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:rssFeed="urn:schemas-microsoft-com:sharepoint:RSSAggregatorWebPart"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rss1="http://purl.org/rss/1.0/" xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
    xmlns:atom2="http://purl.org/atom/ns#" xmlns:ddwrt2="urn:frontpage:internal">

    <xsl:template match="/">
    <xsl:for-each select="/rss/channel/item">
    <div class="item">
     <div><h4><a href="{./link}" target="_blank"><xsl:value-of select="./title"/></a></h4></div>
     <div>
         <font style="font-weight: bold" face="Courier New" size="2" bold="true">標簽: </font><font face="Courier New" size="2">
         <xsl:value-of select="./itunes:keywords"/>     ||       
         <xsl:value-of select="./pubDate"/></font>
    </div>

     <div class="content" id="content">
     <xsl:value-of select="./description" disable-output-escaping="yes"/>
     <xsl:if test="system-property('xsl:vendor')='Transformiix'">
     <script type="text/javascript">
     var element = document.getElementById("content");
     element.innerHTML = element.textContent;
     </script>
     </xsl:if>
     </div>
    </div>
    </xsl:for-each>
    </xsl:template>

    </xsl:stylesheet>

    posted @ 2009-01-13 22:42 Robert Su 閱讀(1831) | 評論 (8)編輯 收藏




    subclipse的版本也是1.4,怎么會一直提示這個錯誤啊?哪位知道這個錯誤啊

    posted @ 2009-01-13 16:39 Robert Su 閱讀(228) | 評論 (0)編輯 收藏

    之前做聯合查詢很慢也很麻煩;需要對web_video表跟webvideo _day視圖做聯合查詢,但是速度奇慢
    select a.* from web_video a  webvideo b where a.id=b.id and a.site_id=?

    換成這種方式之后就快多了
    select a.* from web_video a where a.site_id=? and a.video_day=to_number(to_char(sysdate, 'yyyymmdd'));

    video_day是一個物化視圖 MATERIALIZED VIEW——可以大大提高數據庫查詢的速度。

    posted @ 2009-01-12 21:55 Robert Su 閱讀(262) | 評論 (0)編輯 收藏

     看到網上說select * from ( select row_.*, rownum rownum_ from (sql) row_ where rownum <= ?) where rownum_ >?
    這種方法是最快的,特做實驗驗證之

    select row_.*, rownum rownum_ from (select * from web_video) row_ where rownum BETWEEN 1 and 100
    0.05675s 0.1181s
    select row_.*, rownum rownum_ from (select * from web_video) row_ where rownum BETWEEN 100 and 1000
    22.269s
    select * from ( select row_.*, rownum rownum_ from (select * from web_video) row_ where rownum <= 100) where rownum_ >0

    0.156s
    select * from ( select row_.*, rownum rownum_ from (select * from web_video) row_ where rownum <= 1000) where rownum_ >100
    0.037s

    posted @ 2009-01-06 00:41 Robert Su 閱讀(171) | 評論 (0)編輯 收藏

    僅列出標題
    共11頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 Last 

    posts - 103, comments - 104, trackbacks - 0, articles - 5

    Copyright © Robert Su

    主站蜘蛛池模板: 久久亚洲国产成人精品性色| 亚洲精品国产高清嫩草影院| 免费不卡在线观看AV| 91短视频在线免费观看| 无码日韩精品一区二区免费| 在线观看亚洲免费| 国产亚洲?V无码?V男人的天堂 | 一级毛片a免费播放王色电影 | 少妇中文字幕乱码亚洲影视 | 亚洲欧美在线x视频| GOGOGO免费观看国语| 午夜性色一区二区三区免费不卡视频| 国产在线19禁免费观看国产| 久久久久久亚洲精品中文字幕| 亚洲免费福利在线视频| 一级特黄a免费大片| 67194成是人免费无码| 亚洲AV无码一区东京热| 国产尤物在线视精品在亚洲| 免费成人福利视频| 亚洲不卡中文字幕无码| 久久精品国产亚洲AV电影网| 免费看国产精品麻豆| 亚洲色无码专区一区| 国产精品久久久久久久久免费| 奇米影视亚洲春色| 免费看又黄又爽又猛的视频软件| 国产精品免费观看久久| 亚洲高清乱码午夜电影网| 黄页网站在线看免费| 亚洲AV永久无码精品一福利| 成人免费a级毛片无码网站入口 | 九九精品成人免费国产片| 全部免费a级毛片| 亚洲AV无码精品国产成人| 亚洲午夜日韩高清一区 | 中文字幕成人免费高清在线 | 免费人成视频在线观看视频| 手机看片国产免费永久| 亚洲午夜久久久久久久久久| sihu国产精品永久免费|