问题标签 [nvelocity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
castle-monorail - 如何在 Monorail 和 NVelocity 中创建嵌套的 ViewComponents?
我被要求更新我们维护的网站上的菜单。该网站使用 Castle Windors Monorail 和 NVelocity 作为模板。该菜单当前使用 ViewComponent 的自定义子类呈现,这些子类呈现 li 元素。目前只有一个(水平)级别,因此当前机制很好。
我被要求在一些现有菜单中添加下拉菜单。由于这是我第一次看到 Monorail 和 NVelocity,我有点迷茫。
目前存在的:
是否可以嵌套 MenuComponents(或新的 SubMenuComponent),例如:
我需要在 MenuComponent 上的重写 Render 方法内绘制子菜单(ul 和 li 元素),因此使用嵌套的 ViewComponent 派生类可能不起作用。如果可能的话,我想要一种方法保留创建菜单的基本声明性方法。
编辑:我可以使用 Context.RenderBody() 来渲染嵌套的 ViewComponent 派生类,但它们是在父级之前渲染的。我猜子菜单的渲染需要以某种方式连接到与父级相同的输出?
velocity - 如何在 NVelocity 中逃避尾随反斜杠
我正在使用 NVelocity 在针对服务器执行各种 PowerShell 脚本之前对其进行处理。
我的问题是如何转义变量后面的反斜杠:
例如
$computername 应该在运行时替换为有效的计算机名,但尾随的反斜杠 (\c$) 表示不需要。
谢谢本
c# - NVelocity(或 Velocity)作为独立的公式评估器
我在我的应用程序中使用 NVelocity 来生成 html 电子邮件。我的应用程序有一个事件驱动模型,其中保存和/或更新对象会导致这些电子邮件被发送出去。每个事件都可以触发零封、一封或多封电子邮件。
我希望能够配置在运行时发送哪些电子邮件,而无需修改代码。我在想我可以利用 NVelocity #if() 指令来做到这一点。这是我的想法...
步骤 1) 在发送电子邮件之前,管理员必须配置一个公式供 NVelocity 评估。例如:
步骤 2) 保存或创建对象时,根据输入公式在内存中构建 NVelocity 模板。例如:
步骤 3) 针对模板在内存中执行 NVelocity 引擎。检查结果以查看我们是否必须发送电子邮件:
我知道这并不完全是 NVelocity 的意图,但我认为它可能会起作用 :) 这样做的好处之一是公式可以使用与模板中使用的相同的语法。
有没有人有任何警告或建议?有没有一种方法可以执行 #if() 指令而无需像我上面那样跳过箍?是否有推荐的方法来提前验证公式语法?
谢谢。
nvelocity - 为什么在 nVelocity 中添加两个值总是返回零?
我试图在速度中添加两个值,它总是返回 0。我做错了什么?
$orderItem.ExtendedPrice 和 $discountAmount 都是带小数的整数,例如:99.99
nvelocity - 在 NVelocity 模板中,如何测试属性是否存在
我正在构建一个简单的 NVelocity 模板,但我不知道如何测试变量是否存在——在这个例子中,我想测试上下文是否包含一个名为 callwed User 的属性。
我知道我可以实现与被黑的 foreach 循环相同的功能,但我想知道是否有更好的方法。
.net - 在 NVelocity 中转义 "
我怎样才能在 NVelocity 中逃脱?
例如 test.message = "136# 1/4" 测试测试测试"
如果我做<input type="text" id="Test.Description" value="$test.message"/>
它显示:136# 1/4
如果我做<input type="text" id="Test.Description" value=$test.message/>
它显示:136
如果我做<input type="text" id="Test.Description" value='$test.message'/>
它显示: 136# 1/4" Test Test Test 但它逃脱了'
如何在不转义任何内容的情况下显示 136# 1/4" Test Test Test ?
c# - 使用评估参数调用方法的 NVelocity 语法
我有一个相当简单的模板,我需要从中进行方法调用。但是, NVelocity 似乎没有评估本身是NVelocity 变量的方法参数。采用以下 NVelocity 模板:
在上面的模板$extensionMethods
中,作为一个类的实例传入,并且在传入评估的数字时效果很好(例如$extensionMethods.TestMethod(4)
每次都有效)。但是, using$var1
会导致整个字符串按原样返回:$extensionMethods.TestMethod(${var1})
.
有没有办法将变量懒惰地传递给方法以使上述模板正确评估?
c# - NVelocity 中的 For 循环
NVelocity 是否支持#for 循环?我浏览了文档,我能找到的只是#foreach 循环。
我想循环一个二维数组。
formatting - NTidy 和其他端口的替代品,需要使用自定义标记格式化 html
希望格式化(自动,在应用程序中)一些 html / nvelocity 模板。Tidy 似乎是解决这个问题的答案,但是所有的 .Net 端口似乎都存在问题并且维护得不是很好。大多数人在幕后依赖非托管代码,这开始对项目施加其他限制。
例如,要使用与http://www.codeproject.com/KB/mcpp/eftidynet.aspx关联的代码,项目现在必须是 x86 版本。
是否有新的首选解决方案来执行此操作?或者是否有一个完全托管的 TidyHtml 端口可以理解 nvelocity 或允许自定义令牌定义?