答案 0 :(得分:2)
它没有任何ajax事件,可以在文档和/或源代码中看到。但是在您自己实现的终端命令的实现中,您可以执行任何您想要的操作。包括使用RequestContext更新其他组件。
至少这是我的预期(并没有明确测试,抱歉)。从commandHandler更新不工作,因为在呈现响应阶段调用commandHandler并且您无法在该阶段向组件添加更新。
另请参阅答案评论:Can I update a JSF component from a JSF backing bean method?。
所以实际的好答案是来自@Leo本人的答案(尽管这个答案有点帮助; - ))
答案 1 :(得分:0)
这对我有用
<p:terminal
id="terminal"
widgetVar="term"
prompt="Lab >> "
commandHandler="#{labMB.handleCommand}"
welcomeMessage="Welcome to Lab" />
<p:remoteCommand
name="rc"
update="history" />
<p:dataTable
id="history"(...)
和
public String handleCommand(String command, String[] params) {
RequestContext context = RequestContext.getCurrentInstance();
//(do things here)
context.execute("rc();");
}
似乎只是打电话
context.update("form:history");