无法在commandScript之后更新JSF视图

时间:2018-04-03 06:27:49

标签: jsf cdi

我需要使用JSF 2.3 commandScript从javascript函数调用CDI Beans。不幸的是,我无法在屏幕上呈现更新的CDI bean字段。 简而言之,这是我的JSF页面:

<body>           

  <h:form id="formpanel">
       <h:commandScript  execute="@form" name="submitForm" action="#{translatorBean.translate()}" render=":output"   /> 
       <h:inputText value="#{translatorBean.input}" />
       <h:button value="submit" onclick="submitForm()" />

  </h:form>
Translated:
 <h:outputText id="output" value="#{translatorBean.translated}" />
 </body>

我期待,当我点击&#34;提交&#34; javascript submitForm调用CDI&#34; translatorBean.translate()&#34;并使用&#34; translatorBean.translated&#34;

的值更新outputText

CDI Bean非常简单,包含字段和操作方法:

@Named
@RequestScoped
public class TranslatorBean implements Serializable {

    private String input;
    private String translated;

    // getter setter fields  
    public void translate() {

    translated = Utils.translate(input);

    }
. . . . .
}

最后,翻译方法被调用,但页面只是重新加载而没有更新&#34;翻译&#34;输出。 我可能在JSF页面上犯了一些错误,尽管我无法弄清楚是什么。 我使用ee8配置文件在WildFly 12上运行它。 感谢

0 个答案:

没有答案