`
725137
  • 浏览: 82295 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Mason学习笔记一

    博客分类:
  • Perl
阅读更多

Mason学习笔记一

 

         由于工作要求,得学习一下Mason,苦于Mason中文资料少得可怜.现在将平时所学的笔记做一下记录,希望帮到和我一样英文不好的朋友!可能由于我学艺不精,难勉出错!希望给予理解和来信指正.谢谢!我的EMail:725137@qq.com

 

什么是Mason:

     

        首先来介绍一下什么是Mason,如果你学过java,那么我可以告诉你Mason和Java中的freemark是一个意思,它是一种模板语言.那什么是模板语言呢?模板语言就是一种编程语言的伪语言,相当于java中jsp的标签一样.在执行的时候,会把模板语言转换成编程语言本身能识别的代码.然后再交给编程语言去执行.

 

      也就是说Mason为我们在web上的编程,提供了一个很好封装.我们直接使用Mason,就可以简化我们的操作,以及使代码更加明了.结构更加清析.Mason的官方上这样说:Masons最常用的应用在于构建大型动态网站.它鼓励你把你的网站当成结构化的项目.而不是过程脚本或者模块的集合!

 

构建Mason的环境:

 

   构建一个Mason的环境,需要Apache,mod_perl,和Mason模板.Linux下的安装我就不说了.说下最适合我们初学者学习的环境.Windows.有人已经提供了一个在windows下面的集成安装包.安装以后,什么都安装好了,ActivePerl,Apache,Mod_perl都有.下载地址:http://www.perlchina.org/Perl-5.8-win32-bin.exe

 

Mason中的组件: 

 

   Mason中最重要的概念叫做组件!  什么是组件呢?由于英文不好,最先我看了官方的资料,一直没搞清什么叫组件!现在总算明白了.Mason所说的组件也就是文件!那是什么样的文件呢?在web服务中.一个html文件,一个pl文件和不管它是什样的文件.只要他是构成你这个系统的一部分的那些文件,都可以叫做组件!当然除了一些图片文件之外!拿一个简单的例子来说.比如我们网站的首页.index.html,由于我们为了保持网站的风格,把整个系统的大部分地方的网站头.Head.html和foot.html都要弄到一样!所以我们将head.html和foot.html分离出来了.做为一个单独的文件,在mason看来.这两个文件就是两个组件!我们的index.html也是一个组件,在index.html调用head.html和foot.html时叫做父组件调用子组件!因为我们的每一个文件里都可以写perl代码.所以mason这样认为他们是组件并不奇怪!

  
  到此为止,我相信你已经明白了什么是组件!很好,你比我当时明白得要快一些!很多文字性的东西都是非常难于理解的.我们还是来看一些例子,根据例子来一步一步讲解如何使用Mason.

 

简单的Hello,World开始:

   

  我相信这样的例子你已经很熟悉,几乎每一个语言的开头都是这样一个例子!我们找到apahce的安装目录,如果你不懂配置和我一样的话,那么我们就不用配他,因为只是学习,暂且就在默认的环境下去学习Mason,至于如何配置,我可能会在后面讲解,也许等你学完我的教程以后,你不用我说,自已可能就很轻松的常握如何配置了,因为那时你mason应该也算基本熟悉了!

 

 我的apache安装在D:\pmm\apache下,看到了吗?里面有一个mason目录,好了,我们就在这个目录下面学习我们的Mason!

 

  我们先来建立3个文件,一个head.html,一个foot.html,另一个是index.html.现在你可以不用管前两个文件,他甚至可以是空的文件.

 

 我们在index.html文件中写入以下代码:

 

 % my $name ="World";

   Hello,<% $name %>!

  

 

然后保存,打开ie.Http://localhost/mason/index.html,是不是很了不起?他将显示下面的内容!

 

 

Hello,World!

  

 

   让我们来分析这段代码,程序的第一行用%开始,它告诉mason,第一行的代码是我们的perl代码,需要解析它!,学到这里,你应该记住,凡是以后你想让perl解析你的代码,你就得在前面放一个%(当然这只针对一行,多行我们可以用代码块,这将在后面的内容中讲到)!请你注意,这个%号一定要紧接着文件的开头,不能有空格等,不然的话,你得不到你想要的结果,我最早学的时候就是老犯这个错误,以为mason为我为忽略这些空格,让我老是觉得入个门怎么这么难呢!书的代码也不能运行!程序的第二行由于没有%开头,被正确的解析成html代码返回给客户端,你已经注意到了,在中间有一个<%$name%>这样一个标识,他的意思是向html输出这个变量的值!意思和jsp中<%=xxx%>是一样的!他可以是一个更加复杂的表达式.输出的结果就是这个表达式的返回值!

 

 第一节就到此结束!~先介绍到这里,希望你下去多练习一下,记住我的提醒!

 

 

 

 

 

    

分享到:
评论

相关推荐

    使用Mason将Perl嵌入HTMLEmbedding Perl in HTML with Mason

    本书向读者展示了如何创建大型,复杂,动态驱动的网站,这些网站看起来不错并且可以使用Perl和Mason轻松维护。

    Mason, Mason.js for creating a perfect grid with jQuery..zip

    《使用Mason.js构建完美...Mason.js作为一个开源项目,其源代码可供开发者查阅和学习,你可以根据自己的需求进行定制和扩展。总的来说,Mason.js为网页设计提供了强大的工具,让创建理想的网格布局变得更加简单和高效。

    Python库 | mason_framework-0.0.6-py3-none-any.whl

    python库。 资源全名:mason_framework-0.0.6-py3-none-any.whl

    analysys_mason_sigfox_iot_mason_SigFox_

    标题中的"analysys_mason_sigfox_iot_mason_SigFox_"暗示了这是一个关于物联网(IoT)、Mason公司以及SigFox公司的分析报告。描述中的"analysys_mason_sigfox_lpwa_finding_niche_june2019_rdme02"进一步指出,该报告...

    vim-mason:Mason 的 Vim 语法文件

    vim-mason Mason 的 Vim 语法文件(Perl 嵌入 HTML)基于来自的 Andrew Smith ... 如果您安装了 vundle,只需将以下内容粘贴到您的 .vimrc 文件中: 捆绑'aming/vim-mason' 您也可以将所有文件和目录放到 vim 目录中。

    Laravel开发-mason-laravel

    Mason是一种超媒体驱动的API设计范式,它鼓励将状态转移逻辑从客户端移到服务器端,从而实现更灵活、安全和易于维护的API。Mason API通常包含链接、嵌入资源和操作,允许客户端根据服务器提供的信息来决定下一步的...

    mason:另一个JSON库

    1. “石匠”(Mason)是一个遵循OTP(Open Telecom Platform)设计原则的Erlang库。OTP是Ericsson为Erlang设计的一套开发框架,它包含了一系列的设计原则、模式和库,用于构建可伸缩、容错和高可用性的系统。 2. ...

    mason:Mason是用ES6编写的带有承诺的模块化命令行工具包

    关于梅森Mason是一个用ES6编写的带有承诺的模块化命令行工具包。安装对于命令行用法,请全局安装Mason: npm i -g @mason-cli/bin配置您可以通过在项目目录中创建mason.config.js文件来向Mason加载其他插件。配置...

    MasonModels:基于MASON Agent的模型的顶级

    这个项目可能包含了一系列基于MASON的模型示例,用户可以通过研究这些示例来学习如何构建和运行MASON Agent模型。通常,这样的项目会包含源代码、配置文件、测试脚本以及可能的说明文档。 总的来说,MASON提供了...

    《Modern Aircraft Design Techniques》 W.H. Mason

    1. Introduction to Aircraft Design 2. Essential Physics and Technology of Aircraft Flight 3. Transport Aircraft Design Considerations and Requirements 4. Vehicle Options: driving concepts – what ...

    mason-framework:基于Perl的模板系统,用于生成动态HTML或其他内容

    在Web开发中,Perl提供了一系列的模板引擎,其中一个知名的框架就是"Mason"。Mason Framework是一款高效且灵活的工具,主要用于生成动态HTML和其他类型的内容,它将HTML、Perl代码和组件结合在一起,简化了复杂网页...

    assignment2_mason

    总结来说,"assignment2_mason"项目是学习和实践CSS的一个宝贵资源,它涵盖了选择器的使用、属性的应用、盒模型的理解、布局技术的掌握以及响应式设计的实施。通过对这个项目的分析,我们可以深化对CSS原理和实战...

    管理原理(Mason Carpenter等)Principles of Management (Mason Carpenter, et al)

    本书通过将每一章编织成三个主题来向明天的商业领袖们介绍管理原则:战略,企业家精神和积极领导。

    A New SAW Device Simulator Based on Mason’s Equivalent Circuit Model

    1. **高效性**:模拟器减少了仿真所需的时间,大大提高了设计效率。 2. **轻量化**:模拟器仅由六个文件组成,总大小仅为40KB,这意味着它可以在较低配置的计算机上运行。 3. **灵活性**:模拟器可以轻松地调整参数...

    mason-tools:在Mason中执行基于Agent的仿真的工具包

    梅森工具 这是我在Mason中使用的工具的集合。 声明的属性:整齐地设置参数类的属性的方法 TitledSimpleInspector:外观更漂亮的检查器,允许... 实际上,Mason和Scala的配合很好-您可以在Scala的源代码中找到一个Sche

    Mason.m:Mason.m 使用梅森法则来简化信号流图。-matlab开发

    Mason.m 使用梅森法则来简化信号流图。 它需要一个描述网络的文件,并生成一个符号方程,将相关输出节点与独立输入节点相关联。 该目录包含一个全面的自述文件和一个用于试验的示例网络文件。 梅森法则传统上用于...

    masonclj:库可简化Clojure对MASON ABM库的使用

    另请参见示例目录,该目录在Clojure中使用masonclj包含一个简单的MASON模型。 masonclj源位于src下。 有用的背景资料 doc / general目录中。 这为masonclj假定的一些设计选择提供了理论依据,但对于那些希望在不...

    Yu-Mason-hw5.zip

    Yu-Mason-hw5.zip

Global site tag (gtag.js) - Google Analytics