当前位置: 首页 > 知识库问答 >
问题:

带有可选css类的Java Freemarker宏

夏侯英纵
2023-03-14

我试图在freemarker上执行宏,但在实现css类作为参数时遇到了问题。我的对象有一些默认的css类,我想添加可选类。

<#macro Button href extra...>
    <a href="${href}" class="ui-button"
    <#list extra?keys as attr>
    ${attr}="${extra[attr]?html}"
    </#list>
    >Anchor Button</a>
</#macro>

1) <@Button href="link.html"></@Button>
2) <@Button href="link.html" id="button1" class="marginrightnone"></@Button>

第2行)只呈现“id”参数。如果我删除了宏的class="ui-按钮",那么它将正确呈现。

我能做什么来呈现两个或更多的类参数???

共有1个答案

唐泳
2023-03-14

您需要构造一个包含所有类参数的字符串,并将其用作模板中单个HTMLclass属性的值。

您不能拥有任意数量的属性/值对,并且仍然是合法的HTML。

最简单的方法就是创建一个包含“ui按钮”值的本地。当你在extra上迭代时?键检查是否有“class”键,如果找到,将其附加到本地类(以及前导空格)。模板将使用构造的值:

<a href="${href}" classes="${local_classes}"
 类似资料:
  • 我有一个有组的模式。这些组都是可选的。 完整的posible模式是: 但也可以看起来像这样 不可能在组中获得限定词,例如(组A不可能' = ')。 所以我尝试了这些正则表达式: 问题: 如果缺少组,则不匹配 具有“#”(E)的组包含第一个组“-”(F)<ul> 001.002 可编程逻辑控制器。003 M01.001 P1 测试-KF2-- 我的错是什么?

  • 我有一个Spring RESTendpoint,具有如下所示的可选请求参数: 当我试图测试这个使用Mockito框架的endpoint时 提前感谢!

  • 问题内容: HTML规范允许在ID中使用句点(。): 但是,使用CSS ID选择器规则将 无法 正确匹配: ID选择器的CSS规范没有提到这种情况。因此,我假设它使用的是标记名和类选择器的组合?例如,CSS规则适用于类名称为的所有锚定标记(),例如。 是否可以有一个外部CSS文件规则,该规则通过其中包含句点的ID引用HTML元素? 我不希望这样,因为CSS规范指定CSS“标识符”不包含句点作为有效

  • 我在这里使用这个示例代码创建一个JTree,其中所有的叶子都有一个复选框。我遇到的问题是,我还需要能够选择节点对象,而不必勾选复选框。在我的用例中,勾选复选框将使某些内容可见或隐藏,但选择节点将允许在UI的单独部分编辑对象。最好的方法是什么?是否可以检测何时单击复选框的“框”部分,或者是否选中节点? 我看到的另一个错误是,当文件夹有子元素时,文件夹左侧的指示器正确显示文件夹已打开: 但是如果'文件

  • 我是jQuery/js的新手,遇到了这样的问题:您可以运行我的代码,发现计数不正确: null null 我的HTML必须保持不变,我必须找到一些方法使jQuery在本例中工作,并且保持HTML结构不变。如果您对如何解决此问题有任何想法,请随时发表评论或分享代码想法。 我感谢您的帮助!

  • 问题内容: 现在我有: 除非我要转换没有微秒的字符串,否则此方法效果很好。如何指定微秒是可选的(如果它们不在字符串中,则应将其视为0)? 问题答案: 您可以使用一个块: