gpt4 book ai didi

jsf - 将 HTTP GET 参数传递给 JSF bean 方法

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

我想将 GET 参数从 URL 传递给通过单击按钮调用的方法。
例如我有网址:/someurl/semepage.xhtml?id=1 .我的页面上有一个按钮:

<p:commandButton value="say it" action="#{test.sayIt(param['id'])}"/>

bean 看起来像:
@ManagedBean
@ViewScoped
public class Test{
public void sayIt(String value){
System.out.println(value);
}
}

但是当我点击按钮时,它只是没有反应。为什么会这样?方法甚至没有被调用。

如果我像这里一样静态传递参数:
<p:commandButton value="say it" action="#{test.sayIt('someword')}"/> 

一切都好。

最佳答案

这是一种方法 - 使用 <f:param , 像这样:

<h:commandButton value="Test The Magic Word" action="#{test.sayIt}">
<f:param name="id" value="#{param['id']}"></f:param>
<f:ajax execute="something" render="something_else"></f:ajax>
</h:commandButton>

在你的 bean 里
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext()
.getRequest();

String id = request.getParameter("id");

关于jsf - 将 HTTP GET 参数传递给 JSF bean 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281584/

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