先建立一个视图(View)
- script/myapp_create.pl view test TT
-
exists "/var/www/myApp/script/../lib/myApp/View"
-
exists "/var/www/myApp/script/../t"
-
created "/var/www/myApp/script/../lib/myApp/View/test.pm"
-
created "/var/www/myApp/script/../t/view_test.t"
我的第一个例子
利用视图打印hello world t
先改写控制器(Controller)
vi lib/myApp/Controller/test.pm
- sub view : Local {
-
my ( $self, $c ) = @_;
-
$c->stash->{user} = "t"; #给t.tt传的值
-
$c->stash->{template} = "t.tt"; #用t.tt这个模版
- }
再写一个模版,默认路径是myApp/root/base/下
mkdir root/base
vi root/base/t.tt
- hello world
-
[% user %] #这行就是接受控制器传来的那个值
浏览器输入
hello world t
补充一下
如果不喜欢模版名字叫.tt可以编辑
vi lib/myApp/View/test.pm
- package myApp::View::test;
-
-
use strict;
-
use warnings;
-
-
use base 'Catalyst::View::TT';
-
-
__PACKAGE__->config(
- # TEMPLATE_EXTENSION => '.tt', #默认的
- TEMPLATE_EXTENSION => '.html', #修改后的
-
render_die => 1,
- DEBUG=>'all', #开启DEBUG信息
- INCLUDE_PATH=>[ myApp->path_to('root','template'),], #修改默认模版路径到root/template了
-
);
- 1;
这样模版就是.html文件了
再做一个模版文件
vi root/template/t.html
[% str %]
控制器修改成
- sub view1 : Local {
-
my ( $self, $c ) = @_;
-
$c->stash->{str} = "hello world";
-
$c->stash->{template} = "t.html";
-
}
我们看看有调试信息的打印结果
浏览器输入1
## t.html line 1 : [% str %] ## hello world
阅读(786) | 评论(0) | 转发(0) |