- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有多个参数的宏。其中一些是可选的,如果参数留空,它将替换为默认值。
现在的问题是如何让普通网页设计师尽可能轻松地完成这项工作。除了我的示例之外,还有其他可能性来处理这种情况吗?
示例 1:
这里明显的问题是可选值。
#macro (myTag $param1 $param2 $param3)
...
#end
示例 2:
这里的问题是当多次使用同一个宏并且所有变量都没有重新设置时可能出现的问题。
#set ($param1="value1")
#set ($param2="value2")
#set ($param3="value3")
#macro (myTag)
...
#end
最佳答案
从 Velocity 1.6 开始,不支持可选或命名参数。最近提交了一个具有此功能的补丁,因此我们可能会在未来的版本中看到它可用。
与此同时,考虑传入一个列表或值映射。例如,您可以按如下方式传入参数映射(需要 Velocity 1.5 或更高):
#macro(myMacro $p)
item 1: $p.param1
item 2: $p.param2
#end
#set($params = {"param1" : "val1", "param2":"val2"})
#myMacro($params)
显示:
item 1: val1
item 2: val2
要处理可选参数,请在宏中使用#if 来检查参数。向 map 添加新元素有点困惑。由于 Java 方法“put”返回一个值,因此您必须使用#set 来处理返回值。 (否则它会显示在结果文本中)。
#macro(myMacro $p)
#if(!$p.param1)#set($dummy = $p.put("param1", "default1"))#end
#if(!$p.param2)#set($dummy = $p.put("param2", "default2"))#end
#if(!$p.param3)#set($dummy = $p.put("param3", "default3"))#end
item 1: $p.param1
item 2: $p.param2
item 3: $p.param3
#end
#set($params = {"param1" : "val1", "param2":"val2"})
#myMacro($params)
显示
item 1: val1
item 2: val2
item 3: default3
关于usability - 宏的速度命名参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541670/
有没有关于文本用户界面设计的好书或其他引用资料?我对图形用户界面不感兴趣。我对良好的命令行和脚本界面的可用性感兴趣。 最佳答案 您的界面应遵循ESR在The Art of Unix Programmi
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
您是否注意到 facebook 中几乎每个链接都有 ref 查询字符串? 我相信,使用 ref ,facebook 会以某种方式跟踪和研究他们的用户行为。这可能是他们提高可用性的秘诀。 所以,我正在尝
我正在与一位同事争论,我试图说服他根据复选框状态更改复选框文本(标签)是一个坏主意。 例如,我们有一个组合框,当它旁边的复选框被选中时,它会自动选择选定的值(并被禁用),并在复选框被清除时启用。他的想
有一些关于可用性的帖子,但没有一个对我有用。 我需要对应用程序某些部分的可用性进行定量测量。 我需要用硬数字来估计它,以便能够将它与 future 的版本进行比较(例如出于报告目的)。最简单的方法是计
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5年前关闭。 Improve t
我在数据库中有一个“产品”表。它用于填充网站上的下拉列表。 目前列表是按字母顺序输出的,但我的客户建议,如果他以客户身份签署可口可乐,他们可能希望将“Vanilla Coke”作为产品放在列表的顶部,
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我已经习惯了对每个支持用户身份验证和免费注册的站点使用标准注册->发送激活电子邮件->激活帐户流程,而不必怀疑我是否真的需要这样做。 您对此有何想法?如果我在注册表上有验证码,那么电子邮件确认过程真的
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 提供事实和引用来回答它. 8年前关闭。 Improve this
为什么在诸如Stack Overflow,Techcrunch,Smashing Magazine等网站上,页面标题(即页面顶部的文本)可点击的URL重定向到用户所在的同一页面? 一些例子: 我相信这
假设在 Web 应用程序中,用户必须先执行 X 才能继续访问 Y,但 Y 的链接始终可用,我们目前正在讨论在用户尝试导航到页面 Y 时重定向用户的两种方法: 用一条消息和一个显示页面 Y 链接回 X。
我有一个带有多个参数的宏。其中一些是可选的,如果参数留空,它将替换为默认值。 现在的问题是如何让普通网页设计师尽可能轻松地完成这项工作。除了我的示例之外,还有其他可能性来处理这种情况吗? 示例 1:
虽然这更像是一个书面语言问题而不是编码问题,但在客户或其他人不提供副本的情况下,这是程序员必须做的事情。欢迎任何错误消息的示例,无论好坏,都可以说明这一点。 我进行了简短的搜索,但找不到被欺骗的线程。
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
是否有人有关于用户界面响应时间的当前和历史论文以及权威链接(统计数据和博客文章)的链接? 当然权威链接是Human factors design criteria in man-computer in
我正在开发一个 Web 应用程序,其中有一个模式面板/对话框弹出窗口来收集用户数据。面板中的表单变得很大,我们建议将表单拆分为多个选项卡,但我们的客户建议在模式面板中添加滚动条。 模式面板中的滚动条是
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 2 年前。 Improv
我的问题是关于可用性的。在我看到和开发的大多数网站中,我将分类法视为用户在网站中找到他正在寻找的东西的一种方式。但最近我看到了标记的概念。产品服务问题被标记的地方,可以用标记名找到。标记是分类法的替代
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我是一名优秀的程序员,十分优秀!