相关疑难解决方法(0)

如何在selectOneMenu选择中刷新JSF中的页面?

我有一个包含PrimeFaces(2.2.1)编辑器组件,刷新按钮和selectOneMenu的页面,其选择会影响编辑器的内容,如下所示:

<p:editor id="uploadedText" value="#{facilityDataUploadBean.uploadedText}"
          width="600" height="180" disabled="true" controls="" />
<h:commandButton value="Refresh" immediate="true" />
<h:selectOneMenu id="skipLines" styleClass="dropdown"
                 value="#{facilityDataUploadBean.skipLines}">
    <f:selectItems value="#{facilityDataUploadBean.skipLinesList}" />
    <f:ajax listener="#{facilityDataUploadBean.importParameterChanged}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

facilityDataUploadBean.importParameterChanged更新facilityDataUploadBean.uploadedText.更改selectOneMenu值后,操作员按下Refresh按钮刷新页面,包括内容p:editor.(我不能简单地刷新p:editor使用AJAX,因为它不能正确地重新渲染,至少在PF 2.2.1中.)

看起来我应该能够在selectOneMenu值改变时自动完成页面刷新,但是我无法想出能够做到这一点的属性和事件的组合.我已经试过的各种组合onchange="submit();",immediate="true"并且valueChangeListenerselectOneMenu,还有execute="@all/@form",render="@all/@form"f:ajax事件,都无济于事.我当前的解决方法是显示一条消息,要求用户在更改selectOneMenu选择时按"刷新"按钮- 非常好.

primefaces jsf-2

3
推荐指数
1
解决办法
2万
查看次数

p:dialog内对话框中的按钮未调用控制器方法

我遇到了标题中所述的问题。

问题的简短描述如下:我有一个用于打开对话框的按钮。然后,在该对话框中,有一个按钮可在第一个对话框的顶部打开另一个对话框。单击第二个按钮后,我希望调用控制器中的方法,但没有任何反应。h:outputText中的值已正确读取,因此我猜它与连接控制器->视图无关。

我正在使用:

  • Spring Web 3.1.2。发布
  • JSF 2.2.10
  • Primefaces 5.1

码:

beans.xml

<bean id="testController" class="test.TestController" />
Run Code Online (Sandbox Code Playgroud)

TestController.java

public class TestController implements Serializable
{
   private static final long serialVersionUID = 7028608421091861830L;

   private String test;

   public TestController()
   {
      test = "abc";
   }

   public void testMethod()
   {
      test = "cba";
   }

   public String getTest()
   {
      return test;
   }
}
Run Code Online (Sandbox Code Playgroud)

test.xhtml

<h:panelGrid columns="1" cellpadding="5">
     <p:commandButton value="Basic" type="button" onclick="PF('dlg1').show();" />
  </h:panelGrid>

  <p:dialog widgetVar="dlg1">
     <h:outputText value="Resistance to PrimeFaces is futile!" />
     <h:panelGrid columns="1" cellpadding="5"> …
Run Code Online (Sandbox Code Playgroud)

jsf dialog controller primefaces jsf-2

1
推荐指数
1
解决办法
4260
查看次数

标签 统计

jsf-2 ×2

primefaces ×2

controller ×1

dialog ×1

jsf ×1