| 注册 |  设为首页 | 加入收藏
EasyJF官方论坛->EasyJF专区->EasyJWeb->贴子详细信息 
 
主题:EasyJWeb-1.1版发布 发表时间: 2008-02-18 11:11
  [引用回复]

  我们非常高兴的宣布,EasyJWeb-1.1今日正式对外发布,这个版本主要对EasyJWeb的Ajax支持作较大的改进。主要包括下面的内容:
   1、在EasyJWeb Tools中增加了一套Rich Component组件,可以与其它客户端Ajax框架比如ExtJS等集成开发RIA应用。
   2、修改了远程脚本调用引擎,使得性能比上一版本前提升了近2倍,详见http://www.easyjf.com/blog/html/20080103/1015816.html
   3、多国语言功能增加了对 xml格式属性文件的支持,http://jira.easyjf.com/browse/EASYJWEB-33
   4、增加从服务器输入JSon数据对象的快捷支持。
   5、提供了更多的EastJWeb实例应用,详见http://easyjweb.demo.easyjf.com/
   6、修正了这两个月来大家提出的Bug及调整了一些功能,详细见jira.easyjf.com。
   7、完善了入门文档,详见wiki.easyjf.com。

   源码下载ftp://ftp1.easyjf.com/easyjweb/easyjweb-1.1/easyjweb-1.1.zip
   在线示例http://easyjweb.demo.easyjf.com
   在线文档http://wiki.easyjf.com/display/wiki/EasyJWeb

  这里对Rich Component及Ajax改进作简单介绍。

一、EasyJWeb Rich Component

   EasyJWeb 1.1版提供了一套富客户端组件,也就是Rich Componet,可以用来与ExtJS等配合快速开发出基于Ajax的RIA应用。不再需要写烦琐的javascript,直接用java就能写出漂亮的基于ExtJS等客户端框架的Ajax应用,详见示例http://wlr2.easyjf.com/
  比如只需要下面的Action代码:

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;
	}
}

  访问simple.ejf?cmd=grid将会得到一个非常漂亮的表格:

 

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;
	}

  访问simple.ejf?cmd=tree将会得到一个还不错的树:

 

  如何实现一个添删改查、分页呢?看下面的代码:

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;
		}
	}

  访问simple.ejf?cmd=crud将会得到一个添删改查及分页的界面,点击“添加”、“修改”、“删除”、“刷新”等按钮可以执行相应的操作,如下图所示:

 

  二、其它Ajax支持的改进及完善

  1、在以前EasyJWeb的Ajax支持引擎基础上,对远程脚本调用引擎中的脚本engine.js作了调整,使得回调函数可以选择作用域scope。
服务器业务组件:

public class PersonServiceImpl {
 /**
  * 得到服务器当前时间
  * @return
  */
 public Date getTime() {
  return new Date();
 }
 }

  Bean配置文件:

 <bean name="PersonService" class="easyjweb.demo.service.impl.PersonServiceImpl" />

  在javascript中调用:

var s="作用域2";
	var o=new function()
	{
	this.s="作用域1";
	}
	function callback(d)
	{
	alert("服务器时间:"+d);
	alert(this.test);
	}

  客户端读取服务器端时间的代码:
  PersonService.getTime(callback);//没有使用作用域
  PersonService.getTime(callback,new o());//回调函数在o实例作用域中使用域
  PersonService.getTime(callback,window);//回调函数在window作用域中执行

  2、增加向客户端输出JSon对象数据的快速方法。

public Page doList(WebForm form) {
		QueryObject qo = form.toPo(QueryObject.class);
		IPageList pageList = service.getLinkBy(qo);
		form.jsonResult(pageList);
		return Page.JSONPage;
	}

  上面的代码实现把服务器端的pageList对象转换成JSON数据对象,并给客户端返回这个JSon数据对象。

  客户端可以这样使用:

 var s=eval(req.responseText);
 alert(s.rowCount);
 for(var i=0;ialert(s.result[i].title);

  3、另外还对表单ajax提交等作了其它一些调整,详细请参考最新的api文档。

楼主: 天一
发表时间: 2008-02-18 11:11
    [引用回复]

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; } }

这个里面return componentPage是不是错了,是return this.componentPage();吗

为什么按照上述的步骤做,我的界面什么都没有出现

发言人:maomaojun  楼层:1
发表时间: 2008-03-26 12:50
    [引用回复]

忘记说了,我的配置是:tomcat是6.0.16的版本,请帮忙解决,谢谢!

发言人:maomaojun  楼层:2
发表时间: 2008-03-26 12:52
    [引用回复]

作者在这里没有交代清楚,主要原因是:

1 版本1.1有BUG,换成1.2beta版本可以解决问题。

2 要把资源拷贝进入到发布目录:根目录\plugins\extjs\ext-2.0,名称路径必须要这样的形式,否则网页下边会提示EXT对象不知道的错误。从网上下载下来的ext的路径和这个有点不一样。

有问题联系:gzyanjian@126.com

发言人: 58.62.100.** (匿名用户)  楼层:3
发表时间: 2008-04-23 02:12
    [引用回复]

麻烦能不能给个测试能跑通的例子啊

都是手打的代码吗? 都是错的啊

如果谁跑成功了请发email给我 mailxwk@gmail.com

万分感谢

发言人:bbsxwk  楼层:4
发表时间: 2008-04-25 02:45
    [引用回复]

return componentPage; 

这句中的componentPage是哪来的?楼主这个程序能编译通过吗?

发言人: 211.103.200.** (匿名用户)  楼层:5
发表时间: 2008-05-05 08:57
    [引用回复]

return componentPage; 

这句中的componentPage是哪来的?楼主这个程序能编译通过吗?

发言人: 211.103.200.** (匿名用户)  楼层:6
发表时间: 2008-05-05 08:57
    [引用回复]

遇到同样问题!顶上去,直到有人回答为止。

componentPage在RichComponentAction中是protected的,如何return?

发言人:leon1509  楼层:7
发表时间: 2008-05-05 09:10
    [引用回复]

你们可以开新贴嘛,在这里回,都没人知道。

componentPage是protected的,但是为什么protected不能return?

发言人: 222.210.221.** (匿名用户)  楼层:8
发表时间: 2008-05-05 09:27
    [引用回复]
你好,我是finalqitianyu,
我最近做了一些视频放在了easyjweb的论坛上,很多网友都比较关注,我想做更多一些的视频。
但手上比较缺文档,请问有没有一些比较全的开发文档啊?
加我QQ:292350529
发言人:finalqitianyu  楼层:9
发表时间: 2008-05-06 11:44
    [引用回复]
引用帖子:原帖由匿名用户在2008-05-05 09:27:06发表于楼层8

你们可以开新贴嘛,在这里回,都没人知道。

componentPage是protected的,但是为什么protected不能return?


如果父类中的这个方法是void,那么肯定就不用return了。
发言人:大峡  楼层:10
发表时间: 2008-05-06 04:21
    [引用回复]

 

发言人: 218.79.177.** (匿名用户)  楼层:11
发表时间: 2008-05-14 06:39
    [引用回复]
请问:在验证里怎样显示国际化信息,怎么key不起作用呀?
发言人: 211.144.104.** (匿名用户)  楼层:12
发表时间: 2008-12-08 01:43
    [引用回复]
在JWEB提供的DEMO中有一个支持国际化的实例.可以看看
发言人:冷雨  楼层:13
发表时间: 2008-12-11 10:07
其它版块:


标题:EasyJWeb-1.1版发布



当前没有附件!
提示:您能上传的附件单个文件最大为2M
  

Copyright (C) 2005 EasyJF.com 简易java框架网 渝ICP备06004507号
如有意见请与我们联系