asp.net – NVelocity没有找到模板
发布时间:2020-12-16 03:56:52 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET MVC应用程序中使用NVelocity时遇到了一些困难.我正在使用它作为生成电子邮件的方式. 据我所知,我传递的细节都是正确的,但无法加载模板. 这是代码: private const string defaultTemplatePath = "ViewsEmailTemplates"; … velocityEngine =
我在ASP.NET MVC应用程序中使用NVelocity时遇到了一些困难.我正在使用它作为生成电子邮件的方式.
据我所知,我传递的细节都是正确的,但无法加载模板. 这是代码: private const string defaultTemplatePath = "ViewsEmailTemplates"; … velocityEngine = new VelocityEngine(); basePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,defaultTemplatePath); ExtendedProperties properties = new ExtendedProperties(); properties.Add(RuntimeConstants.RESOURCE_LOADER,"file"); properties.Add(RuntimeConstants.FILE_RESOURCE_LOADER_PATH,basePath); velocityEngine.Init(properties); basePath是正确的目录,我已将值粘贴到资源管理器中以确保它是正确的. if (!velocityEngine.TemplateExists(name)) throw new InvalidOperationException(string.Format("Could not find a template named '{0}'",name)); Template result = velocityEngine.GetTemplate(name); 上面的’name’是上面定义为basePath的文件夹中的有效文件名.但是,TemplateExists返回false.如果我注释掉条件输出并让它在GetTemplate方法调用上失败,那么堆栈跟踪如下所示: at NVelocity.Runtime.Resource.ResourceManagerImpl.LoadResource(String resourceName,ResourceType resourceType,String encoding) at NVelocity.Runtime.Resource.ResourceManagerImpl.GetResource(String resourceName,String encoding) at NVelocity.Runtime.RuntimeInstance.GetTemplate(String name,String encoding) at NVelocity.Runtime.RuntimeInstance.GetTemplate(String name) at NVelocity.App.VelocityEngine.GetTemplate(String name) ... 我现在陷入了一些僵局.我觉得答案很明显,但我现在似乎无法看到它. 解决方法
你考虑过使用Castle的
NVelocityTemplateEngine吗?
从“TemplateEngine组件1.1 – 2009年9月29日”部分下载并参考以下程序集: using Castle.Components.Common.TemplateEngine.NVelocityTemplateEngine; using Castle.Components.Common.TemplateEngine; 然后你可以简单地打电话: using (var writer = new StringWriter()) { _templateEngine.Process(data,string.Empty,writer,_templateContents); return writer.ToString(); } 哪里: > _templateEngine是您的NVelocityTemplateEngine 我希望这对你有所帮助! 只是要添加,你会想把它放到一个返回字符串的静态方法中! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 命名约定 – 控制器的一个规则,没有模型和视
- asp.net-mvc – 如何在MVC的耗时操作中使用AsyncController
- asp.net-core – AppSettings.*.json文件未在ASP.NET CORE
- asp.net – Twitter通知ajax吧,他们是怎么做到的?
- asp.net-mvc – 如何在ASP.NET MVC应用程序中实现搜索功能
- asp.net-mvc-4 – 如何在MVC4中呈现远程ReportViewer aspx页
- Asp.net – 空QueryString参数
- asp.net-mvc – 使用ASP.NET MVC3进行客户端模型级或表单级
- asp.net-mvc – Mvc http post方法给我“资源无法找到. ”
- asp.net – 禁用web.config继承?
推荐文章
站长推荐
- asp.net-mvc – Bug? ASP.NET MVC 2中的客户端验
- asp.net-mvc-3 – 如何从RazorViewEngine访问Req
- asp.net-mvc-3 – mvc3中的默认页面在哪里?
- asp.net-mvc – 如何构建一个简单的ASP.NET MVC应
- asp.net – 查找应用程序根URL而不使用?
- asp.net-mvc – 如何在Custom Helper中合并htmlA
- AOP无法切入同类调用方法解决办法
- 在IIS服务器上运行哪个进程会为每个asp.net应用程
- asp.net-mvc-3 – ASP .NET MVC 3实体框架禁用代
- asp.net – Json.Net IsoDateTimeConverter无效
热点阅读