gpt4 book ai didi

jsf - h :commandLink and unsafe-inline

转载 作者:行者123 更新时间:2023-12-03 14:39:34 24 4
gpt4 key购买 nike

如果你看这个Mkyong example h:commandLink 是如何解析的,它看起来像这样。

//JSF
<h:commandLink action="#{user.goLoginPage}" value="Login page + Param ">
<f:param name="username" value="mkyong" />
</h:commandLink>

//HTML output
<script type="text/javascript"
src="/JavaServerFaces/faces/javax.faces.resource/jsf.js?ln=javax.faces&stage=Development">
</script>

<a href="#"
onclick="mojarra.jsfcljs(document.getElementById('j_idt6'),
{'j_idt6:j_idt20':'j_idt6:j_idt20','username':'mkyong'},'');
return false">
Login page + Param
</a>

问题在于,如果您强制执行 unsafe-inline,您的浏览器将拒绝执行此操作。

我一直在使用 nonce method 将内联脚本列入白名单.

有没有办法让 h:commandLinks 工作?

最佳答案

在 HTML 中没有办法使用 <a> 执行 POST 请求元素。在这种情况下,JSF 只是一个 HTML 代码生成器,对此无能为力。

您有 3 个选择:

  1. 替换为 <h:commandButton> .
  2. 或者,替换为 <h:link> .
  3. 或者,替换为在外部初始化脚本的自定义组件。

另见:

关于jsf - h :commandLink and unsafe-inline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44877349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com