我正在尝试在jsf webapplication上设置控制台。目前我正在使用textarea来显示输出。我希望它像eclipse中的控制台一样工作。如果添加了新行,它应自动向下滚动,但也应该可以停用自动滚动。这就是问题所在。添加新行后,textarea总是跳起来,不会停留在当前位置。
我还尝试用scrollTop保存当前位置,但这没有用。
你的建议是什么?
答案 0 :(得分:1)
Primefaces有一个很好的终端组件。在这里展示他们展示的演示:http://www.primefaces.org/showcase/ui/misc/terminal.xhtml
答案 1 :(得分:0)
为了实现我的目标,我使用了两个textareas。一个隐藏的textarea由一个bootbean自动更新,另一个是一个可见的textarea,我使用javascript复制该值。可见的textarea可能不自动更新或重新呈现。
XHTML:
<p:inputTextarea
id="txtHiddenConsole"
value="#{consoleLogBean.log}"
pt:data-autoUpdate="true">
</p:inputTextarea >
<p:inputTextarea id="txtConsole" >
的Javascript
log = $('#txtHiddenConsole').val();
$('#txtConsole').val(log);
通过使用此workarround,可见textarea的滚动位置将不会更改。