问题标签 [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.

0 投票
2 回答
232 浏览

castle-monorail - 如何在 Monorail 和 NVelocity 中创建嵌套的 ViewComponents?

我被要求更新我们维护的网站上的菜单。该网站使用 Castle Windors Monorail 和 NVelocity 作为模板。该菜单当前使用 ViewComponent 的自定义子类呈现,这些子类呈现 li 元素。目前只有一个(水平)级别,因此当前机制很好。

我被要求在一些现有菜单中添加下拉菜单。由于这是我第一次看到 Monorail 和 NVelocity,我有点迷茫。

目前存在的:

是否可以嵌套 MenuComponents(或新的 SubMenuComponent),例如:

我需要在 MenuComponent 上的重写 Render 方法内绘制子菜单(ul 和 li 元素),因此使用嵌套的 ViewComponent 派生类可能不起作用。如果可能的话,我想要一种方法保留创建菜单的基本声明性方法。

编辑:我可以使用 Context.RenderBody() 来渲染嵌套的 ViewComponent 派生类,但它们是在父级之前渲染的。我猜子菜单的渲染需要以某种方式连接到与父级相同的输出?

0 投票
1 回答
522 浏览

velocity - 如何在 NVelocity 中逃避尾随反斜杠

我正在使用 NVelocity 在针对服务器执行各种 PowerShell 脚本之前对其进行处理。

我的问题是如何转义变量后面的反斜杠:

例如

$computername 应该在运行时替换为有效的计算机名,但尾随的反斜杠 (\c$) 表示不需要。

谢谢本

0 投票
1 回答
682 浏览

c# - NVelocity(或 Velocity)作为独立的公式评估器

我在我的应用程序中使用 NVelocity 来生成 html 电子邮件。我的应用程序有一个事件驱动模型,其中保存和/或更新对象会导致这些电子邮件被发送出去。每个事件都可以触发零封、一封或多封电子邮件。

我希望能够配置在运行时发送哪些电子邮件,而无需修改代码。我在想我可以利用 NVelocity #if() 指令来做到这一点。这是我的想法...

步骤 1) 在发送电子邮件之前,管理员必须配置一个公式供 NVelocity 评估。例如:

步骤 2) 保存或创建对象时,根据输入公式在内存中构建 NVelocity 模板。例如:

步骤 3) 针对模板在内存中执行 NVelocity 引擎。检查结果以查看我们是否必须发送电子邮件:

我知道这并不完全是 NVelocity 的意图,但我认为它可能会起作用 :) 这样做的好处之一是公式可以使用与模板中使用的相同的语法。

有没有人有任何警告或建议?有没有一种方法可以执行 #if() 指令而无需像我上面那样跳过箍?是否有推荐的方法来提前验证公式语法?

谢谢。

0 投票
2 回答
70 浏览

nvelocity - 为什么在 nVelocity 中添加两个值总是返回零?

我试图在速度中添加两个值,它总是返回 0。我做错了什么?

$orderItem.ExtendedPrice 和 $discountAmount 都是带小数的整数,例如:99.99

0 投票
1 回答
150 浏览

nvelocity - 在 NVelocity 模板中,如何测试属性是否存在

我正在构建一个简单的 NVelocity 模板,但我不知道如何测试变量是否存在——在这个例子中,我想测试上下文是否包含一个名为 callwed User 的属性。

我知道我可以实现与被黑的 foreach 循环相同的功能,但我想知道是否有更好的方法。

0 投票
1 回答
153 浏览

.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 ?

0 投票
1 回答
1228 浏览

c# - 使用评估参数调用方法的 NVelocity 语法

我有一个相当简单的模板,我需要从中进行方法调用。但是, NVelocity 似乎没有评估本身是NVelocity 变量的方法参数。采用以下 NVelocity 模板:

在上面的模板$extensionMethods中,作为一个类的实例传入,并且在传入评估的数字时效果很好(例如$extensionMethods.TestMethod(4)每次都有效)。但是, using$var1会导致整个字符串按原样返回:$extensionMethods.TestMethod(${var1}).

有没有办法将变量懒惰地传递给方法以使上述模板正确评估?

0 投票
3 回答
2731 浏览

c# - NVelocity 中的 For 循环

NVelocity 是否支持#for 循环?我浏览了文档,我能找到的只是#foreach 循环。

我想循环一个二维数组。

0 投票
2 回答
478 浏览

formatting - NTidy 和其他端口的替代品,需要使用自定义标记格式化 html

希望格式化(自动,在应用程序中)一些 html / nvelocity 模板。Tidy 似乎是解决这个问题的答案,但是所有的 .Net 端口似乎都存在问题并且维护得不是很好。大多数人在幕后依赖非托管代码,这开始对项目施加其他限制。

例如,要使用与http://www.codeproject.com/KB/mcpp/eftidynet.aspx关联的代码,项目现在必须是 x86 版本。

是否有新的首选解决方案来执行此操作?或者是否有一个完全托管的 TidyHtml 端口可以理解 nvelocity 或允许自定义令牌定义?

0 投票
1 回答
561 浏览

castle-monorail - NVelocity 是否支持 foreach.count?

我正在使用 Castle 项目中的NVelocity,根据速度规格,我应该能够像这样访问循环计数器:

但我无法让它工作,所以我怀疑它还没有在 NVelocity 中实现。

谁能证实这一点?