框架搭建

执行环境:windows、maven

执行步骤:

1.新建一个目录,例如:D:\workspace。注意在盘符目录下是无法执行成功的。

2.执行如下命令:

mvn archetype:generate -DgroupId=com.alibaba.webx -DartifactId=mywebx -Dversion=1.0-SNAPSHOT -Dpackage=com.alibaba.webx.mywebx -DarchetypeArtifactId=archetype-webx-quickstart -DarchetypeGroupId=com.alibaba.citrus.sample -DarchetypeVersion=1.0 -DinteractiveMode=false

命令执行完后,你会看见一个新目录:mywebx。这个项目其实是Maven从webx在中央库的原型生成的一个骨架,原型是archetype-webx-quickstar

WEB-INF文件夹下各个配置文件说明

  • logback.xml:日志配置;
  • web.xml:WEB工程初始化配置信息;
  • webx.xml:webx通用配置,webx容器初始化的Bean能够让所有子业务容器依赖。
  • webx-app1.xml:webx子业务配置,子业务配置能够创建spring容器,但子业务容器之间是不能互相注入的。

具体内容可以查看框架说明书《3.1. Webx的初始化》

WEB-INF/common文件夹下各个配置文件说明

  • pipeline.xml:拦截器配置文件,相当于SpringMVC(Struts)中的Interceptor。
  • pipeline-exception.xml:异常拦截配置文件。
  • resources.xml:资源文件加载配置,负责资源的重定向、重命名等。
  • uris.xml:外部地址url调用配置文件。
  • webx-component-and-root.xml:配置模板渲染引擎、映射规则等。
  • webx-component.xml:定义模板页面能够直接使用的工具类。

webx与我们接触的SpringMVC、Struts类似,只不过前者控制更加细粒度化,而后者我们更多的是使用开源的封装,所以配置量较少。

相关概念:

在webx中,layout指的是页面布局;control指的是页头页脚,左右边栏等公共的页面区域;screen指的是个性化的页面区域。

在layout布局页面,可以通过control.setTemplate()的方式指定引用的页面,如果在一个包目录下,直接写“文件名”即可,如果不在则需要写成“包名:文件名”的格式。

初始化页面的配置:

在webx.xml配置文件中配置,如上图,指定默认访问的是home下的页面,在这里我们可以修改为我们想使用的项目。

Webx请求的发起和处理:

请求发起:

在input框的隐藏域中,value值表示响应的action类。

在这里value值的书写格式可以直接写成是action类名也可以以下划线分割。

这里的name属性,是固定格式,event_submit_do_后面跟着方法名,并且以下划线分割。

在action中的方法名之前也要加do

在框架中,我们使用Context接口的实现类对象来完成后台到前台的值传递,使用方法如下图:

使用.put方法就将想返回的值放入context接口的实现类对象中,前台使用$符取值。

当需要跳转页面时,可以使用Navigator接口的实现对象来制定跳转的页面和跳转方式,使用如下:

这里有两种方式,转发forward和重定向redirect。

前台页面向后台传递的参数,我们可以使用TurbineRunData接口的实现对象来获取,也可以使用注解。

使用方式如下:

如果想一次性获取对象,可以使用@FormGroup注解来完成,使用如下:

在这里,需要我们在子应用目录下的form.xml中配置form表单,下面是我的配置:

并且在要使用的vm文件中,我们需要去引用form

这里的form.后面是我们在上面定义的form的name属性。

并且需要取值的input框的name值需要写成下面的格式:

这样我们就可以使用@FormGroup在action层去获取对象参数了。

WebX框架学习笔记之二----框架搭建及请求的发起和处理的更多相关文章

  1. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

  2. Go学习笔记(二)搭建Visual Studio Code调试环境

    上一篇 Go学习笔记(一)安装Go语言环境 安装Visual Studio Code 这是目前我觉得最好用的文本编辑器了, https://code.visualstudio.com/ 中间有几部确认 ...

  3. Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0

    以前在工作当中做过不少与工作流Activiti有关的工作,当时都是spring集成activiti5.22的项目,现在回过头去看,其实版本已经稍微老了,因此,基于先前的工作经验,决定用较新版本的技术来 ...

  4. SSM框架学习笔记_第1章_SpringIOC概述

    第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...

  5. X-Cart 学习笔记(二)X-Cart框架1

    目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 四.X- ...

  6. Spring框架学习笔记(8)——spring boot+mybatis plus+mysql项目环境搭建

    之前写的那篇Spring框架学习笔记(5)--Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚 1.通过I ...

  7. phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构   pha ...

  8. JavaSE中Map框架学习笔记

    前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...

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

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

随机推荐

  1. 使用PHP的strstr()函数来统计一段字符串中元音字母的个数(区分大小写)

    <?php/**练习:统计一段字符串中所有元音字母的个数(区分大小写)*/$str='This is a test file.'; //原始字符串echo $str.'<br>'; ...

  2. PHP变量处理之serialize

    官方定义: string serialize ( mixed $value ) serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方.这有利于存储或传递 P ...

  3. Ionic start 创建项目报错 Error with start undefined

    转自:http://blog.csdn.net/wenzigui_qy/article/details/52874542 在Installing npm packages的时候报错,如下: Insta ...

  4. java线程并发控制:ReentrantLock Condition使用详解

    本文摘自:http://outofmemory.cn/java/java.util.concurrent/lock-reentrantlock-condition java的java.util.con ...

  5. matlab图像显示程序模板

    在这个程序中:优秀的模板值得学习,变量的定义字典值得学习 .^ .* ./的使用:        图形的显示及标注 % 脚本文件: 功率计算 % 文件名:cac_power.m % 目标:随着电阻值的 ...

  6. esri-leaflet部分瓦片缺失问题及解决办法

    esri-leaflet加载TileLayer的时候,有时候由于数据的原因,造成部分瓦片缺失的问题,网页加载TileLayer的时候,当地图范围正好拖动到缺失的范围的时候,会一直请求 http://d ...

  7. mongodb c api编译

    1. autoconf-latest.tar.gz http://ftp.gnu.org/gnu/autoconf/ tar xzvf autoconf-latest.tar.gz ./configu ...

  8. 深入了解Unity中LineRenderer与TrailRenderer

    LineRender和TrailRender是两个好东西,很多Unity拖尾特效都会使用到它们.一些简单的介绍可以参见官方的API文档.在这里探讨一下它们具体的渲染方式,而后给出一些Shader以便更 ...

  9. TI(德州仪器) TMS320C674x逆向分析之一

    一.声明 作者并不懂嵌入式开发,整个逆向流程都是根据自身逆向经验,一步一步摸索出来,有什么错误请批评指正,或者有更好的方法请不吝赐教.个人写作水平有限,文中会尽量把过程写清楚,有问题或是写的不清楚的地 ...

  10. 【openstack N版】——走进云计算

    一.云计算 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括:网络.服务器.存储.应用软件.服务),这些资源能够被快速提供,只需投入很少 ...