CppCMS渲染content中内容到页面上

来源:互联网 发布:java程序员做什么 编辑:程序博客网 时间:2024/06/07 05:27

框架见文章Creating a simple web prototype based on CppCMS

我们只需要更改头文件content.h

#ifndef CONTENT_H  #define CONTENT_H            #include <cppcms/view.h>        namespace Content  {        struct PageContent : public cppcms::base_content {      string text ;      };  }        #endif  
在struct中添加一个string成员变量text, 然后在Site.cc中给其赋值

#include "controller/site.h"  #include <cppcms/url_dispatcher.h>  #include "model/content.h"  #include <cppcms/http_file.h>        using namespace std;              Site::Site(cppcms::service &srv):cppcms::application(srv) {  dispatcher().assign("/page" , &Site::Page, this);}          void Site::Page() {     Content::PageContent content;    content.text = "hello world";  render("page","page_view", content);  }        

最后改一下page.tmpl文件

    <% c++ #include "model/content.h" %>      <% skin page%>      <% view page_view uses Content::PageContent %>      <% template render() %>      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">      <html>        <head>                </head>              <body>                 <h1> <%= text %></h1>      </body>            </html>      <% end template %>      <% end view %>      <% end skin %>  

编译运行程序后会在页面显示hello world

 

0 0