论坛首页 Java企业应用论坛

Simple Framework 框架初学开发入门

浏览 2668 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-11-08   最后修改:2010-11-08

SimpleFramework 是构造符合标准的Web框架,用组合化配置化方式解决Web应用问题,基于Intercepting-Filter和MVC2模式采用Java 技术实现的Web应用级框架。

 

SimpleFramework 的核心理念 SimpleFramework贯穿始终的核心理念:组件应用,业务积累。

 

1) 业务组件化:应用或模块级可复用的组件化封装。

2) 可持续积累:应用资源及业务组件的可持续积累。

3) 组件化开发:开箱即用和全程覆盖的配置化组件。

4) HTTP原生态:保留HTML/HTTP及请求/响应的原生态。

5) 无码AJAX应用:少用或不用Javascript的AJAX应用。

6) 资源继承:对既有应用资源的有效整合及平滑迁移。

7) 有效补充:对现有Web框架或技术的非侵入式补充。

8) 开放架构:开放及随需扩展的组件体系架构。

9) 无缝兼容:对现有Web及新技术的无缝兼容。

10) 简单实用:支持一体化Web应用开发过程。

 

SimpleFramework处理流程 了解处理流程将有利于有效地使用本框架,其中包含如下步骤:

 

(1) 拦截响应中HTML。

(2) 组件XML元数据解析。

(3) 业务Handle类执行。

(4) 组件代码生成及渲染。

(5) 复合HTML生成及响应。

 

 

安装 SimpleFramework

 

 

安装前确认 Java 的版本必须是 5.0 或者更新的版本,下载 SimpleFrame框架:

http://simpleframework.googlecode.com/files/HelloWorld_Demo.zip. 目前最新版是 3.0.1 ,下载后直接导入eclipse,部署到tomcat 6 或者以上就可以正常工作了。 更多细节,请参考: http://www.simpleframework.net/simple/main/doc/d1/d.jsp?a=1.2 接下来创建一个新的应用程序

 

更多详情,以word 附件完全上传,全程体验组件开发不到5分钟(该编辑器不支持发布更多内容....)。

 

先贴出效果图,下面详细提出实现该功能的代码。

 

 

 

 

 

 

 

这是更都的业务组件,在simpleFramework 中调用方式非常简单,实施企业应用应用只需要关注业务,配置 组件的xml 和 业务代码编写。

 

 

  • 大小: 39.5 KB
  • 大小: 169.9 KB
   发表时间:2010-11-08  
应用示例:

(1) JSP页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<div id="demoGroupTablePager">
</div>
1 请登录后投票
   发表时间:2010-11-08  

(2) 组件XML声明

<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/xsd/default/simple.xsd">
<components>
<groupTablePager name="demoGroupTablePager" containerId="demoGroupTablePager"
handleClass="net.simpleframework.example.MyTablePagerHandle" groupColumn="k1">
<columns>
<column columnName="k1" />
<column columnName="k2" separator="true" style="text-align: center;width: 120px;"
headerStyle="width: 120px;" />
<column columnName="k3" separator="true" style="text-align: center;width: 120px;"
headerStyle="width: 120px;" />
<column columnName="k4" separator="true" style="text-align: center;width: 120px;"
headerStyle="width: 120px;" />
</columns>
<jsRowClick>
alert($Actions['demoGroupTablePager'].rowData(item, 1));
</jsRowClick>
</groupTablePager>
</components>
</page>
1 请登录后投票
   发表时间:2010-11-08  

(3) 业务类MyTablePagerHandle代码段


public class MyTablePagerHandle extends AbstractTablePagerHandle {

@Override
public Object getBeanProperty(final ComponentParameter compParameter, final String beanProperty)
throws Exception {
if ("title".equals(beanProperty)) {
final StringBuilder sb = new StringBuilder();
sb.append("<a style=\"margin-left: 4px;\" onclick=\"$Actions['")
.append(compParameter.componentBean.getName())
.append("'].exportFile(null, false);\">导出</a>");
return sb.toString();
}
return super.getBeanProperty(compParameter, beanProperty);
}

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public IDataObjectQuery<?> createDataObjectQuery(final ComponentParameter compParameter)
throws Exception {
final List data = new ArrayList();
final java.util.Random r = new java.util.Random();
for (int i = 0; i < 1000; i++) {
final Map row = new HashMap();
row.put("k1", "Group By " + r.nextInt(6));
row.put("k2", "k2_" + i);
row.put("k3", "k3_" + i);
row.put("k4", "测试_" + i);
data.add(row);
}
return new ListDataObjectQuery(data);
}
}

1 请登录后投票
   发表时间:2010-11-08  
结论:

通过上面三步的操作,就可以完成
http://dl.iteye.com/upload/attachment/344775/45446a5d-39d8-3edd-ac41-b67592878409.bmp 出现的效果。


入门结束,不到5分钟左右吧,轻松创建Web应用系统,SimpleFramework 提供95%以上的基础组件,通过配置就可以完成开发!
1 请登录后投票
   发表时间:2010-11-08  
总算把帖子发表了,但是效果不够美观。
1 请登录后投票
   发表时间:2010-11-08  
本人 只是通过自己的实践,把开发与调试过程贴出与大家交流,目的是想与大家一起尽快上手simple。
1 请登录后投票
   发表时间:2010-11-08  
zcb001 写道
学习,搜藏一下

大家一起交流使用心得才是比较愉快的事情。
1 请登录后投票
   发表时间:2010-11-08  
补充一下,原生态的页面展现技术做UI比较舒适,果然很 simple.
1 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics