我的应用程序允许用户在消息字段中输入文本,并且在htat时间输入时,必须允许管理员查看在不同控制台中键入的内容。richfaces使用ajax向服务器发送数据
为此 我需要定期发送数据到托管bean,并从那里到业务层。
<h:form>
Name : <h:inputText id="name" value="#{clockBean.name}"/>
Message: <h:inputText id="age" value="#{clockBean.msg}"/>
<a4j:poll id="poll" interval="20000" enabled="#{clockBean.enabled}" action="#
{clockBean.process}" render="clock,counter"/>
<a4j:log/>
</h:form>
我有名字和味精managedBean性质,我需要访问的名称和味精性质,并将它们发送到业务层,当我在 过程()的clockBean的方法管理的Bean处理它们。
@ManagedBean
@ViewScoped
public class ClockBean implements Serializable{
private string msg;
private string name;
private boolean enabled;
public void process(){
System.out.println("timer event calling *** - msg is "+msg+" : name is "+name); }
//getters setters & rest of the code
当前我的bean作用范围为ViewScopedand当轮询每20秒运行一次时,我会为2个字段获取空值。 如何在给定时间间隔内运行轮询时获取名称和msg属性值? 有没有更好的方法来解决这个问题?
是的,我会坚持他们..我真正的问题是我如何通过managedBean定期发送数据到业务层。 如何在richfaces中根据轮询功能定期做ajax提交? – Sanath 2011-06-20 07:40:47
我不会用轮询来完成它,因为即使数据没有改变,轮询也会每次执行请求。我会用onchange事件,队列和请求延迟来做到这一点。 如果`a4j:poll`没有提交表单(在richfaces中的bug可能?),你可以用`a4j:function`轻松实现,并且只需创建一个js函数并使用js中的`setInterval()`调用它。 – 2011-06-20 10:22:33