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

輸入圖片說明

相關文章
相關標籤/搜索