p:terminal не имеет атрибута обновления.Как обновить компонент на команде p: terminal?
Поддерживает ли оно какое-либо событие ajax?
Как обновить другой компонент jsf как ответ на команду терминала?
p:terminal не имеет атрибута обновления.Как обновить компонент на команде p: terminal?
Поддерживает ли оно какое-либо событие ajax?
Как обновить другой компонент jsf как ответ на команду терминала?
У него нет событий ajax, как видно из документации и/или источника. Но в реализации команд для терминала, которые вы реализуете самостоятельно, вы можете делать все, что хотите. Включая использование RequestContext для обновления других компонентов.
По крайней мере, это то, что я ожидал (и явно не проверял, извините). Обновление с помощью командыHandler делает не, так как команда commandHandler вызывается во время фазы ответа рендеринга, и вы не можете добавлять обновления к компонентам на этой фазе.
См. Также комментарий к ответу здесь: Can I update a JSF component from a JSF backing bean method?.
Так фактическая хороший ответ является один из самого @Leo (хотя этот ответ помог немного ;-))
Вот что работает для меня
<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");
Это на самом деле происходит в фазе рендеринга. Я отлаживаю сейчас, чтобы понять, почему обновление не работает, и если ожидается, что он не будет работать. Пожалуйста, не принимайте мой ответ и принимайте его сейчас. – Kukeltje
Я обновил свой ответ, чтобы указать на ваш, но, тем не менее, не соглашайтесь с моим и немного улучшите свое, чтобы начать с того, почему context.update не работает (см. Мой отредактированный ответ) – Kukeltje
I думаю, что я останусь твоим, так как это была настоящая отправная точка :-), но я также буду продолжать отвечать, потому что он просто обеспечивает что-то, что работает. Может быть, у кого-то еще может получиться лучший ответ, так как мое решение кажется мне немного взломанным. – Leo
извините за мое невежество, но как именно я могу обновить другой компонент таким образом? – Leo
Незнание не является проблемой, но не использует поисковую систему, чтобы получить дополнительную информацию (или визуализацию штриховки, или документы о границах или связанные с ними в Stackoverflow) :-) ... http://stackoverflow.com/ вопросы/11365094/can-i-update-a-jsf-component-from-a-jsf-backing-bean-method – Kukeltje
О, извините, теперь кристально ясно. спасибо – Leo