最近学习了webx框架, 利用博客园跟大家分享一下自己的学习心得;

周建旭 2014-08-21

网上关于webx的资料少的可怜, 怎么办?  这种情况下不用去求助别人求人只会耽误时间, 不用畏惧; 看文档写demo 就ok了;

API是最好的资料, webx官方有个pdf的中文文档提供下载, 建议在学webx之前, 先整体浏览一遍文档以便于把握webx框架的大体脉络, 第一遍看的过程不必钻牛角尖 ;

然后结合淘宝官方Michael Zhou的Petstore(宠物商店)例子对比一下文档(那块不清楚就看pdf文件); 先尝试着在例子基础上写个简单查询增删改, 然后在一步步深入即可;

maven环境搭建这里不提, 主要说一下webx的约定胜于配置;  什么是约定胜于配置呢? 不能停留在概念表面就像很多人说spring的aop都不知道体现在哪些地方, spring的强大之处自然就感觉不到;

先说下webx的request请求基本流程:

  request请求-->>piepline解析target参数-->>表单验证-->>screen类或action类

每个模块都有对应的control, layout, screen这种结构和目录; layout是一个页面的布局即显示screen和control的内容, 一个页面只可以有且最多一个screen但可以有多个control;一个 screen中可以包含多个control;

java每个模块的包结构也要与页面的control, screen对应;特殊的如表单提交还需要action包用来处理表单提交的数据;如果请求找的是screen那么先到layout包下找与screen名称对应的layout如果没有就默认寻找default(例如找screen下的index.vm找到后就会去layout下找index.vm没有就找default.vm), 还有一点要注意如果screen页面要处理数据那么src下的模块对应的screen包中就要有与盛放screen资源页面名称对应的screen类(例如:index.vm找的就去找Index.java来处理数据返回数据可以通过context.put方法);control也是如此, 如果没有数据需要进行处理可以src下的模块的control包可以不要;

最后一种特殊的情况是没有screen页面直接请求src包下screen包下的类(相当于ajax)这种情况时请求路径不需要通过screen页面去找同名的screen类, 直接找screen类时需要在路径结尾加.json或.do

control通常用来定义通用的部件比如导航菜单, tab切换等; 通常使用execute方法

screen可以用来显示页面的主要内容,  比如查询出所有数据页面显示等, 如常用的表单, 表格等常规操作都可以定义到screen中; 通常使用execute方法

  任何提交表单这个动作都要走action包下的类

action 可以用来处理表单提交的数据, 方法名为表单按钮的名称(比如:ame="event_submit_do_add_user"  就需要在action包下的类中有个doAddUser的方法, 其它方法以此类推 )

我的WebX框架学习总结与心得分享的更多相关文章

  1. WebX框架学习笔记之一

    Webx是什么? Webx是一套基于Java Servlet API的通用Web框架.它在Alibaba集团内部被广泛使用.从2010年底,向社会开放源码. Webx的发展历史 2001年,阿里巴巴内 ...

  2. WebX框架学习笔记之二----框架搭建及请求的发起和处理

    框架搭建 执行环境:windows.maven 执行步骤: 1.新建一个目录,例如:D:\workspace.注意在盘符目录下是无法执行成功的. 2.执行如下命令: mvn archetype:gen ...

  3. 总结一下这几天学习django的心得

    总结一下这几天学习django的心得 http://www.tuicool.com/articles/jMVB3e 时间 2014-01-12 11:40:11  CSDN博客 原文  http:// ...

  4. Web前端框架学习成本比较及学习方法

    就项目中自己用过的前端框架的学习成本比较与学习心得分享 刚工作时间不长只用过这几个框架下面是难易程度比较: 不论哪个web前端框架, 究其本质都是把页面的数据传递给后台服务器语言(如java)进行处理 ...

  5. JavaSE中线程与并行API框架学习笔记1——线程是什么?

    前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...

  6. IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

    IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...

  7. Hadoop学习笔记—18.Sqoop框架学习

    一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...

  8. Spring框架学习一

    Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...

  9. 深入webx框架(li)

    目录 1.Webx简介 2.创建webx应用   一.Webx简介 Webx本质上就是一个Web框架,它建立在Java Servlet API基础之上.上图所示是webx的架构图.webx本身类似于s ...

随机推荐

  1. Codeforces Round #191 (Div. 2)

    在div 188中,幸运的达成了这学期的一个目标:CF1800+,所以这次可以打星去做div2,有点爽. A.Flipping Game 直接枚举 B. Hungry Sequence 由于素数的分布 ...

  2. Visual Studio 2012 破解版

    Visual Studio 2012破解版 百度云盘:http://pan.baidu.com/s/1hrvJi2w

  3. css3 多列布局记

    css3 多列布局 多列布局属性: columns:column-widht和column-count的缩写. column-width:定义每列列宽度. column-count:定义分列列数. c ...

  4. 关于servlet与jsp&java类传值问题

    为了实现单击左侧导航栏,动态改变右侧(一个jsp文件)的内容,需要改变变量var的值,进而实现改变default部分内容的目的(自己想的方法,因为实在是layman.应该有简便快捷的方法,可我不知道. ...

  5. Spring(3.2.3) - Beans(12): 属性占位符

    使用属性占位符可以将 Spring 配置文件中的部分元数据放在属性文件中设置,这样可以将相似的配置(如 JDBC 的参数配置)放在特定的属性文件中,如果只需要修改这部分配置,则无需修改 Spring ...

  6. python学习day2--python基础

    python没有常量的定义方式,一般常量可人为用全部大写字母来表示. 如: MYSQL_CONNECTION='192.168.10.2' 以os库为例: import os os.system('i ...

  7. SQL 数据库基础语句

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建备份 ...

  8. PHP 和Apache的安装和配置

    1. apache官网安装指南: http://jingyan.baidu.com/article/29697b912f6539ab20de3cf8.html 2. 官方安装包下载地址: http:/ ...

  9. C++ Iterator迭代器介绍及Iterator迭代器用法代码举例

    C++ Iterator迭代器介绍 迭代器可被用来访问一个容器类的所包函的全部元素,其行为像一个指针.举一个例子,你可用一个迭代器来实现对vector容器中所含元素的遍历.有这么几种迭代器如下: 迭代 ...

  10. Learn Python The Hard Way学习笔记001

    今天搜索了一下raw_input() 和 input()的区别,引用下原文部分内容 两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收).而对于 ...