gpt4 book ai didi

jsf - 使用 h :commandButton 传递参数

转载 作者:行者123 更新时间:2023-12-03 04:16:17 27 4
gpt4 key购买 nike

我有一个 a4j:commandButton ,它应该根据 Id 将我重定向到适当的“编辑”页面,我想将其作为参数传递,如下所示:

<h:commandButton action="/details.jsf?faces-redirect=true" value="details">
<f:attribute name="id" value="#{bean.id}" />
</h:commandButton>

问题是,它不起作用。我还尝试将 f:attribute 替换为 "f:param name="id"value="#{bean.id}"",但也失败了。我唯一要做的就是输出链接:

<h:outputLink  value="/details.jsf">
link
<f:param name="id" value="#{bean.id}" />
</h:outputLink>

但是我对链接不太满意,那么有没有办法让 commandButton 工作?

哦,我还有一个 bean,应该在重定向后获取该“id”:

@PostConstruct
public void init(){
id= resolve("id");
}

最佳答案

看看this article关于 JSF 中的通信,作者:BalusC

f:param 仅适用于 h:commandLinkh:outputLink

您可以使用隐藏的输入:

<h:form>
<h:commandButton action="/details.jsf?faces-redirect=true" value="details"/>
<input type="hidden" name="id" value="#{bean.id}" />
</h:form>

然后在你的 faces-config 中,我猜是请求范围的。如果您使用 JSF2 的注释,只需将其转换为正确的注释即可。

<managed-bean>
<managed-bean-name>bean</managed-bean-name>
<managed-bean-class>mypackage.Bean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>id</property-name>
<value>#{param.id}</value>
</managed-property>
</managed-bean>

显然,您需要在支持 bean 中为该字段提供 getter 和 setter。

或者尝试通过 CSS 将链接“绘制”为按钮。

关于jsf - 使用 h :commandButton 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3280692/

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