vm-mock使用介绍

##启动jetty及命令介绍css

java -jar vm-mock-jar-with-dependencies.jar
start /home/hengxianwang/Documents/webapp 9999
init.................OK
start................OK
2016-11-03 22:21:33.295::INFO:  Logging to STDERR via org.eclipse.jetty.util.log.StdErrLog
2016-11-03 22:21:33.342::INFO:  jetty-7.0.y.z-SNAPSHOT
2016-11-03 22:21:33.441::INFO:  NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2016-11-03 22:21:33.625::INFO:  Started SelectChannelConnector@0.0.0.0:9999
  1. start path port 在path启动端口号为port的web服务
  2. stop 中止jetty服务可是不退出程序
  3. restart 从新启动上次web服务
  4. exit 退出jvm,jetty服务也会中止

##目录结构及说明 启动jetty以后,会在/home/hengxianwang/Documents/webapp目录下建立几个目录html

  • page目录 存放vm文件
  • test目录 存放json数据
  • routers.properties文件 重定向路由对应关系
  • static目录 这个没有建立,根据本身的名字便可,存放js和css文件

##实例java

下列所述都是在server启动的状况下,且修改任何文件不须要重启server,以端口号9999为例jquery

  • 简单vm

在page/user/目录下建立user.vm,内容以下web

hello,$name.

此时须要填充$name的值,只须要在test/user/下建立user.json,注意json文件的层级和名字必定要与vm的一致。ajax

{"name":"lilyZhang"}

此时只须要在浏览器中输入http://localhost:9999/page/user/user.vm,浏览器中应该显示shell

输入图片说明

  • 路由映射

假设咱们想经过/user.html访问user.vm,只需在routers.properties配置对应映射便可,内容以下:apache

/user.html=page/user/user.vm

这里写/page/user/user.vm和page/user/user.vm是同样的,由于我在程序中指定了vm的基准目录是page的上级目录json

输入图片说明

  • 嵌套vm

假设user.vm须要引入另外一个common.vm,内容分别以下浏览器

user.vm

#parse("page/common/common.vm")
hello,<span class='name'>$name</span>.

common.vm

<link rel="stylesheet" type="text/css" href="/static/common.css">

common.css

.name{
    color: red
}

输入图片说明

  • ajax请求

假设有一个ajax请求/pc/ajax.json,那么我只须要把这个请求映射到某个json文件就能够了

user.vm

<script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>

<script>
$(document).ready(function(){
	$.getJSON("/pc/ajax.json").done(function(d){
		alert("hello," + d.name);
	});
});
</script>

/test/ajax/ajax.json

{"name":"lilyZhang"}

routers.properties 注意这里若是是对应的映射是/开头,直接指向webapp的根目录,这样才能访问。

/pc/ajax.json=/test/ajax/ajax.json

输入图片说明

相关文章
相关标签/搜索