<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>天 一</title>
    <description></description>
    <link>http://254400283.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>EasyJWeb-1.1版发布 </title>
        <author>天 一</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://254400283.javaeye.com">天 一</a>&nbsp;
          链接：<a href="http://254400283.javaeye.com/blog/163807" style="color:red;">http://254400283.javaeye.com/blog/163807</a>&nbsp;
          发表时间: 2008年02月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　我们非常高兴的宣布，EasyJWeb-1.1今日正式对外发布，这个版本主要对EasyJWeb的Ajax支持作较大的改进。主要包括下面的内容：<br /> 　　1、在EasyJWeb Tools中增加了一套Rich Component组件，可以与其它客户端Ajax框架比如ExtJS等集成开发RIA应用。<br /> 　　2、修改了远程脚本调用引擎，使得性能比上一版本前提升了近2倍，详见http://www.easyjf.com/blog/html/20080103/1015816.html；<br /> 　　3、多国语言功能增加了对 xml格式属性文件的支持，http://jira.easyjf.com/browse/EASYJWEB-33。<br /> 　　4、增加从服务器输入JSon数据对象的快捷支持。<br /> 　　5、提供了更多的EastJWeb实例应用，详见http://easyjweb.demo.easyjf.com/。<br /> 　　6、修正了这两个月来大家提出的Bug及调整了一些功能，详细见jira.easyjf.com。<br /> 　　7、完善了入门文档，详见wiki.easyjf.com。<br /><br /> 　　源码下载：ftp://ftp1.easyjf.com/easyjweb/easyjweb-1.1/easyjweb-1.1.zip<br /> 　　在线示例：http://easyjweb.demo.easyjf.com<br /> 　　在线文档：http://wiki.easyjf.com/display/wiki/EasyJWeb<br /><br />　　这里对Rich Component及Ajax改进作简单介绍。<br /><br /><strong>一、EasyJWeb Rich Component</strong><br /><br />　　 EasyJWeb 1.1版提供了一套富客户端组件，也就是Rich Componet，可以用来与ExtJS等配合快速开发出基于Ajax的RIA应用。不再需要写烦琐的javascript，直接用java就能写出漂亮的基于ExtJS等客户端框架的Ajax应用，详见示例http://wlr2.easyjf.com/。<br />　　比如只需要下面的Action代码：<br /><br /><pre name="code" class="java">public class SimpleAction extends RichComponentAction {
public Page doGrid() {
ViewPort view = new ViewPort();
GridPanel grid = new GridPanel("grid", "数据表格",500,100);
grid.setColumns(new String[]{"id","姓名","出生日期","email"});				view.add(grid);
this.addComponent(view);
return  componentPage;
}
}
</pre><br /><br />　　访问simple.ejf?cmd=grid将会得到一个非常漂亮的表格：<br /><br /><img src="http://www.easyjf.com/upload/newsDocPicture/080218-8881.JPG" /><br /><br /><pre name="code" class="java">
public Page doTree() {
ViewPort view = new ViewPort();
TreePanel tree=new TreePanel("tree","简单的树",200);
TreeNode root=new TreeNode("root","根");
root.add(new TreeNode("c1","孩子1"));
root.add(new TreeNode("c2","孩子2"));
root.getChildNodes().get(1).add(new TreeNode("c3","孙子"));
tree.setRoot(root);
view.add(tree);
this.addComponent(view);
return componentPage;
}
</pre><br /><br />　　访问simple.ejf?cmd=tree将会得到一个还不错的树：<br /><br /><img src="http://www.easyjf.com/upload/newsDocPicture/080218-8882.JPG" /><br /><br />　　如何实现一个添删改查、分页呢？看下面的代码：<br /><br /><pre name="code" class="java">
public Page doCrud() {
ViewPort view = new ViewPort("fit");
CrudPanel crud = new SimpleCrud();
view.add(crud);
this.addComponents(view);
return componentPage;
}
public class SimpleCrud extends CrudPanel {
public SimpleCrud() {
super("test", "简单测试", "link.ejf");
this.setColumns(new String[][] { { "title", "名称" },{ "url", "网址" },
{ "rss", "RSS" } });
this.getPagingToolbar().setDisplayInfo(true);
this.getGrid().load();
}
@Override
public Function getCreateWin() {
return new Function("return this.initWin(438,300,'连接管理');");
}
@Override
public Form getForm() {
Form f = new Form();
f.add(new TextField("title", "主题"));
f.setLazy(false);
return f;
}
}

</pre><br /><br />　　访问simple.ejf?cmd=crud将会得到一个添删改查及分页的界面，点击“添加”、“修改”、“删除”、“刷新”等按钮可以执行相应的操作，如下图所示：<br /><br /><img src="http://www.easyjf.com/upload/newsDocPicture/080218-8883.JPG" /><br /><br /><strong>二、其它Ajax支持的改进及完善</strong><br /><br />　　1、在以前EasyJWeb的Ajax支持引擎基础上，对远程脚本调用引擎中的脚本engine.js作了调整，使得回调函数可以选择作用域scope。<br />服务器业务组件：<br /><br /><pre name="code" class="java">
public class PersonServiceImpl {
/**
* 得到服务器当前时间
* @return
*/
public Date getTime() {
return new Date();
}
}
</pre><br /><br />　　Bean配置文件：<br /><br /><pre name="code" class="java">&lt;bean name="PersonService" class="easyjweb.demo.service.impl.PersonServiceImpl" /></pre><br /><br />　　在javascript中调用：<br /><br /><pre name="code" class="java">var s="作用域2";
var o=new function()
{
this.s="作用域1";
}
function callback(d)
{
alert("服务器时间:"+d);
alert(this.test);
}</pre><br /><br />　　客户端读取服务器端时间的代码：<br />　　PersonService.getTime(callback);//没有使用作用域<br />　　PersonService.getTime(callback,new o());//回调函数在o实例作用域中使用域<br />　　PersonService.getTime(callback,window);//回调函数在window作用域中执行<br /><br />　　2、增加向客户端输出JSon对象数据的快速方法。<br /><br /><pre name="code" class="java">public Page doList(WebForm form) {
QueryObject qo = form.toPo(QueryObject.class);
IPageList pageList = service.getLinkBy(qo);
form.jsonResult(pageList);
return Page.JSONPage;
}</pre><br /><br />　　上面的代码实现把服务器端的pageList对象转换成JSON数据对象，并给客户端返回这个JSon数据对象。<br /><br />　　客户端可以这样使用：<br /><pre name="code" class="java"> var s=eval(req.responseText);
 alert(s.rowCount);
 for(var i=0;ialert(s.result[i].title);</pre><br /><br />　　3、另外还对表单ajax提交等作了其它一些调整，详细请参考最新的api文档。
          <br/>
          <span style="color:red;">
            <a href="http://254400283.javaeye.com/blog/163807#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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, 21 Feb 2008 10:29:16 +0800</pubDate>
        <link>http://254400283.javaeye.com/blog/163807</link>
        <guid>http://254400283.javaeye.com/blog/163807</guid>
      </item>
      <item>
        <title>一个ExtJS的综合示例</title>
        <author>天 一</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://254400283.javaeye.com">天 一</a>&nbsp;
          链接：<a href="http://254400283.javaeye.com/blog/158408" style="color:red;">http://254400283.javaeye.com/blog/158408</a>&nbsp;
          发表时间: 2008年01月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　ExtJS算是一重量级的客户端框架了,如何把他与传统的Web应用集成？是所有的地方都用Ext，还是在某些地方使用，另外是每一个页面都引入ext-all.js，还是让整个应用只加载在这个大家伙一次？我们又该如何开发自定义的控件，如何充分使用javascript的面向对象特性对我们的应用进行封装呢？ <br />　　下面推荐我们团队的williamRaym及冷雨所做的一个ExtJS综合示例，是一个ExtJS2.0+Spring2.r+JPA(Hibernate3.2)+EasyJWeb-1.0技术构造开发的单用户Blog应用，比较简单， 有兴趣的朋友可以看一看，相关Ext应用代码可以在登录进入系统后可以直接另存为即可。 <br />　　示例应用的地址： <a href="http://wlr.easyjf.com/" target="_blank">http://wlr.easyjf.com/</a> <br /><br />　　后台管理：用户名为admin　密码也是admin <br /><br />　　下面是一些截图： <br /><br />　　Blog后台登录 <br />　　<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/easyjf/22.PNG" /><br /><br /><br />　　后台主页 <br />　　<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/easyjf/2.PNG" /><br /><br /><br />　　分类管理 <br />　　<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/easyjf/3.PNG" /><br /><br />　　发布日志 <br />　　<img src="http://www.blogjava.net/images/blogjava_net/williamraym/4.PNG" /><br /><br />　　用户管理 <br />　　<img src="http://www.blogjava.net/images/blogjava_net/williamraym/5.PNG" /><br /><br />　　上传照片 <br />　　<img src="http://www.blogjava.net/images/blogjava_net/williamraym/6.PNG" /><br /><br />　　这是一个简单的单用户博客，有文章发布、上传图片、评论等常用功能，后台使用ext做的界面。代码过段时间会完善之后会发布出来提供下载。
          <br/>
          <span style="color:red;">
            <a href="http://254400283.javaeye.com/blog/158408#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></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, 22 Jan 2008 18:55:57 +0800</pubDate>
        <link>http://254400283.javaeye.com/blog/158408</link>
        <guid>http://254400283.javaeye.com/blog/158408</guid>
      </item>
  </channel>
</rss>