WebX框架学习笔记之二----框架搭建及请求的发起和处理
框架搭建
执行环境: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框架学习笔记之二----框架搭建及请求的发起和处理的更多相关文章
- Yii框架学习笔记(二)将html前端模板整合到框架中
选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...
- Go学习笔记(二)搭建Visual Studio Code调试环境
上一篇 Go学习笔记(一)安装Go语言环境 安装Visual Studio Code 这是目前我觉得最好用的文本编辑器了, https://code.visualstudio.com/ 中间有几部确认 ...
- Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0
以前在工作当中做过不少与工作流Activiti有关的工作,当时都是spring集成activiti5.22的项目,现在回过头去看,其实版本已经稍微老了,因此,基于先前的工作经验,决定用较新版本的技术来 ...
- SSM框架学习笔记_第1章_SpringIOC概述
第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...
- X-Cart 学习笔记(二)X-Cart框架1
目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 四.X- ...
- Spring框架学习笔记(8)——spring boot+mybatis plus+mysql项目环境搭建
之前写的那篇Spring框架学习笔记(5)--Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚 1.通过I ...
- phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构 pha ...
- JavaSE中Map框架学习笔记
前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...
- JavaSE中线程与并行API框架学习笔记1——线程是什么?
前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...
随机推荐
- 使用PHP的strstr()函数来统计一段字符串中元音字母的个数(区分大小写)
<?php/**练习:统计一段字符串中所有元音字母的个数(区分大小写)*/$str='This is a test file.'; //原始字符串echo $str.'<br>'; ...
- PHP变量处理之serialize
官方定义: string serialize ( mixed $value ) serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方.这有利于存储或传递 P ...
- Ionic start 创建项目报错 Error with start undefined
转自:http://blog.csdn.net/wenzigui_qy/article/details/52874542 在Installing npm packages的时候报错,如下: Insta ...
- java线程并发控制:ReentrantLock Condition使用详解
本文摘自:http://outofmemory.cn/java/java.util.concurrent/lock-reentrantlock-condition java的java.util.con ...
- matlab图像显示程序模板
在这个程序中:优秀的模板值得学习,变量的定义字典值得学习 .^ .* ./的使用: 图形的显示及标注 % 脚本文件: 功率计算 % 文件名:cac_power.m % 目标:随着电阻值的 ...
- esri-leaflet部分瓦片缺失问题及解决办法
esri-leaflet加载TileLayer的时候,有时候由于数据的原因,造成部分瓦片缺失的问题,网页加载TileLayer的时候,当地图范围正好拖动到缺失的范围的时候,会一直请求 http://d ...
- mongodb c api编译
1. autoconf-latest.tar.gz http://ftp.gnu.org/gnu/autoconf/ tar xzvf autoconf-latest.tar.gz ./configu ...
- 深入了解Unity中LineRenderer与TrailRenderer
LineRender和TrailRender是两个好东西,很多Unity拖尾特效都会使用到它们.一些简单的介绍可以参见官方的API文档.在这里探讨一下它们具体的渲染方式,而后给出一些Shader以便更 ...
- TI(德州仪器) TMS320C674x逆向分析之一
一.声明 作者并不懂嵌入式开发,整个逆向流程都是根据自身逆向经验,一步一步摸索出来,有什么错误请批评指正,或者有更好的方法请不吝赐教.个人写作水平有限,文中会尽量把过程写清楚,有问题或是写的不清楚的地 ...
- 【openstack N版】——走进云计算
一.云计算 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括:网络.服务器.存储.应用软件.服务),这些资源能够被快速提供,只需投入很少 ...