webx学习笔记——在项目里新增一个页面
2016-04-12 17:12
465 查看
<span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; background-color: rgb(255, 255, 255);">WEBX是阿里巴巴的部框架,“就是把页面与Service之间的一些Servlet等公共的东西抽象出,提供相的服务以提高发效率(《接口之Webx介》—何晓峰 )”,可以看出,webx和统的servlet-action模式的HettpServlet基,其中的公用的抽象整理后,得到一个量的web发框架。</span>
由于项目需要,进行学习webx,先是看了一天的文档webx开发指南 ,还是一头雾水,然后就在网上查找资料,可是网上的大部分讲的也不是很清楚,于是就自己动手写了个hellworld,
package com.alibaba.webx.tutorial1.app2.module.screen.hi; import com.alibaba.citrus.turbine.Context; import com.alibaba.citrus.turbine.dataresolver.Param; public class Hi { public void execute(@Param("name") String name, Context context) { context.put("name", name); } }
首先default.vm:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> #showHead ("My Simple Webx Application") </head> <body #bodyAttributes ()> $screen_placeholder <hr/> <p>[<a href="$app2Link.setTarget("index")">Home</a>] [<a href="$app2Link">Dev Home</a>]</p> </body> </html>其次hi.vm:
$page.setTitle("Hello, $name") <p>Hello, $name!</p>
在就是app2/form.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:services="http://www.alibaba.com/schema/services" xmlns:fm-conditions="http://www.alibaba.com/schema/services/form/conditions" xmlns:fm-validators="http://www.alibaba.com/schema/services/form/validators" xsi:schemaLocation=" http://www.alibaba.com/schema/services http://localhost:8080/schema/services.xsd http://www.alibaba.com/schema/services/form/conditions http://localhost:8080/schema/services-form-conditions.xsd http://www.alibaba.com/schema/services/form/validators http://localhost:8080/schema/services-form-validators.xsd http://www.springframework.org/schema/beans http://localhost:8080/schema/www.springframework.org/schema/beans/spring-beans.xsd "> <services:form postOnlyByDefault="true"> <!-- - =============================================== - 用来检查csrf token。 - =============================================== --> <group name="csrfCheck"> <field name="csrfToken"> <fm-validators:csrf-validator> <message>提交的数据已过期</message> </fm-validators:csrf-validator> </field> </group> <!-- - =============================================== - Simple form - =============================================== --> <group name="register" extends="csrfCheck"> <field name="name" displayName="你的名字"> <fm-validators:required-validator> <message>必须填写 ${displayName}</message> </fm-validators:required-validator> </field> </group> </services:form> </beans:beans>
webx-app2.xml:
<?xml version="1.0" encoding="UTF-8"?> <!-- Webx Sub Context Configuration. --> <beans:beans xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:services="http://www.alibaba.com/schema/services" xmlns:ml-adapters="http://www.alibaba.com/schema/services/module-loader/adapters" xmlns:ml-factories="http://www.alibaba.com/schema/services/module-loader/factories" xsi:schemaLocation=" http://www.alibaba.com/schema/services http://localhost:8080/schema/services.xsd http://www.alibaba.com/schema/services/module-loader/adapters http://localhost:8080/schema/services-module-loader-adapters.xsd http://www.alibaba.com/schema/services/module-loader/factories http://localhost:8080/schema/services-module-loader-factories.xsd http://www.springframework.org/schema/beans http://localhost:8080/schema/www.springframework.org/schema/beans/spring-beans.xsd "> <!-- 支持${xxx}替换。 --> <services:property-placeholder> <property key="component">app2</property> </services:property-placeholder> <!-- 共享配置。 --> <beans:import resource="common/webx-component-and-root.xml" /> <beans:import resource="common/webx-component.xml" /> <!-- 执行管道。 --> <beans:import resource="common/pipeline.xml" /> <!-- 表单验证。 --> <beans:import resource="app2/form.xml" /> <!-- 装载模块。 --> <services:module-loader> <ml-factories:class-modules> <search-packages type="$1" packages="com.alibaba.webx.tutorial1.app2.module.*" /> </ml-factories:class-modules> </services:module-loader> </beans:beans>
uri.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:services="http://www.alibaba.com/schema/services" xmlns:uris="http://www.alibaba.com/schema/services/uris" xmlns:uri-interceptors="http://www.alibaba.com/schema/services/uris/interceptors" xsi:schemaLocation=" http://www.alibaba.com/schema/services http://localhost:8080/schema/services.xsd http://www.alibaba.com/schema/services/uris http://localhost:8080/schema/services-uris.xsd http://www.alibaba.com/schema/services/uris/interceptors http://localhost:8080/schema/services-uris-interceptors.xsd http://www.springframework.org/schema/beans http://localhost:8080/schema/www.springframework.org/schema/beans/spring-beans.xsd "> <services:uris> <uris:uri id="server" requestAware="true" /> <uris:servlet-uri id="testServer" requestAware="true"> <servletPath>/</servletPath> </uris:servlet-uri> <uris:turbine-uri id="app1Link" exposed="true" extends="testServer"> <componentPath>/</componentPath> </uris:turbine-uri> <uris:turbine-content-uri id="app1Content" exposed="true" extends="app1Link" /> <uris:turbine-uri id="app2Link" exposed="true" extends="testServer"> <componentPath>/</componentPath> </uris:turbine-uri> <uris:turbine-content-uri id="app2Content" exposed="true" extends="app2Link" /> </services:uris> </beans:beans>
这样你的helloworld就可以出来了,访问的链接是:http://localhost:8080/tutorial1/app2/hi/Hi.vm?name=%E5%88%98%E7%84%95%E8%B6%85
有问题一起可以进行交流:740970978@qq.com
相关文章推荐
- HM编码器代码阅读(2)——框架以及主要流程
- 线段树的区间更新---A Simple Problem with Integers
- Python回顾与整理9:函数和函数式编程
- 自然数转换为二维矩阵可用于笛卡尔乘积型数据进行内存分页
- Android Rxjava和retrofit
- arm汇编—ldr加载指令,ldr伪指令
- AI - Ideas
- 鼠标事件
- DevExpress控件使用小结
- hdu 1281 匈牙利算法
- TCP/IP、SOAP、HTTP的区别
- 【Spring】spring-mvc hibernate druid jdbc等数据源事务配置详解(解决注解事务不生效问题)
- Error: EACCES: permission denied, access '/usr/local/lib/node_modules' npm ERR! at Error (native)
- iSCSI服务器以及客户端安装配置
- 【chown】 改变文件属主
- 【finger】查询用户账号相关属性信息
- php 验证邮箱 url 数字等
- C#中的 int?是什么意思
- hdu 1179 匈牙利算法
- JavaScript中call,apply,bind方法的总结。