对于我的流体列表模板中的f:link show动作,我想将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>
最佳答案
您不能-并且也不能(读:永远不应该)从JS生成到控制器动作的链接,因为它需要生成安全校验和。修改您创建的URL将产生安全错误。存在校验和以防止DDOS,因此有充分的理由。
有两种选择:
您可以提前生成所有链接
您可以使用XHR调用链接生成服务,以从JS生成必要的链接。
只有第一个适合您的用例。特别是这样,因为您要传递始终引用数据库中对象的UID值-这意味着您可以轻松生成所有可能的详细视图的链接列表,然后从JS中读取/传递该链接列表以选择正确的链接一。