JSF2使用inputText的值自动更新commandButton的重定向页面

时间:2012-06-09 13:32:52

标签: redirect button jsf-2 input

我在JSF页面中有一个inputText和一个commandButton。用户输入内容然后在结果页面中重定向,该结果页面还具有具有相同功能的inputText和commandButton。 commandButton应该在单击时执行某些操作并重定向到REST URL(结果页面),该URL是通过将inputText值附加到基URL中构建的。我尝试了很多东西但是我没有设法在第二页中完成这项工作。我到现在为止尝试的是:

  1. 在commandButton的动作中,我调用我的方法,然后返回重定向的URL,因为我的bean中有inputText值。我使用AJAX在keyup事件上呈现commandButton。这适用于第1页但不适用于第2页。问题是,每次用户键入字母时,按钮都会呈现,我的方法被调用,我不想要,因为我只想在用户单击按钮时调用它们

  2. 我在我的bean中创建了一个方法,我在其中放置了所有方法。我尝试使用PostConstruct方法和使用preRenderView的f:事件来调用方法。再次使用AJAX,这不起作用,因为每次用户输入内容时都会调用该方法。

1 个答案:

答案 0 :(得分:1)

  

问题在于,每次用户键入字母时,都会呈现按钮并调用我不想要的方法,因为我只想在用户单击按钮时调用它们。

然后不要渲染按钮。也许您在<f:ajax render>属性中使用过于通用的客户端标识符,如@form。只需将其替换为不包含按钮的更具体的内容。


  

再次使用AJAX,这不起作用,因为每次用户输入内容时都会调用该方法。

检查它是否不是ajax请求。

if (!FacesContext.getCurrentInstance().getPartialViewContext().isAjaxRequest()) { 
    // Not an ajax request.
}