当我传递已经显示的参数时,为什么我得到一个空值?

Why am I getting a null value when I pass the argument which is displayed already?

我正在尝试使用辅助函数在 spring-mvc 中使用车把。

下面是我的 html 把手模板:

<td style="color: black;">\{{index}}</td>
<td style="color: black;">\{{dev_name}}</td>
{{#equality dev_name "a"}}
     <td style="cursor:pointer;color: black;" onclick="location.href='/devboard?uid=\{{mac_address}}&cid=\{{cid}}&mid=1'">
    <a class="LN1 LN2 LN3 LN4 LN5">
    \{{mac_address}} </a>
{{/equality}}

下面是我在java注册的帮手:

public String equality(String a,String b,Options options) {
        System.out.println("----------------------------------------------------- "+a +"    "+b);
        Object var = "";
        try{
        var = options.fn(this);
        }catch(Exception e) {
            LOG.info(" Exception caught while comparing strings");
        }
        String returnStr = (String) var;
        return returnStr;
    }

执行时 dev_name 显示在 table 中,但传递的值为空。

我不明白背后的原因很可能是因为我是车把的新手。谁能指导我如何解决这个问题?

提前致谢。 :)

实际上,您正在为 Handlebars 使用转义格式。 尝试删除前导反斜杠。

\{{dev_name}} 会显示 {{dev_name}}

{{dev_name}} 将解析 dev_name 并显示它,例如Some dev name(如果为空则为空)

可能您与 \{{index}}

有同样的问题

在浏览了很多链接之后,这就是我发现的解决方案:

\{{#equality dev_name "a"}}
     <td style="cursor:pointer;color: black;" onclick="location.href='/devboard?uid=\{{mac_address}}&cid=\{{cid}}&mid=1'">
    <a class="LN1 LN2 LN3 LN4 LN5">
    \{{mac_address}} </a>
\{{/equality}}

这样我们就可以在我的注册助手中得到 dev_name。