您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: