java - 自定义在 h :ajax call 之后响应

标签 java jsf jsf-2 primefaces

我有类似的东西:

<h:commandButton>
     <h:ajax event="click" listener="#{controller.onLog}" onchange="onLogProcess" />
     ....
</h:commandButton>

我向服务器发送一个帖子,在监听器函数中执行一些操作。然后我想返回一个字符串/消息(响应)给客户端,并使用“onLogProcess”中的javascript捕获它,以向用户显示自定义字符串。

我正在研究它,但我还没有发现任何东西......

有什么办法可以用 JSF 做到这一点吗?

我正在使用 JSF 2.1/Mojarra 2.1.2

提前致谢!

最佳答案

<f:ajax> (不是<h:ajax>!)有条件地渲染<h:outputScript> .

<h:commandButton action="#{controller.onLog}">
    <f:ajax render="script" />
</h:commandButton>
<h:panelGroup id="script">
    <h:outputScript rendered="#{not empty controller.log}">
        onLogProcess('#{controller.log}');
    </h:outputScript>
</h:panelGroup>

哪里#{controller.log}是您想要传递给 JS 函数的字符串。确保它不包含 JS 特殊字符,如 ' 、换行符等。如有必要,请使用 Apache Commons Lang StringEscapeUtils#escapeJavaScript()为此。

关于java - 自定义在 h :ajax call 之后响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9832784/

相关文章:

java - 检查类的 ArrayList 是否有重复项

Java:可以通过 SSLSocket 发送任何字符串,但以 h/H 开头的字符串除外

javascript - 如何控制 Primefaces 向导选项卡中的 Enter 键按下?

java - 是否可以在 JSF 中实现动态组件树?

google-maps - 如何刷新 primefaces p :gmap after updating the gmap with new markers 中的 gmap 标记

java - IntelliJ IDEA 插件 : Jump to declaration for custom xml

java - Config.class 中的 CacheManager bean 定义导致 NoSuchBeanDefinitionException

ajax - 访问由支持 bean 中的执行属性传递的所有 ajax UIComponent?

html - 如何将 HTML 代码导入 JSF 页面?

jsf - 未实现primefaces延迟加载