对于af:在我的流体列表模板中链接显示动作我想将javascript变量传递给参数,基本上是uid(将该特定对象传递给showAction),但它不能按照我打算的方式工作做到这一点。这个特定问题是否有解决方法?
裸模板看起来像这样:
<f:for each="{termins}" as="termin">
<tr>
<td><f:link.action action="show" arguments="{termin : termin}"> {termin.mitarbeiter}</f:link.action></td>
<td><f:link.action action="show" arguments="{termin : termin}"> {termin.kunde}</f:link.action></td>
</tr>
</f:for>
</table>
答案 0 :(得分:1)
你不能 - 而且你也不能(从来没有应该)生成JS控制器动作的链接,因为它需要生成一个安全校验和。修改您创建的URL将产生安全性错误。存在校验和以防止DDOS,因此它有充分的理由。
有两种选择:
只有第一个适合您的用例。特别是因为您想要传递总是引用数据库中对象的UID值 - 这意味着您可以轻松生成指向所有可能的详细信息视图的链接列表,然后从JS中读取/传递该链接列表以选择正确的之一。
答案 1 :(得分:0)
JS是流体模板之后的工作。正确的顺序是,您的流体模板被解析为HTML,然后浏览器将HTML / JS / CSS呈现给您。因此,您不能指望在流体模板中使用JS值。
答案 2 :(得分:0)
有两种可能性:
1)而不是链接使用表单并通过POST传输。使用JavaScript动态设置表单域。这样你的变量就不包含在(cHash-)校验和中。
2)创建一个接受变量作为参数的AJAX操作。让它生成一个有效的链接。使用POST将其与您的可变数据一起调用。使用JavaScript在您的页面上显示链接。