private void btnGenerateFile_Click(object sender, EventArgs e) { string tempalte = "Template/template.htm";//相对目录 TestInfo info = new TestInfo(); info.Title = "测试标题"; info.Content = "测试内容,这是测试内容"; info.Datetime = DateTime.Now; NVelocityHelper adapter = new NVelocityHelper(tempalte); adapter.AddKeyValue("title", "This is a title") .AddKeyValue("content", "This is a Content") .AddKeyValue("datetime", System.DateTime.Now) .AddKeyValue("TestInfo", info); adapter.FileNameOfOutput = "testTemplate"; string filePath = adapter.ExecuteFile(); if (!string.IsNullOrEmpty(filePath)) { Process.Start(filePath); } } private void btnGenerate_Click(object sender, EventArgs e) { string tempalte = "Template/template.htm";//相对目录 TestInfo info = new TestInfo(); info.Title = "测试标题"; info.Content = "测试内容,这是测试内容"; info.Datetime = DateTime.Now; NVelocityHelper adapter = new NVelocityHelper(tempalte); adapter.AddKeyValue("title", "This is a title") .AddKeyValue("content", "This is a Content") .AddKeyValue("datetime", System.DateTime.Now) .AddKeyValue("TestInfo", info); this.txtCode.Text = adapter.ExecuteString(); } private void btnMergeString_Click(object sender, EventArgs e) { System.Text.StringBuilder builder = new System.Text.StringBuilder(); builder.Append( "${Title}\r\n" + "$Content\r\n" + "$Digest\r\n" + "$Author\r\n" + "$Keyword\r\n" + "$DateTime\r\n"); NVelocityHelper adapter = new NVelocityHelper(); adapter.AddKeyValue("Title", "标题"). AddKeyValue("Content", "内容"). AddKeyValue("Digest", "摘要"). AddKeyValue("Author", "作者"). AddKeyValue("Keyword", "关键词"). AddKeyValue("DateTime", DateTime.Now); this.txtCode.Text = adapter.ExecuteMergeString(builder.ToString()); }
2、模板引擎NVelocity的几种应用场景
上面的几种操作模板内容的方式,能够在绝大多数情况下满足我们的应用要求,如可以在代码生成工具里面,定义一些自定义的内容模板,然后结合数据库的元数据信息,实现丰富逻辑的代码生成操作。
也可以在一些内容管理的应用上(如文章管理方面),根据输入的内容,实现文章内容的文件生成操作,这个生成后,我们就直接使用文章的文件链接地址就可以了。
或者根据数据信息生成具体的页面,用于套打操作,如下是Winform里面的套打处理。
以上所述是小编给大家介绍的基于基于NVelocity的几种内容生成方式汇总,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章: