<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>AJAX论坛最新讨论 - JavaEye</title>
    <description>JavaScript编程、XMLHTTP、AJAX开发、UI设计、Rich Client<br/>
圈子: 
<a href="http://flex2.group.javaeye.com/" target="_blank">Flex</a>
<a href="http://hzjavaeyer.group.javaeye.com/" target="_blank">JS研究</a>
<a href="http://css.group.javaeye.com/" target="_blank">CSS探讨</a>
<a href="http://ext.group.javaeye.com/" target="_blank">EXT</a>
<a href="http://gwts.group.javaeye.com/" target="_blank">GWT</a>
<a href="http://jsi.group.javaeye.com/" target="_blank">JSI</a> - Java编程，Ruby编程，微软.net，AJAX，敏捷软件开发，综合软件技术</description>
    <link>http://www.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>爽，谷歌Chrome，应该可以解决Extjs内存泄漏和速度慢的问题</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xlongbuilder.javaeye.com">xlongbuilder</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236168" style="color:red;">http://www.javaeye.com/topic/236168</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一直在为速度和内存发愁，有了chrome 估计一切ok了<br />第一时间下载了谷歌的Chrome浏览器<br />测试发现内存基本在80m以内，速度也大幅度提高了<br />我们是用的全ext多为弹出窗口，但不是one page one application<br />因为是客户定制，因此可以给客户安装该浏览器<br /><br />测试后发现绝大多数都没有问题<br />只是window窗口，按Esc不能关闭了<br /><br />感谢google
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236168" style="color:red;">已有 <strong>27</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 03 Sep 2008 15:19:30 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236168</link>
        <guid>http://www.javaeye.com/topic/236168</guid>
      </item>
      <item>
        <title>Show一下我的ExtJS网站</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://kyle.javaeye.com">kyle</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/238554" style="color:red;">http://www.javaeye.com/topic/238554</a>&nbsp;
          发表时间: 2008年09月08日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>网址：<a href="http://www.changyou.info/" target="_blank">http://www.changyou.info/</a></p>
<p>&nbsp;</p>
<p>功能说明：</p>
<p>1. 自定义主页<br />&nbsp;&nbsp;&nbsp; 当你看到一个对你很有用的网址时,你会怎样做呢? 放入收藏夹也许是大部分人的选择吧, 当数量多时你会发现找到你所要的网址也是比较困难的。<br />&nbsp;&nbsp;&nbsp; 使用畅游网自定义主页功能,你可随时将网址设置在主页的任何地方,可以在任何时候访问或作出修改。<br />&nbsp;&nbsp;&nbsp; <span style="color: #008000;">操作说明: 点击栏目设置图标进入栏目修改页面可修改栏目标题。</span><br style="color: #008000;" /><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 右键点击每个网址可以修改该网址</span><span style="color: #008000;">。</span><br /><img src="http://www.changyou.info/images/home.jpg" alt="" /><br /><br />2. 集成搜索<br />&nbsp;&nbsp;&nbsp; 有时你想用Goolge来搜索网页,但有时你也许想用百度来搜索. 有时你想用迅雷来搜索下载软件, 有时你想用搜刮来搜搜音乐, 有时你想用爱词霸来查查单词...<br />&nbsp;&nbsp;&nbsp; 使用畅游网集成搜索,你可以在一个网页中搜尽天下!<br />&nbsp;&nbsp;&nbsp; <span style="color: #008000;">操作说明: 输入要搜索的内容, 选择所要搜索的网站如Google,百度.., 然后点击搜索热键即可完成不同网站的搜索功能。</span><br /><img src="http://www.changyou.info/images/seach.jpg" alt="" /><br /><br /><br />3. 备忘录<br />&nbsp;&nbsp;&nbsp; 一个小而实用的功能, 可以将你平时经常用而又容易忘记的信息记录下来, 如浏览网页时看到一些对你有用的信息, 如一天中要做的事情很多时,<br />&nbsp;&nbsp; 你可以用畅游网备忘录功能将这些信息记录下来, 这样就不用担心忘记了, 随时可以找出来.<br /><br /><br />畅游网后续版本蓝图:<br />1. 实用工具<br />&nbsp;&nbsp;&nbsp; 在畅游网实用工具页面中, 你将可在一个页面中查询到天气, 邮编, 公交, 列车...等等信息.<br />2. Web QQ<br />&nbsp;&nbsp;&nbsp; 用畅游网WebQQ,你不用下载安装任何软件,直接与在线网友聊天,发送文件.<br />3. 与淘宝旺旺对接<br />&nbsp;&nbsp;&nbsp; 使用淘宝旺旺的用户可以不用登录, 直接畅游网.<br />4. 在线围棋<br />&nbsp;&nbsp; 用畅游网WebQQ, 你不用下载安装任何软件, 直接与在线网友下围棋.<br />5. 邮箱助理<br />&nbsp;&nbsp; 用畅游网收发任何邮箱信息.&nbsp;<br /><span style="color: #0000ff;">6.7.8...期待着你的建议.</span><br /></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/238554" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 08 Sep 2008 12:32:58 +0800</pubDate>
        <link>http://www.javaeye.com/topic/238554</link>
        <guid>http://www.javaeye.com/topic/238554</guid>
      </item>
      <item>
        <title>JQuery ajax Demo  </title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iamcrzay.javaeye.com">iamcrzay</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237940" style="color:red;">http://www.javaeye.com/topic/237940</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          网上的 Jquery ajax Demo 大多都是基于php <br />很少 有java的 今天就把自己的Demo贴出来 和大家共同学习<br />现在就  Jquery ajax 的 $.ajax(),$.post(),$.get();<br /><br />首先是  服务端的Servlet 演示这三个函数的用法对都是用的同一个 服务端<br /><pre name="code" class="java">
package com.june.servlet;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;

public class jqueryAjaxServer extends HttpServlet {
     public jqueryAjaxServer(){
    	 super();
     }
     public void doGet(HttpServletRequest request,HttpServletResponse response)
     throws IOException ,ServletException {
    	 response.setContentType("text/html;charset=utf-8");
    	 PrintWriter out=response.getWriter();
    	 String account=request.getParameter("account");
    	 if("iamcrzay".equals(account)){
    		 out.print("Sorry,the user is exist");
    	 }
    	 else{
    		 out.print("Congratulation,this accont you can use!!!!");
    	 }
    	 out.close();
     }
     public void doPost(HttpServletRequest request,HttpServletResponse response)
     throws IOException ,ServletException {
    	 this.doGet(request, response);
     }
}

</pre><br /><br />下面是WEB.XML <br /><pre name="code" class="xml">
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	&lt;servlet>
	   &lt;servlet-name>jqueryAjaxServer&lt;/servlet-name>
	   &lt;servlet-class>com.june.servlet.jqueryAjaxServer&lt;/servlet-class>
	&lt;/servlet>
        &lt;servlet-mapping>
	   &lt;servlet-name>jqueryAjaxServer&lt;/servlet-name>
	   &lt;url-pattern>/jqueryAjax&lt;/url-pattern>
	&lt;/servlet-mapping>
  &lt;welcome-file-list>
    &lt;welcome-file>index.jsp&lt;/welcome-file>
  &lt;/welcome-file-list>
&lt;/web-app>

</pre><br /><br />下面是Jsp页面<br />第一个是 jqueryAjax.jsp  本页使用的是$.ajax()<br /><pre name="code" class="html">
&lt;%@ page language="java"  pageEncoding="utf-8"%>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>
  &lt;head>  
    &lt;title>jquery ajax&lt;/title> 
	&lt;meta http-equiv="pragma" content="no-cache">
	&lt;meta http-equiv="cache-control" content="no-cache">
	&lt;meta http-equiv="expires" content="0">    
	&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	&lt;meta http-equiv="description" content="This is my page">
	&lt;script src="js/jquery-1.2.6.js" type="text/javascript">&lt;/script>
	&lt;script language="javascript">
	     $(function(){
	           $('.sumbit').click(function(){
	           if($('#account').val().length==0){
	               $('.hint').text("用户名不能位空").css({"background-color":"green"}); 
	           }
	           else{
	           $.ajax({
	             url:'jqueryAjax',
	             data:{account:$('#account').val()},
	             error:function(){
	             alert("error occured!!!");
	             },
	             success:function(data){
	              $('body').append("&lt;div>"+data+"&lt;/div>").css("color","red");
	  
	             }
	             
	           });}
	           });
	           });
           	     
	   
	       
	&lt;/script>
  &lt;/head>
  
  &lt;body>
                &lt;h3 align="center">jquery AjaX&lt;/h3>
                &lt;hr>
                &lt;label>请输入用户名 ：&lt;/label>
                &lt;input id="account" name="account" type="text">
                &lt;input class="sumbit" type="button" value="检测">
                &lt;div class="hint">
                &lt;/div>
  &lt;/body>
&lt;/html>

</pre><br /><br />第二个用的是  $.post()<br /><br /><pre name="code" class="html">
&lt;%@ page language="java"  pageEncoding="utf-8"%>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>
  &lt;head>  
    &lt;title>jquery ajax&lt;/title> 
	&lt;meta http-equiv="pragma" content="no-cache">
	&lt;meta http-equiv="cache-control" content="no-cache">
	&lt;meta http-equiv="expires" content="0">    
	&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	&lt;meta http-equiv="description" content="This is my page">
	&lt;script src="js/jquery-1.2.6.js" type="text/javascript">&lt;/script>
	&lt;script language="javascript">
	     $(function(){
	         $('.sumbit').click(
	          function(){
	            if($('#account').val().length==0){
	                $('.hint').text("The account is cant't be null").css({"color":"red","background-color":"yellow"});
	            }
	            else{
	            $.post("jqueryAjax","account="+$('#account').val(),function(data){
	               $('.hint').text(data).css({"color":"red","background-color":"yellow"});
	            })
	            }
	         });
	     });	       
	&lt;/script>
  &lt;/head>
  
  &lt;body>
                &lt;h3 align="center">jquery Ajax&lt;/h3>
                &lt;hr>
                &lt;label>请输入用户名 ：&lt;/label>
                &lt;input id="account" name="account" type="text">
                &lt;input class="sumbit" type="button" value="检测">
                &lt;div class="hint">
                &lt;/div>
  &lt;/body>
&lt;/html>
</pre><br /><br /><br />第三个是用的$.get()<br /><br /><pre name="code" class="html">&lt;%@ page  pageEncoding="utf-8"%>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>
  &lt;head>   
    &lt;title>jquery get&lt;/title>
    
	&lt;meta http-equiv="pragma" content="no-cache">
	&lt;meta http-equiv="cache-control" content="no-cache">
	&lt;meta http-equiv="expires" content="0">    
	&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	&lt;meta http-equiv="description" content="This is my page">
	&lt;script src="js/jquery-1.2.6.js" type="text/javascript">&lt;/script>
	&lt;script type="text/javascript">
	     $(function(){
	            $('.sumbit').click(function(){
	                  if($('#account').val().length==0){
	                     $('.hint').html("用户名不能位空！！！").css({"color":"#ffoo11","background":"blue"});
	                  }
	                  else{
	                      $.get("jqueryAjax","account="+$('#account').val(),
	                           function(data){
	                            $('.hint').html(data).css({"color":"#ffoo11","background":"green"});
	                      });
	                  }
	            });
	     });
	&lt;/script>

  &lt;/head>
  
  &lt;body>
        &lt;h3 align="center">jquery AjaX&lt;/h3>
                &lt;hr>
                &lt;label>请输入用户名 ：&lt;/label>
                &lt;input id="account" name="account" type="text">
                &lt;input class="sumbit" type="button" value="检测">
                &lt;div class="hint">
                &lt;/div>
  &lt;/body>
&lt;/html>
</pre><br /><br />欢迎大家拍砖  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237940" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 06 Sep 2008 18:01:46 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237940</link>
        <guid>http://www.javaeye.com/topic/237940</guid>
      </item>
      <item>
        <title>Google 动画菜单效果实现</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://meanboy.javaeye.com">meanboy</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237937" style="color:red;">http://www.javaeye.com/topic/237937</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 相信很多朋友第一次见到Google的动画导航条，都误以为是Flash吧？（这其中也包括了我o(&cap;_&cap;)o...）仅仅使用了一张背景图片就做出了这么漂亮的导航条，Google的创意总是让人兴奋不已。也许不久的将来，这个小技巧会在更多的网页中得到应用。</p>
<p><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 既然思路很简单，那就没有必要去翻Google的实现代码了。自己动手写一个吧。有必要提一下的是在写这个脚本的时候，遇到了一个IE6的BUG，Google搜索了一下，发现是IE6的背景图片加载机制有问题。IE6每次都优先从服务器重新请求背景图片，而不是从缓存里加载（汗啊&hellip;&hellip;）。解决方法如下：</p>
<p>&nbsp;</p>
<pre name="code" class="html">if(!!(window.attachEvent &amp;&amp; !window.opera)) {
	document.execCommand("BackgroundImageCache",false,true);
}
</pre>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 脚本的代码是公开的，有兴趣的朋友可以下载查看一下效果，但是请遵守MIT协议<img src="../../../images/smiles/icon_smile.gif" alt="" /></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237937" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 06 Sep 2008 17:52:12 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237937</link>
        <guid>http://www.javaeye.com/topic/237937</guid>
      </item>
      <item>
        <title>IE中只读的innerHTML属性</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://kino.javaeye.com">kino</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237193" style="color:red;">http://www.javaeye.com/topic/237193</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>编写ajax程序时，经常需要动态生成页面元素，而element上属性innerHTML就是我们经常利用的途径。但今天在为一个table元素的innerHTML时赋值时，在firefox下是好的，但在ie6下就不行了。</p>
<p>&nbsp;</p>
<p>查了一下原因，原来是<span style="font-weight: bold;">在ie下，下列元素table,thead,tfoot,tbody,tr,col,colgroup,html,title,style,frameset的innerHTML属性是只读的。注意没有td!</span></p>
<p>&nbsp;</p>
<p>经测试，ie7也是不行的。不知ie8下有没有变动！？</p>
<p>&nbsp;</p>
<p>记录如此，备忘！</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237193" style="color:red;">已有 <strong>3</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 04 Sep 2008 22:07:28 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237193</link>
        <guid>http://www.javaeye.com/topic/237193</guid>
      </item>
      <item>
        <title>尝试在项目中使用Gt-Grid后的一些体会和看法及建议。</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xiaocon.javaeye.com">xiaocon</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/238072" style="color:red;">http://www.javaeye.com/topic/238072</a>&nbsp;
          发表时间: 2008年09月07日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一直现找个称手的Grid，在关注Ext Grid的时候顺便了解到了fins开发的Gt-grid,上星期偿试把它加入到我现在的一个项目和框架里，遇到了不少问题，我把它写出来，希望fins能看到。<br />      首先，我认为Gt-grid(下面我简称它为GT)只是一个Grid，它只是一个展现数据的工具(fins不知道是不是跟我一样的想法，或者，他的目标是一个框架也有可能)，而并不是一个框架，因此，我希望它对我原先系统或者框架的应用是无侵入的，也就是不应该改变我原先的项目及框架(服务端或者客户端)的操作使用习惯，要做到这一点，GT就要具有高度的可配制性来适合其它的框架或者组件（或者叫应用吧,当然，如果是一些新开工的小项目，也可以让项目来适应GT）。<br />    Grid一般都有如下功能:<br />         1    表格数据的展现;(基本的)<br />         2    数据展现和编辑时的一些事件处理(我认为这些是开发企业应用的重要功能);<br />         3    从服务端加载数据;(非必需的)<br />           4    分页导航(重要的);<br />         5    一些自定义的配制及样式(非必需的)<br />         6    其它的扩展功能(非必需的)<br />先谈谈第一个遇到的第一个问题:<br />      如果是从服务端load数据，pageinfo要求的格式是这样的{ pageSize : 20, pageNum : 0, totalRowNum :0,totalPageNum : 0, startRowNum :0, endRowNum :20 }，很不巧，我用的服务端框架返回的数据格式(pageinfo)名称除了pageSize,data，其它的都不相同，当然，我的服务端名称是可配制的，返回这样格式的数据不存在问题，不过它会影响或者导致同一项目里的二种数据格式，如果GT能提供这些名称配制的方法（应该也是很容易的），这个问题就解决了。下一个问题是我遇到的第二个问题，我使用GT的主要目的是想用它来展现数据以及用到它的事件处理，这方面对比下来GT做得还是让我很满意的，也是我选择它的一个主要原因，另外一个原因就是GT的开发者是国人，沟通更方便。基于我的使用目的，我的问题也由此而来(需求真的是千奇百怪...),我希望我把数据给GT（Json,非服务端加载），它给我展现数据，这没什么问题，可是问题由此而来，GT自动根据我给出的数据记录数生成了分页，可那不是我想要的，我想要服务端load数据的那种分页，GT没提供给我，也就是说GT的分页不提供设置功能,要么你前台给我数据，我给你自动生成导航，要么我load服务端的，也给你自动生成，试用下来后好象没有其它方法了，查了API,只有getPageInfo，如果有setPageInfo,getPageNav(得到导航条内容)，addPageNavTo(把导航导添加到某个容器里，比如div里),分页按钮的click事件支持.查看了API，GT没有NAV这方面的属性，也许是没有公开吧。第三个问题，日期控件的问题，以前没看到有日历控件，奥运会一开完，多了个难看的日历控件，提供自定义的使用日期控件的方法，是我所立刻想到的，否则，一个程序里有二个甚至更多的不同风格的日期控件也不是不可能。<br />最后是Select控件，可能弄起来比较难吧，如果能提供第三方的Select控件的支持，是不是更好。<br />            下面想到的是添加扩展ToolBar,添加自定义按钮的功能(这些是扩展功能了)......,暂时想到这些了，以后想到了再继续来写。也许，有人看了后会说，你干脆让fins定制得了..........
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/238072" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 07 Sep 2008 13:10:48 +0800</pubDate>
        <link>http://www.javaeye.com/topic/238072</link>
        <guid>http://www.javaeye.com/topic/238072</guid>
      </item>
      <item>
        <title>一个非常奇怪的js和css加载问题</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://ferreousbox.javaeye.com">ferreousbox</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/238128" style="color:red;">http://www.javaeye.com/topic/238128</a>&nbsp;
          发表时间: 2008年09月07日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp; 今天在弄以前的框架的时候发现一个非常奇怪的js和css的加载问题，平常我们一般写js和css的load脚本如下：</p>
<p>&nbsp;</p>
<p><span style="color: #ff0000;">&lt;script language="javascript" src="/js/test.js"&gt;&lt;/script&gt;</span></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 这样的加载是没有问题，<strong><span style="color: #990000;">但是如果将src改为：//js/test.js后就出现无法加载的问题了</span></strong>！我目前在本机的IE和FF下都测试过，都存在这样的问题，不知道是规范如此，还是本机的测试环境有问题？不解&hellip;&hellip;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/238128" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 07 Sep 2008 17:49:32 +0800</pubDate>
        <link>http://www.javaeye.com/topic/238128</link>
        <guid>http://www.javaeye.com/topic/238128</guid>
      </item>
      <item>
        <title>blazeds简单例子</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wangchao-17915566.javaeye.com">wangchao_17915566</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/238127" style="color:red;">http://www.javaeye.com/topic/238127</a>&nbsp;
          发表时间: 2008年09月07日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>已经在早前就听说了，Adobe公司的开源项目bazeds，可是当时做flash，用到了openamf，所以没有在意，但是现在觉得flex开发应用软件更具有杀伤力，所以准备研究flex。折腾了一周的时间想做个flex+java的helloworld例子，可是怎么都运行不出来，今天终于运行出来了。</p>
<p>总结，共有一下几种方法：</p>
<p>1，flex项目和web项目在同一项目。</p>
<p>2，flex项目和web项目为两个项目，进行交互。</p>
<p>个人认为，第二种比较好，这样可以完全将flex卡发和web业务开发分开。我这里也介绍第二种方法。</p>
<p>下面介绍我的hello小程序。</p>
<p>首先，开发环境</p>
<p>1,eclipse3.2+myeclipse5.1,不多说</p>
<p>2,eclipse的flex插件：FB3_WWEJ_Plugin.exe</p>
<p>3,必须得到blazeds.war，网上很多，可以进行下载(附件中配备)</p>
<p>下来，演示例子。</p>
<p>1，创建web项目：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 我的项目是hello</p>
<p>2，将blazeds.war放入tomcat中，启动，将blazeds.war项目中的，WebConten/Web-Inf复制</p>
<p>3，替换hello项目（用刚才复制的将此项目（hello）中的替换）</p>
<p>4，在web项目中建立java类</p>
<p>&nbsp;</p>
<pre name="code" class="java">package com.demo;

public class HelloWorld {

    public String sayHello(String name) {
        
        System.out.println(name);
        return"hello," + name;

    }

}</pre>
<p>&nbsp;5,在刚才复制的flex目录下打开remoting-config.xml,写入一下代码</p>
<pre name="code" class="xml">&lt;destination id="Hello"&gt;
       &lt;properties&gt;
           &lt;source&gt;com.demo.HelloWorld&lt;/source&gt;
       &lt;/properties&gt;
    &lt;/destination&gt;</pre>
<p>&nbsp;</p>
<p>6，发布此项目。</p>
<p>以上是web项目中的内容，下来看看flex项目</p>
<p>1，创建flex项目,flexTest，<span style="FONT-SIZE: 10.5pt"><span style="font-size: x-small;">application type 选择 web application, server technology 选择none，点next，output folder 中选择你上面建立web工程的目录(这里就是hello)，很多地方都说选择j2ee，这个是建立集成项目时候选择的。</span></span></p>
<p>2,写入mxml</p>
<pre name="code" class="html">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;
&lt;mx:Script &gt;      
&lt;![CDATA[ import mx.rpc.events.FaultEvent;    
   import mx.rpc.events.ResultEvent;    
      [Bindable]    
      private var helloResult:String;   
      
      private function sayHello():void {    
        ro.sayHello(inputText.text);    
        }    
        
       private function resultHandler(event:ResultEvent):void {    
          helloResult = event.result as String;    
       } 
       
   ]]&gt;   
&lt;/mx:Script &gt;
&lt;mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)" endpoint="/Hello/messagebroker/amf"/&gt;
&lt;mx:HBox x="0" y="10" width="100%"&gt;
   &lt;mx:Label text="Name:" id="nameLabel"/&gt;
   &lt;mx:TextInput id="inputText"/&gt;
   &lt;mx:Button label="say Hello" id="nameButton" click="sayHello()"/&gt;
   &lt;mx:Label id="resultLabel" text="{helloResult}"/&gt;
&lt;/mx:HBox&gt;

&lt;/mx:Application&gt;
</pre>
<p>&nbsp;</p>
<p>3,最重要的endpoint="/Hello/messagebroker/amf"/，这个一定要写对，别把我的文件复制过去，hello是你自己的web项目。</p>
<p>&nbsp;</p>
<p>这样就完成了，你启动tomcat，自己测试，这样做的好处是，flex保存后，web项目会自动同步flex内容。</p>
<p>讲得不清楚，我会带上一个项目的附件，提供下载。</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/238127" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 07 Sep 2008 17:43:27 +0800</pubDate>
        <link>http://www.javaeye.com/topic/238127</link>
        <guid>http://www.javaeye.com/topic/238127</guid>
      </item>
      <item>
        <title>[分享]选课系统 (EXT+hibernate+dwr)</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wdp.javaeye.com">wdp</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/235894" style="color:red;">http://www.javaeye.com/topic/235894</a>&nbsp;
          发表时间: 2008年09月02日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>周未闲着无聊,做了一个很简单的选课系统,具体看demo吧<br /><br /><a href="http://rs.xmedu.gov.cn/elective/index.jsp" target="_blank">http://rs.xmedu.gov.cn/elective/index.jsp</a><br />管理员<br />U:admin<br />P:admin<br /><br />学生<br />U:wangdiping<br />P:123456<br /><br />程序下载地址<br /><a href="http://rs.xmedu.gov.cn/elective/elective.war" target="_blank">http://rs.xmedu.gov.cn/elective/elective.war</a><br />数据库在elective.war里的database</p>
<p>总感觉后台那样写很土,希望大家多提些建议</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/235894" style="color:red;">已有 <strong>7</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 02 Sep 2008 20:57:20 +0800</pubDate>
        <link>http://www.javaeye.com/topic/235894</link>
        <guid>http://www.javaeye.com/topic/235894</guid>
      </item>
      <item>
        <title>[发布] GT-Grid 1.12 版 (080904发布) ★</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://fins.javaeye.com">fins</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236025" style="color:red;">http://www.javaeye.com/topic/236025</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          GT-Grid 1.12版 说明文档.<br /><br />这篇文档主要说明一些这个版本的变化(新增功能 新特性)<br /><br /><br />========================================<br /><br />首先来说一下关于列表的创建函数.<br /><br />在以前的示例中, 有这样的代码:<br /><pre name="code" class="javascript">
GT.Utils.onLoad( GT.Grid.render(mygrid) );
</pre><br /><br />它的意思是 在页面载入时 创建列表. 但是由于我设计上的失误,导致这个示例很容易误导大家.<br />让开发人员以为 GT.Grid.render(mygrid) 是用来创建列表的.<br /><br />其实不是, GT.Grid.render 的结果是返回一个函数 这个函数才是用来创建表格的.<br />这里比较绕,所以 我决定反对使用  GT.Grid.render函数.<br /><br /><br />如果要在页面载入时创建表格 请使用下面的代码<br /><pre name="code" class="javascript">
GT.Utils.onLoad( function(){
	mygrid.render();
} );
</pre><br /><br /><br /><br />如果想在其他时机 (如按某个按钮之后)创建 那么就在相应的时机调用<br />"mygrid.render();" 即可.<br /><br />另外再重申一下函数 GT.$grid("你的grid的id") ,这个函数是通过id取得列表对象.<br /><br /><br /><br />==============================<br /><br /><br /><br />新增属性:<br />grid.selectRowByCheck : false/true ;<br /><br />当列中有checkBox列时, 如果selectRowByCheck==true ,那么选中一行的效果将通过选择checkBox来实现.<br /><br /><br />新增方法<br />grid.getSelectedRecords()<br />取得所有选中行对应的记录.<br /><br /><br /><br />==============================<br /><br /><br />column.renderer 支持字符串模板<br />column.renderer 除了可以是一个函数之外, 还可以是一个字符串模板.例如 <br /><br />renderer : "@{age}岁"<br />那么这列数据 就会变为 "相应记录的age字段的值 + '岁'<br /><br /><pre name="code" class="javascript">

renderer : "@{age}岁"  
相当于

renderer : function(value,record){
	return record['age']+'岁';
}
</pre><br /><br /><br /><br />==============================<br /><br />exception回调函数 : <br />在执行load 和save 操作后, 处理服务端返回的异常的函数如下:<br /><br /><pre name="code" class="javascript">

// grid.loadFailure(responseJson)

	// 默认函数实现
	loadFailure : function(respD){
		alert(' LOAD Failed! '+'\n Exception : \n'+(respD[this.CONST.exception]||''));
	},

// grid.saveFailure(responseJson)

	// 默认函数实现
	saveFailure : function(respD){
				alert(' SAVE Failed! '+'\n Exception : \n'+(respD[this.CONST.exception]||''));
	}

</pre><br /><br />responseJson为服务端返回的json对象.<br /><br /><br />大家可以通过重写这两个方法 来实现自己的对异常信息的处理.<br /><br /><br /><br /><br />==============================<br /><br />工具栏上的简单按钮  现在支持 自定义.<br /><br />自定义的方法是,首先是定义按钮并注册 然后在toolbarContent里面设置即可.<br /><br />定义并注册按钮的方式如下:<br /><br /><pre name="code" class="javascript">

GT.ToolFactroy.register(
	'mybutton',  //按钮的标识 (请使用全小写字母)
	{
		// cls 为按钮的样式,目前只支持简单按钮,简单按钮的样式请这样写:
		// .mybutton-cls { 
		//		background : url(./mybutton.png) no-repeat center center; 
		// }
		cls : 'mybutton-cls',  
		// 按钮的提示信息
		toolTip : '自定义按钮:显示列表的id',
		
		// 点击按钮时 执行的动作
		action : function(event,grid) {  alert( 'The id of this grid is  '+grid.id)  }
	}
);
</pre><br /><br />按钮定义的形式 如上面代码中的注释所示, 就不再多说了.<br />GT.ToolFactroy.register( key , options)<br />这个函数 负责将 定义的按钮以 key的名字注册<br /><br /><br />然后就可以在 toolbarContent 中来指定在什么位置显示这个自定义按钮了.<br /><br /><br />==============================<br /><br /><br />以上的说明不是很详细, 建议大家结合 mydemo_for_1.12.html 这个示例来看一下.<br /><br /><br /><br />==============================<br /><br /><br />关于GT的更多介绍可以参加下面两个地址<br /><br />具体文档请参见下面地址:<br /><a href="http://fins.javaeye.com/blog/214290" target="_blank">列表组件 GT-Grid 最新版本 & 教程</a><br /><br />与服务端结合的例子(8月3日版本)<br /><a href="http://fins.javaeye.com/blog/219217" target="_blank">与服务端结合的例子</a><br />========================================
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236025" style="color:red;">已有 <strong>42</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 03 Sep 2008 11:02:23 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236025</link>
        <guid>http://www.javaeye.com/topic/236025</guid>
      </item>
      <item>
        <title>jCT 在实战中洗礼,jCT要成为终极的javascript前台模板</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://achun.javaeye.com">achun</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237848" style="color:red;">http://www.javaeye.com/topic/237848</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="font-size: small;"><strong>说在前面</strong>
</span>
:</p>
<p style="padding-left: 30px;">由于目前正在用jCT的第三版实作项目,在项目中发现,应用了<span style="color: #993300;"><strong>嵌入式javascript语法</strong>
</span>
模板思想后的jct,</p>
<p style="padding-left: 30px;"><span style="font-size: medium;"><strong><span style="color: #800000;">还可以更简单</span>
</strong>
</span>
</p>
<p style="padding-left: 30px;">首先产生我要继续改造的原因是我发现把javascript以模板形式写在html里会让html页面上增加很多代码,看的时候很不明晰,</p>
<p style="padding-left: 30px;">在思索尝试了以后感觉可改的更简单,并且多模式兼容</p>
<p style="padding-left: 30px;">现在正在改造中.............</p>
<p style="padding-left: 30px;">改造后模板将干净一点再干净一点</p>
<p style="padding-left: 30px;">&nbsp;</p>
<p><strong><span style="font-size: small;">整理完毕单独写了一篇文章</span></strong></p>
<p><a href="http://achun.javaeye.com/blog/238089">http://achun.javaeye.com/blog/238089</a></p>
<p style="font-family: courier new;">&nbsp;</p>
<p><span style="font-size: small;">写完后感觉现在的</span><span style="font-size: small;">jCT：<br />彻底的嵌入式javascript模板</span></p>
<p><span style="font-size: small;">彻底的采用javascript语法<br />
</span><span style="font-size: small;">可以用外部对象进行方便的<strong>实例扩展</strong><br /></span><span style="font-size: small;">浏览</span><span style="font-size: small;">得到视图前后和浏览模板源文件具有<strong>一致性</strong><br />代码很简洁清晰可以<strong>自己定义</strong>文法标识</span><br /><span style="font-size: small;">没有采用一个正则，<strong>速度有保障</strong></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small;">有一种javascript模板技术走到终点的感觉，我想不到还有什么可以重大改进的地方</span>（小的改进就不说了）。</p>
<p>&nbsp;</p>
<p><span style="font-family: times new roman,times; color: #993300; font-size: large;"><strong>jCT会成为终极的javascript前台模板么?</strong></span></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237848" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 06 Sep 2008 10:44:11 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237848</link>
        <guid>http://www.javaeye.com/topic/237848</guid>
      </item>
      <item>
        <title>Google Chrome浏览器JS执行效率比firefox快7倍，惊人!!!!</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pconline900.javaeye.com">pconline900</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236319" style="color:red;">http://www.javaeye.com/topic/236319</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>使用这个测试页面测试浏览器对js执行的计算能力 <br /><a href="http://wd-testnet.world-direct.at/mozilla/dhtml/funo/jsTimeTest.htm">http://wd-testnet.world-direct.at/mozilla/dhtml/funo/jsTimeTest.htm</a> </p>
<p><br /><br />Google Chrome: Average time: 131ms <br />IE 7.0: 无法完成测试，多次弹出脚本过慢是否正常执行的提示 <br />Firefox 2.0: Average time: 967ms</p>
<p>可以看到Google浏览器比Firefox在计算能力上平均快7倍左右，非常惊人的性能，什么时候firefox IE能改善他们的js引擎就好了</p>
<p>&nbsp;<img class="magplus" title="点击查看原始大小图片" src="../../../../upload/picture/pic/21175/5ef37a17-7790-307e-93c6-df6e6cf1862d.jpg?1220446966" height="411" alt="5ef37a17-7790-307e-93c6-df6e6cf1862d" width="680" /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236319" style="color:red;">已有 <strong>6</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 03 Sep 2008 21:05:48 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236319</link>
        <guid>http://www.javaeye.com/topic/236319</guid>
      </item>
      <item>
        <title>大家看看这个改如何实现：gird中加入checkbox头与列</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://luckytwo.javaeye.com">luckytwo</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/238028" style="color:red;">http://www.javaeye.com/topic/238028</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          大家好，项目中表格中需要使用checkbox，难到我了，请大家看看有没有好的实现与建议，谢谢！<br /><br />需要的实现：表格的一列全为checkbox，点击表头的checkbox可以全选下面的checkbox，类似CheckboxSelectionModel中第一列的操作<br /><br />我的问题是，如何操作加入的checkbox，因为那是直接用html代码写的，checkbox的值怎样提交给后台<br /><pre name="code" class="java">
Ext.onReady(function() {
	var data = [[1, 'EasyJWeb', 'EasyJF', 'www.easyjf.com'],
	[2, 'jfox', 'huihoo', 'www.huihoo.org'],
	[3, 'jdon', 'jdon', 'www.jdon.com'],
	[4, 'springside', 'springside', 'www.springside.org.cn']];

	var store = new Ext.data.SimpleStore({
		data : data,
		fields : ["id", "name", "organization", "homepage"]
	});

	var sm = new Ext.grid.CheckboxSelectionModel();
	var grid = new Ext.grid.EditorGridPanel({
		renderTo : "hello",
		title : "checkbox gird test",
		height : 150,
		width : 600,
		columns : [{
			header : "项目名称",
			dataIndex : "name"
		},

		{
			header : '&lt;input type="checkbox" />',
			dataIndex : "organization"
		}, {

			header : "DEAD",
			dataIndex : 'dead',
			width : 55,
			editor : new Ext.form.Checkbox()
		},

		{
			header : '授权&lt;input type="checkbox" />',
			dataIndex : "homepage",
			renderer : function(value) {
				return '&lt;input type="checkbox" />';
			}
		}],

		store : store,
		sm : sm,
		autoExpandColumn : 2

	});

});

</pre><br /><br />附图，希望达到的效果是点击授权的checkbox，下面的都可以选中，并且下面的checkbox的值都可以被提交
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/238028" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 06 Sep 2008 23:50:34 +0800</pubDate>
        <link>http://www.javaeye.com/topic/238028</link>
        <guid>http://www.javaeye.com/topic/238028</guid>
      </item>
      <item>
        <title>js的unit test实现(一) </title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://deonwu.javaeye.com">kgd924</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237877" style="color:red;">http://www.javaeye.com/topic/237877</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>不知道有多少人会写js的unit test, 不过最近的项目对unittest要求比较严格.所以也养成了写unittest的习惯. 在搞js-shell时, 对写的代码没有做test,总是不放心. 找了一些资料看到JQuery的unit test方法不错. 学习了一下也在js-shell加入了Uinttest库. 总算把前面的代码都加上了UT才放心.<br />
<br />
js-shell中的unittest的使用方法和概念都和junit差不多, 主要有TestRunner, TestResult, TestSuite, TestCaseContext几个对象. 下面是一个例子:<br />
<br />
1. 先实现一个test runner, 创建run_unit_test.js 这是必须的步骤,不过内容很简单:</p>
<pre name="code" class="javascript">var ut = __import__('UnitTest', null, {})  //导入Unitest 库

ut.run_suite('.')  //运行Testsuite,  将运行当前目录下的所有以'test_'开头的js文件作为unittest运行.
</pre>
<p>&nbsp;</p>
<p>2. 实现一个unitest, 创建test_hellotest.js</p>
<p>&nbsp;</p>
<pre name="code" class="js">test(&quot;assertEqual&quot;, function() {   //一个unittest, 名称为&quot;assertEqual&quot;, function为 test的内容.
    assertEqual(10+ 20, 30)      //一个比较断言,,
});

test(&quot;assertEqual fail no message&quot;, function() {  //一个失败的 unitest 例子.
    assertEqual(10+ 20, 31)
});

test(&quot;assertEqual fail with message&quot;, function() {
    assertEqual(10+ 20, 31, &quot;10+20 != 31&quot;)
});

test(&quot;assertRaises expect raised&quot;, function() {  //测试一个将要抛出异常的方法.
    assertRaises('Stop', function(m){throw m}, 'Stop')
});


test(&quot;assertRaises mismatch raised&quot;, function() {
    assertRaises('Stop', function(m){throw m}, 'Start')
});

test({                      //实现一个Unittest对象, 包含setUp, tearDown.
    setUp: function(){        //一个setUp, 在每个test方法调用之前调用.
        this.msg = &quot;enter setUp&quot;;
        info('enter setUp');   //在Test中输出消息.
    },
    
    test_basic_requirements: function(){  //一个方法内的test, 方法名必须以&quot;test_&quot;开头
        info('running test_basic_requirements');
        assertEqual(this.msg, &quot;enter setUp&quot;)
        this.msg = 'test_basic_requirements'
    },
    
    test_setUp_called_for_every_functional: function(){
        info('test_setUp_called_for_every_functional');
        assertEqual(this.msg, &quot;enter setUp&quot;)
        this.msg = 'test_setUp_called_for_every_functional'
    },   
    
    tearDown: function(){    //在每个test调用用调用.
        this.msg = &quot;enter tearDown&quot;;
        info('enter tearDown');
    },
    
});</pre>
<p>&nbsp;3. 运行unit test</p>
<p>&nbsp;</p>
<pre name="code" class="java">C:\utest&gt;js run_unit_test.js
[INFO]:Start test file:C:\utest\test_hellotest.js
assertEqual...PASS in 0ms
assertEqual fail no message...FAIL in 16ms
        expected: 31, actual: 30
assertEqual fail with message...FAIL in 0ms
        10+20 != 31
assertRaises expect raised...PASS in 0ms
assertRaises mismatch raised...FAIL in 0ms
        expected exception:Stop, catched:Start
[INFO]test_setUp_called_for_every_functional:enter setUp
[INFO]test_setUp_called_for_every_functional:test_setUp_called_for_every_functio
nal
[INFO]test_setUp_called_for_every_functional:enter tearDown
test_setUp_called_for_every_functional...PASS in 31ms
[INFO]test_basic_requirements:enter setUp
[INFO]test_basic_requirements:running test_basic_requirements
[INFO]test_basic_requirements:enter tearDown
test_basic_requirements...PASS in 16ms
-----------------------------------------------------------
Ran 7 tests in 63ms
FAILED! Pass:4, Failed:3</pre>
<p>&nbsp;</p>
<p>这是一个简单的Unit, test. 测试的输出和UnitTest中的断言方法都可以自定义. 下次将介绍如何定义assert方法.</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237877" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 06 Sep 2008 12:31:26 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237877</link>
        <guid>http://www.javaeye.com/topic/237877</guid>
      </item>
      <item>
        <title>flex中的值拷贝</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wzhxhj.javaeye.com">wzhxhj</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237868" style="color:red;">http://www.javaeye.com/topic/237868</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          现在在做一个富客户端项目，前台用flex来完成，在做的过程中遇到一个棘手的问题，就是list与list的值拷贝问题，我想把一个list中的数据拷贝到另个list中，在flex中，一切皆对象，并不能用简单的list = list就搞定，查遍了它的所有文档，也没有一个好的api来完成，所以必须再新建一个临时list来作为中转站才行，像一下这样，templist = listA ,listB = templist。这样就大功告成
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237868" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 06 Sep 2008 11:39:18 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237868</link>
        <guid>http://www.javaeye.com/topic/237868</guid>
      </item>
      <item>
        <title>javascript 的Socket 服务端编程。</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://deonwu.javaeye.com">kgd924</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237853" style="color:red;">http://www.javaeye.com/topic/237853</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>这里的Socket编程不是指使用XmlHttpRequest对象， 而是真正的创建一个Socket实现收发数据。 使用Javascript调用Java的NIO接口实现的Socket编程。</p>
<p>&nbsp;</p>
<p>实现一个简单的EchoServer，创建文件 ：EchoServer.js</p>
<p>&nbsp;</p>
<pre name="code" class="js"> var socket = __import__('Socket', null, {}) //导入Socket library..
 
 var server = new socket.SocketServer('127.0.0.1', 8000) //创建一个Socket Server.
 
 server.on('listen', function(server) {  //加入服务器开始监听的事件
    print('Event listen on server:' + server.localAddress + ', port:' + server.localPort)
 })
 server.on('clientClosed', function(client) {
    print('Event clientClosed on server:' + client.address + ', port:' + client.port)
 })
 server.on('closed', function(socket) {
    print('Event closed on server')
 })

 
 server.on('accept', function(client){   // 一个新的client连接
    print('new client:' + client.address + ', port:' + client.port)
    client.on('read', function(s) {   //clinet的有数据可读。
        var input = s.read();
        print('read data:' + input)
        s.write(input)       //写数据到，
    });
    client.on('closed', function(s) {
        print('bye bye client.')
        //s.write('input')
    });
 })
  
 server.listen(&quot;127.0.0.1&quot;, 8000)   //监听一个端口, 并blocking, 直到服务器端被关闭。</pre>
<p>&nbsp;</p>
<p>运行：</p>
<pre name="code" class="js"># js EchoServer.js
Event listen on server:localhost, port:8000

打开新的窗口输入
#telnet 127.0.0.1 8000

# 服务端显示
Event listen on server:localhost, port:8000
new client:localhost, port:1978
event:read
read data:a
event:read
read data:b
event:read
read data:c

测试服务器连接成功.</pre>
&nbsp;
<p>&nbsp;</p>
<p>运行上面的代码,还需要一个运行环境和Socket 库, 可以到 http://code.google.com/p/js-shell/downloads/list&nbsp; 下载一个night build.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237853" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 06 Sep 2008 11:12:01 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237853</link>
        <guid>http://www.javaeye.com/topic/237853</guid>
      </item>
      <item>
        <title>讨论一下,Ext里哪个组件设计的最不好</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://fins.javaeye.com">fins</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237459" style="color:red;">http://www.javaeye.com/topic/237459</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近在一直做Ext的研究 代码结构方面的.<br />并且做一些修改和扩展.<br />多少也研究了不少他的组件.<br /><br />EXT有多强大多NB就不用我多说了 但是任何好的事物也都有不好的方面<br /><br />大家来讨论讨论呢 哪个ext的组件设计的不最不好吧<br /><br />我先说说我的观点:<br /><br />我觉得最不好的就是 他的树.<br />首先 设计的不够灵活(想灵活也行 但是需要开发人员做很多事情)<br />其次 严重违背了ext自己的一个设计理念: 数据与展现分离.<br /><br />Tree,Node,TreePanel, TreeNode,AsyncTreeNode,TreeNodeUI, TreeLoader....<br />彼此之间的关系混乱复杂, 有很多错误的关系(我认为错误 并不一定真的错误)<br /><br /><br />大家觉得还有哪些组件设计的不够好呢???<br /><br /><br />下面附上一张我对ext tree的分析图 还有我的一个重构目标<br /><br /><img src="http://fins.javaeye.com/upload/picture/pic/21407/f56d5809-a775-372c-b839-a48501354441.jpg" />
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237459" style="color:red;">已有 <strong>6</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 05 Sep 2008 11:27:02 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237459</link>
        <guid>http://www.javaeye.com/topic/237459</guid>
      </item>
      <item>
        <title>关于UI框架的选择</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://nogocn.javaeye.com">nogocn</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236087" style="color:red;">http://www.javaeye.com/topic/236087</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          JavaScript EXT AJAX UI CSS prototype dojo YUI DWR GWT Buffalo JQuery Flex<br />上面的是javaeye上的AJAX版的目录。使用过EXT，不知什么原因，觉得速度很慢。也使用过AJAX但是觉得自己写个出来还是水平有限。使用prototype，觉得速度可以，但是接口之类的不太清楚。请有经验的朋友评价下选用那个AJAX框架更合适做网页。
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236087" style="color:red;">已有 <strong>3</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 03 Sep 2008 13:05:19 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236087</link>
        <guid>http://www.javaeye.com/topic/236087</guid>
      </item>
      <item>
        <title>firefox 3中的$(document).ready()问题</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yucc77.javaeye.com">yucc77</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237551" style="color:red;">http://www.javaeye.com/topic/237551</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          第一次用JQuery，发现FF3下面的$(document).ready()有问题，触发不了。<br />在网上查了一下：<br /><div class="quote_title">引用</div><div class="quote_div">document.ready fires when the DOM is loaded, it doesn't wait for<br />external things to load, that's the whole point! :-) </div><br /><div class="quote_title">引用</div><div class="quote_div">One way to avoid the “flicker or flash” associated with this problem is to make sure that all of your initial page styling is done by your CSS and not by your Javascript. But this is hardly supportive of using graceful degradation and progressive enhancement best practices.<br /></div><br />应该是个老问题了，不知道大家都怎么处理的
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/237551" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 05 Sep 2008 13:39:19 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237551</link>
        <guid>http://www.javaeye.com/topic/237551</guid>
      </item>
      <item>
        <title>XML+XSLT+jquery 实现的问卷.</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://genius.javaeye.com">genius</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236813" style="color:red;">http://www.javaeye.com/topic/236813</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我用xml+xslt+jquery做一个问卷的，附件里面有整个代码，打开就可以直接运行，希望大家多给意见。下面是例图：
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236813" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 04 Sep 2008 13:26:43 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236813</link>
        <guid>http://www.javaeye.com/topic/236813</guid>
      </item>
      <item>
        <title>openlayers中利用vector实现marker的方式</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://kebo.javaeye.com">kebo</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236912" style="color:red;">http://www.javaeye.com/topic/236912</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          项目需要一个小型的gis。openlayers，geoserver，postgres组合是比较好的选择。<br />openlayers的marker层好像不支持拖动操作。通过研究api发现，可以利用vector层<br />达到这个目的，作出标注的效果。可以定位，搜索，拖动等效果，选中的时候可以<br />通过修改style达到动画效果。<br />基本做法如下：<br />1：定义marker显示的样式<br />2：扩展vector层，利用在扩展层上添加point与style，图片显示point就出现标注的<br />   效果<br />基本代码如下:<br />定义样式：<br /><pre name="code" class="java">
$package("com.bct.map");
com.bct.map.EncoderMarkerStyle = {
	'bigEncoder':{
    	graphicWidth:24,
        graphicHeight : 24,
        graphicXOffset : -12,
        graphicYOffset : -24,
        externalGraphic : "scripts/map/img/channel2.png"
    },
    'smallEncoder':{
        graphicWidth:16,
        graphicHeight : 16,
        graphicXOffset : -8,
        graphicYOffset : -16,
        externalGraphic : "scripts/map/img/channel.gif"
    },
    'selectStyle':{
        pointerEvents: "visiblePainted",
        border:"border:25 outset #ff88ff",
        cursor: "pointer",
        graphicWidth:24,
        graphicHeight : 24,
        graphicXOffset : -12,
        graphicYOffset : -24,
        externalGraphic : "scripts/map/img/channel2.png"    
    },
    styleMap: new OpenLayers.StyleMap({
                    "select": new OpenLayers.Style({pointRadius: 24})
    })
}</pre><br />2:扩展向量层<br /><pre name="code" class="java">
$package("com.bct.map");
$import("com.bct.map.EncoderMarkerStyle");
com.bct.map.MarkerVectorLayer = OpenLayers.Class(OpenLayers.Layer.Vector,{
    /**
	 * parameters
	 * attribute filer对象
	 */
	getFeatureByAttribute :function(attributes){
		var feature = null;
		for(var i=0;i&lt;this.features.length; ++i){
			var attri = this.features[i].attributes;
			var find = false;
			for(var j in attributes){
				if(attributes[j] == attri[j]){
					find = true;
				}
			}
			if(find){
				return this.features[i]; 
			}			
		}
	
	},
	//添加Feature，是point显示为图片
	addEncorderFeature:function(encNode,location){
		if(encNode&&this.repetitiveCheck(encNode.id)){
			return;
		}
        var attributes = OpenLayers.Util.extend({}, encNode.attributes);
        var enc_point = new OpenLayers.Geometry.Point(location.lon,location.lat);
        var enc_Feature = new OpenLayers.Feature.Vector(enc_point,attributes,com.bct.map.EncoderMarkerStyle['smallEncoder']);
        this.addFeatures([enc_Feature]);
        if(encNode.attributes['lon']&&encNode.attributes['lat']&&encNode.attributes['lon'].length>0){
        	return;
        }
        this.updateChannel(encNode.id,location.lon,location.lat);
	},
	repetitiveCheck:function(entity_id){
	    if(this.getFeatureByAttribute({id:entity_id})){
	    	return true;
	    }
		return false;
	},
	updateChannel:function(channel_id,lon,lat){
		Ext.Ajax.request({
  			 url: 'deviceVideoEncoder.do?method=updateLonlat&id='+channel_id+"&lon="+lon+"&lat="+lat
		});
	},
	channelMarkerClick:function() {
	    var features = this.selectedFeatures;
    	if(features.length >=0&&features[0]) {
    		feature = features[0];            
            var treeNodeAttribute = feature.attributes;
			//显示信息   	
    	}
    },
    cartoonFeature :function(feature){
    	this.drawFeature(feature,com.bct.map.EncoderMarkerStyle['bigEncoder']);
        var runner = new Ext.util.TaskRunner(1000);
        var task = {
	    	run:this.drawFeature,
	    	scope:this,
	    	args:[feature,com.bct.map.EncoderMarkerStyle['smallEncoder']],
	    	interval: 1000
		}
    	runner.start(task);
    },
    removeSelectFeature:function(){
    	var features = this.selectedFeatures;
    	for(var i=features.length-1; i>=0; i--) {
            feature = features[i];
            this.updateChannel(feature.attributes['id'],"","");
        }
        this.destroyFeatures(this.selectedFeatures);
    },
    monitorSelectFeature:function(){		
    	var features = this.selectedFeatures;
    	if(features.length >=0&&features[0]) {
            feature = features[0];            
            var treeNodeAttribute = feature.attributes;
			var objId="mapAVShow"+treeNodeAttribute['id'];
			//弹出窗口
        }
    }
});</pre><br />addEncorderFeature是添加一个标注的地方。<br />利用这种方式，比原有的marker层拥有更多的功能
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236912" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 04 Sep 2008 16:27:26 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236912</link>
        <guid>http://www.javaeye.com/topic/236912</guid>
      </item>
      <item>
        <title>Unicorn JS 0.4.0 - 打造简洁易用的精品Widgets</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lifesinger.javaeye.com">lifesinger</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236362" style="color:red;">http://www.javaeye.com/topic/236362</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <img src="http://lifesinger.org/blog/wp-content/uploads/2008/08/unicorn.jpg" /><br /><br />更新到0.4.0, 增加了SlideView和LiquidView组件，以及一些bugs fix.<br /><br />做了一些组件的效果演示页面：<a href="http://lifesinger.org/unicorn/examples/" target="_blank">Unicorn Examples</a> (<span style="color: "Green"">精彩尽在这里，期待您的猛击</span>)<br /><br />不知道Unicorn JS是什么？<a href="http://lifesinger.org/blog/?page_id=8" target="_blank">请点击这里</a><br /><br />你可以通过SVN下载最新的源代码，期待您的参与和反馈。:p
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236362" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 04 Sep 2008 00:15:12 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236362</link>
        <guid>http://www.javaeye.com/topic/236362</guid>
      </item>
      <item>
        <title>多级联动下拉菜单，等砖头</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://css.javaeye.com">叶子</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236792" style="color:red;">http://www.javaeye.com/topic/236792</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          功能：<br />1.支持多级别<br />2.支持一拖多<br />3.支持多浏览器（ie6 ie7 opera9 firefox3 chrome0.2 safari3.1）<br /><br />演示：<a href="http://www.yeeh.org/demo/selects/" target="_blank">http://www.yeeh.org/demo/selects/</a><br />下载：http://www.yeeh.org/demo/selects/selects.rar <br /><br />再弱弱问句 原创的可以留网址吧？
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236792" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 04 Sep 2008 12:48:55 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236792</link>
        <guid>http://www.javaeye.com/topic/236792</guid>
      </item>
      <item>
        <title>ExtJs Combobox 问题</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://ziyouxf.javaeye.com">ziyouxf</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236655" style="color:red;">http://www.javaeye.com/topic/236655</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          现遇到如下问题： <br /><br />例如： <br />表单中有个Combobox对象，选项有A、Ｂ、Ｃ三项，该Combobox为可编辑； <br />当选择任意选项时，提交表单后都能取道选项对应的值； <br />但将Combobox中填写为非选项中的值时（例如："Ｄ"）提交表单后，后台取不到值； <br /><br />代码如下： <br />var combo = new Ext.form.ComboBox({ <br />fieldLabel:propName, // propName 为一字符串 如：'字母' <br />hiddenName:propId, // propId 为一数字，如：20 <br />store: propVals, // propVals 为一维数组，如：['A','B','C'] <br />typeAhead: true, <br />mode: 'local', <br />triggerAction: 'all', <br />value:PropVal, // unitPropVal 为一默认值，如：'A'，这里是编辑页面，如果是添加页面则无此项 <br />selectOnFocus:true <br />}); <br /><br />具体描述： <br />当在Combobox中填写'D'时，后台getParameter("20")取不到值'D',而是编辑文本框之前的选项（如：在选中'A'状态下编辑为'D',则getParameter("20")的值为'A'，若在没有默认值的情况下编辑，则getParameter("20")值为''）. <br /><br />现在项目有这样的需求，即可以选择提供的选项，也能自定义该属性的值，请问该如何实现？有没有例子可供参考？
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236655" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 04 Sep 2008 09:57:46 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236655</link>
        <guid>http://www.javaeye.com/topic/236655</guid>
      </item>
      <item>
        <title>Google Chrome浏览器js引界面擎渲染能力测试，惊人!!</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pconline900.javaeye.com">pconline900</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236315" style="color:red;">http://www.javaeye.com/topic/236315</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          google浏览器刚出来，性能究竟如何呢，偶写了一个小程序通过dom的方式渲染一个5000行10列数据的表格，测试结果如下<br /><br />Google Chrome: 1482 ms<br />IE 7.0 : 17547 ms<br />Firefox 2.0: 5047 ms<br /><br />可以看到google的js脚本渲染界面能力比IE快10倍，比Firefox快3倍，性能非常惊人。Google Chrome的Javascript engine基于V8引擎的，js源代码直接生成了机器码，只需要解释一次，其他浏览器如 IE Firefox都是反复多次解释执行的。<br />可以预见现在众多ajax框架有了google浏览器后，性能问题可以得到很大提升了，对ajax框架无异于是个大利好，加油，google chrome。
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236315" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 03 Sep 2008 20:54:40 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236315</link>
        <guid>http://www.javaeye.com/topic/236315</guid>
      </item>
      <item>
        <title> 最近做的在线游戏：华容道(53关)，界面古朴典雅，过关过程可回放  </title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://realfun.javaeye.com">realfun</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236306" style="color:red;">http://www.javaeye.com/topic/236306</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>(除了声音播放，都是javascript，没有flash)</p>
<p>&nbsp;</p>
<p><a href="http://www.fayaa.com/youxi/hrd/"><img src="http://www.fayaa.com/static/images/youxi/hrd/snap2.jpg" alt="" />
</a>
</p>
<p><a href="http://www.fayaa.com/youxi/hrd/"><strong>在线华容道 - 游戏发芽网</strong>
</a>
</p>
<p><strong><em>游戏特点</em>
</strong>
：<br />
    * 界面古朴典雅<br />
    * 50多种开局（横刀立马、守口如瓶、层层设防等&hellip;)<br />
    * 操作简单、可回退<br />
    * 过关结果可动态回放</p>
<p><strong>最大的优点就是最后一条，过关结果可回放</strong>
，呵呵。<br />
一般讨论华容道游戏的时候大家描述方法不通，结果很混乱，但是如果能够看到整个解题过程就不会有这个问题了。<br />
你可以到打开下面两个结果试试看：<br />
<a href="http://www.fayaa.com/youxi/hrd/1/replays/#gate-spec">横刀立马81步解法</a>
<br />
<a href="http://www.fayaa.com/youxi/hrd/49/replays/#gate-spec">小燕出巢137步解法</a>
</p>
<p><strong><em>华容道游戏简介</em>
</strong>
（以后写个全资料篇）：</p>
<blockquote>
<p>你知道智力游戏界的三大不可思议吗？它指的是中国的&ldquo;华容道&rdquo;， 法国的&ldquo;独立钻石&rdquo;和匈牙利的&ldquo;魔方&rdquo;。<br />
华容道，古老的中国游戏，以其变化多端、百玩不厌的特点与七巧板、九连环合称&ldquo;中国的难题&rdquo;。</p>
<p>华容道游戏取自著名的三国故事，曹操在赤壁大战中被刘备和孙权的&ldquo;苦肉计&rdquo;、&ldquo;火烧连营&rdquo;打败，被迫退逃到华容道，又遇上诸葛亮的伏兵，关羽为了报
答曹操对他的恩情，明逼实让，终于帮助曹操逃出了华容道。游戏就是依照&ldquo;曹瞒兵败走华容，正与关公狭路逢。只为当初恩义重，放开金锁走蛟龙&rdquo;这一故事情
节。</p>
<p><strong>说明与规则</strong>
：<br />
   1. &ldquo;华容道&rdquo;有一个带二十个小方格的棋盘，代表华容道。棋盘下方有一个两方格边长的出口，是供曹操逃走的。<br />
   2. 棋盘上共摆有十个大小不一样的棋子，它们分别代表曹操、张飞、赵云、马超、黄忠和关羽，还有四个卒。<br />
   3. 通过移动各个棋子，不允许跨越棋子，帮助曹操从初始位置移到棋盘最下方中部，从出口逃走。<br />
   4. 一个棋子的多次连续移动只计一次移动次数</p>
<p>&ldquo;华容道&rdquo;有几十种布阵方法，如&ldquo;横刀立马
&rdquo;、&ldquo;近在咫尺&rdquo;、&ldquo;过五关&rdquo;、&ldquo;水泄不通&rdquo;、&ldquo;小燕出巢&rdquo;等等玩法。棋盘上仅有两个小方格空着，玩法就是通过这两个空格移动棋子，用最少的步数把曹操移
出华容道。这个玩具引起过许多人的兴趣，大家都力图把移动的步数减到最少。 </p>
</blockquote>
<p>大多数在100步以内搞定都是很困难的，最简单的是第44关（<a href="http://www.fayaa.com/youxi/hrd/44/#gate-spec">iPhone关卡1</a>
）。<br />
这关我玩了两遍（<a href="http://www.fayaa.com/youxi/hrd/44/replays/#gate-spec">动态回放记录</a>
），最快用了50步，感觉应该可以在40步左右搞定的。</p>
<p>呵呵，<a href="http://www.fayaa.com/youxi/hrd/">点击这里挑战一下</a>
不可思议的华容道吧。</p>
<p>欢迎任何<a href="http://127.0.0.1:8000/youxi/feedback/">意见和建议</a>
。
</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236306" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 03 Sep 2008 20:30:45 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236306</link>
        <guid>http://www.javaeye.com/topic/236306</guid>
      </item>
      <item>
        <title>javascript中直接取得DWR方法的返回值 </title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://issun.javaeye.com">issun</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236252" style="color:red;">http://www.javaeye.com/topic/236252</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一般在页面中要取DWR方法的值的做法是<br /><br />function test(){<br />     dwrTest.hello(function(data){alert(data)})<br />}<br /><br />当你的javascript的test方法要返回这个值时就不好办了。因为DWR方法返回值是执行完后通过调用指定的函数将值返回。这们的话，我们往往会这么做<br /><br /> <br />function test(){<br />     var result;<br />     dwrTest.hello(function(data){result=data})<br />     return result;<br />}<br /><br />上面的代码在使用的时候会发现它的返回值为"undefined",分析一下<br /><br />dwrTest.hello(function(data){result=data})<br /><br />这一句中“function(data){result=data}"这个方法是一个传给dwrTest.hello的一个参数，是由hello方法执行完后再调用的，所以在test()中并不会执行，就直接返回了一个未初始化的"result"。<br /><br />实际上这就是一个异步处理过程，而javaScript默认是同步执行的。<br /><br />我们只要把上面的代码改成：<br /><br /> function test(){<br />     var result;<br />     DWREngine.setAsync(false);<br />     dwrTest.hello(function(data){result=data})<br />     DWREngine.setAsync(true);<br />     return result;<br />}<br /><br />这样JavaScript执行的时候就会等待"dwrTest.hello"执行完毕后再执行接下来的语句，这时我们就可以直接取得返回值了。
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/236252" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 03 Sep 2008 17:13:18 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236252</link>
        <guid>http://www.javaeye.com/topic/236252</guid>
      </item>
      <item>
        <title>YUI Grid CSS的优雅设计</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://ivanl.javaeye.com">Ivan Li</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/235922" style="color:red;">http://www.javaeye.com/topic/235922</a>&nbsp;
          发表时间: 2008年09月02日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>最近加入了一个GAE的项目cpedialog,该项目的前端布局采用YUI Grid CSS,我就顺便看了一下，YUI Grid CSS设计的非常优雅，思路非常清晰，打算使用CSS+DIV做网站布局的兄弟非常值得一看。下面我把我记录的一些要点列出来，便于我以后查阅，同时算是抛砖引玉吧。项目详情请参见 <a href="http://developer.yahoo.com/yui/grids/">YUI Grid CSS</a>
 </p>
<ul>
<li>引入CSS 文件，这里yahoo提供了共用的css host文件，如果很多网站都使用yahoo host的js ,css,那么这些css,js将仅加载一次，有利于提高浏览速度</li>
</ul>
<p>&nbsp;</p>
<pre name="code" class="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;  
	&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt; 
	&lt;html&gt; 
	&lt;head&gt; 
	    &lt;title&gt;YUI Grids CSS &lt;/title&gt; 
	    &lt;!-- Source File --&gt; 
	    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://yui.yahooapis.com/2.5.2/build/reset-fonts-grids/reset-fonts-grids.css&quot;&gt; 
&lt;/head&gt; </pre>
&nbsp;
<ul>
<li>YUI Grid CSS建议把网站整体划分为3打部分，header, body, footer,并且这三部分放在一个大的div里,这三大部分使用id selector来做定义。<br />
</li>
</ul>
<p>&nbsp;</p>
<pre name="code" class="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;YUI Grids CSS &lt;/title&gt;
	&lt;!-- Source File --&gt;
	&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;reset-fonts-grids.css&quot;&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;doc&quot;&gt;
   &lt;div id=&quot;hd&quot;&gt;&lt;!-- header --&gt;&lt;/div&gt; 
   &lt;div id=&quot;bd&quot;&gt;&lt;!-- body --&gt;&lt;/div&gt; 
   &lt;div id=&quot;ft&quot;&gt;&lt;!-- footer --&gt;&lt;/div&gt; 
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<ul>
<li>&nbsp;YUI Grid CSS为最外侧的div预先设置了4个宽度，分别是750px, 950px, 100%, 974px，可以通过改变最外侧div的id来改变它的宽度，同时用户还可以根据自己的需要自己定义最外侧div的宽度</li>
</ul>
<pre name="code" class="html">&lt;!-- #doc = 750px width, centered--&gt;
&lt;div id=&quot;doc&quot;&gt;&lt;/div&gt;

&lt;!-- #doc2 = 950px width, centered --&gt;
&lt;div id=&quot;doc2&quot;&gt;&lt;/div&gt;

&lt;!-- #doc3 = 100% width --&gt;
&lt;div id=&quot;doc3&quot;&gt;&lt;/div&gt;

&lt;!-- #doc4 = 974px width, centered --&gt;
&lt;div id=&quot;doc4&quot;&gt;&lt;/div&gt;
</pre>
<ul>
<li>&nbsp;绝大多数网站可以把body分成两个部分，main-block and second-block,YUI Grid CSS已经预先定义好了这两个块，并且可以通过改变css class的内容来调节main-block和second-block的左右位置，以及second-block的宽度，main-block将会占用second-block宽度剩余的宽度</li>
</ul>
<p>&nbsp;</p>
<pre name="code" class="html">&lt;div id=&quot;doc&quot; class=&quot;yui-t4&quot;&gt; &lt;!-- change class to change preset --&gt;
   &lt;div id=&quot;hd&quot;&gt;&lt;/div&gt;
   &lt;div id=&quot;bd&quot;&gt;
      &lt;div id=&quot;yui-main&quot;&gt;
         &lt;div class=&quot;yui-b&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;yui-b&quot;&gt;&lt;/div&gt;
   &lt;/div&gt;
   &lt;div id=&quot;ft&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<ul>
<li>&nbsp;yui-b中的b 表示block, 在最外层的class=&quot;yui-t4&quot;表示second-block占用180px，排列在main-block的右侧，除了yui-t4,之外，还有yui-t1 到yui-t6，每一个都表示不同的含义。</li>
<li>在main-block中还支持内嵌的grid,css class用yui-g来表示，在内嵌的grid中，包含不同的uint,css使用yui-u来表示</li>
</ul>
<p>&nbsp;</p>
<pre name="code" class="html">&lt;div id=&quot;yui-main&quot;&gt;
   &lt;div class=&quot;yui-b&quot;&gt;
      &lt;div class=&quot;yui-g&quot;&gt;
         &lt;div class=&quot;yui-u first&quot;&gt;&lt;/div&gt;
         &lt;div class=&quot;yui-u&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/div&gt;
&lt;/div&gt;
</pre>
<ul>
<li>&nbsp;内嵌的grid还可以内嵌grid,这样就可以设计出非常复杂的page layout来，同时还可以指定那个unit在前，哪个unit在后，使用css class=&quot;first&quot;</li>
</ul>
<p>&nbsp;</p>
<pre name="code" class="html">&lt;div id=&quot;yui-main&quot;&gt;
   &lt;div class=&quot;yui-b&quot;&gt;
      &lt;div class=&quot;yui-g&quot;&gt;
         &lt;div class=&quot;yui-g first&quot;&gt;
            &lt;div class=&quot;yui-u first&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;yui-u&quot;&gt;&lt;/div&gt;
         &lt;/div&gt;
         &lt;div class=&quot;yui-g&quot;&gt;
            &lt;div class=&quot;yui-u first&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;yui-u&quot;&gt;&lt;/div&gt;
         &lt;/div&gt;
      &lt;/div&gt;
   &lt;/div&gt;
&lt;/div&gt;
</pre>
<ul>
<li>&nbsp;对于内嵌的grid,如果使用css class=&quot;yui-g&quot;，里面的两个unit是均分width的，如果有特殊需要，还可以指定，css class为yui-gb到yui-gf，这些css分别定义了两个unit如何分配grid的width<br />
</li>
</ul>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/235922" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 02 Sep 2008 22:38:52 +0800</pubDate>
        <link>http://www.javaeye.com/topic/235922</link>
        <guid>http://www.javaeye.com/topic/235922</guid>
      </item>
      <item>
        <title>js-shell 开源项目--无聊的玩具</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://deonwu.javaeye.com">kgd924</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/235569" style="color:red;">http://www.javaeye.com/topic/235569</a>&nbsp;
          发表时间: 2008年09月02日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>项目名称： Js-Shell
<br />发起时间： 2008年8月
<br />代码托管：http://code.google.com/p/js-shell/<br />
<br /><strong>项目介绍：</strong>
</p>
<p>Js-Shell
以开发通用的js库为主，目标是实现js的通用化。使js可以更多的用在普通的应用开发,例如桌面应用，网络应用等。让javascript和java两个没有血缘关系的亲兄弟走的更近。</p>
<p>&nbsp;</p>
<p><a id="项目介绍">项目默认使用了Mozilla的Rhino Javscript解析器(</a><a href="http://www.mozilla.org/rhino/" rel="nofollow">http://www.mozilla.org/rhino/</a>), 实现的一个独立运行javascript的shell. Rhino是使用Java开发的JS解析器. 在此shell下很容易的调用Java的代码。</p>
<p>&nbsp;</p>
<p>项目一开始就是无聊的玩具, 所以没有什么宏伟大志. 一个人玩得没有兴趣了, 所以发个广告看能否找到一起玩的朋友.</p>
<p><br /><strong>项目</strong><strong>信息：</strong>
<br />运行平台: JRE1.4以上版本, 操作系统无关.
<br />开发语言: Java
<br />开源协议: <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" rel="nofollow">GNU General Public License v2</a></p>
<p>&nbsp;</p>
<p><strong>项目</strong><strong>状态：</strong></p>
<p>刚正式发布一个相对稳定版本. 特征如下:</p>
<ul>
<li>初步定义了js包的开发规范, 和import方式. </li>
<li>定义了一些通用的方法到Lang lib. </li>
<li>定义了简单的文档格式,使用jsdoc.js生成API文档. </li>
<li>完成了Unit test框架, 并Pass了31个测试 </li>
<li>从JQuery移植了浏览器模拟对象, 改为Browser lib </li>
<li>从Ext-js移植了extend, apply方法. </li>
</ul>
<p><strong>一些问题</strong><strong>：</strong></p>
<p><strong>Q:这个项目的意义是什么</strong> <br />A:很抱歉,还没思考．主要是作者在杭州出差期间,下班后实在无聊不知道做什么好．突然想到找个玩具来打发时间．既然是玩具, 所以也就没有去思考什么意义．有兴趣就玩玩而已． 
<br /><strong>Q:这个和浏览器里的js有什么区别</strong> <br />A:只是语法上一样, 浏览器中有的功能这都没有．比如:window, document对象都没有(但可以导入包实现), 但是多了print, import方法．可以把这个js-shell看成一个普通的语言, 例如python, ruby, perl.  
<br /><strong>Q:这个js-shell和java是什么关系</strong> <br />A:js-shell的解析器使用java写的, 所以在和java交互的时候比较容易. 基本上可以直接调用Java的代码.  
<br /><strong>Q:这个js-shell能做什么</strong> <br />A:只要是Java能做的js-shell都能做, 因为js-shell本来是运行在java上面的． 
</p>
<p>&nbsp;</p>
<p><strong>Q:能开发桌面程序么</strong> <br />A:可以, <a href="http://code.google.com/p/ext-swing/" rel="nofollow">Ext-swing</a>就是现在正在开发的桌面开发的API. 使用了和Ext-js类似的API.期望可以做到相互兼容,现在还不行． 
<br /><strong>Q:我有兴趣,可以加入么</strong> <br />A:查看<a href="http://code.google.com/p/js-shell/wiki/joinus">申请加入项目相关信息</a> 
<br /><strong>Q:项目有些什么规划呢</strong> <br />A:前面说了这个项目主目前还只是一个玩具．事实上没有什么计划, 不过有一点梦想．可以查看<a href="http://code.google.com/p/js-shell/wiki/todolist">一点梦想</a></p>
<p>&nbsp;</p>
<p><strong>项目成员：</strong>
四无浪子(杭州)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/235569" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 02 Sep 2008 08:49:49 +0800</pubDate>
        <link>http://www.javaeye.com/topic/235569</link>
        <guid>http://www.javaeye.com/topic/235569</guid>
      </item>
      <item>
        <title>jCT 使用实例之正在制作中的站点</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://achun.javaeye.com">achun</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/235874" style="color:red;">http://www.javaeye.com/topic/235874</a>&nbsp;
          发表时间: 2008年09月02日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>漫天飞舞</p>
<p><a href="http://www.91mh.net" target="_blank">www.91mh.net</a></p>
<p>&nbsp;</p>
<p>此站正在用jCT+AJAX+唯一入口制作中,对jCT干兴趣的朋友可以关注一下,看看时刻都变化着什么.</p>
<p>目前的进度.............样子出来了,动态的菜单出来了,数据还没有准备好.</p>
<p>好无奈呀,偶还要帮美工和页面代码修改她们设计上的缺陷.</p>
<p>管理员这不是广告.感兴趣的朋友如果问其中的jCT技术问题,我会积极解答的.</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsi.group.javaeye.com/topic/235874" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 02 Sep 2008 19:56:43 +0800</pubDate>
        <link>http://www.javaeye.com/topic/235874</link>
        <guid>http://www.javaeye.com/topic/235874</guid>
      </item>
  </channel>
</rss>
