当前位置: 首页 > 面试题库 >

JSF状态栏/连接状态信息

澹台衡
2023-03-14
问题内容

我想为我的用户提供一种有关进度状态的信息。我发现了几个组件,例如:

Richfaces状态或IceFaces连接状态

因此,我想在页面上添加类似的内容,尤其是对于ajax请求。最简单的实现方法是什么?我不想使用这些组件之一,而是想编写自己的组件,但我无法想象它需要多少努力:-)

我很感谢你的想法…


问题答案:

标准的JSF实现没有为此提供现成的组件。但是,JSF
2.0规范
在第13.3.5.2章中概述了以下内容:

13.3.5.2监视所有Ajax请求的事件

JavaScript
API提供了jsf.ajax.addOnEvent可用于注册JavaScript功能的功能,当发生任何Ajax请求/响应事件时,该功能将得到通知。有关更多详细信息,请参见第14.4节“注册回调函数”。该jsf.ajax.addOnEvent函数接受一个JavaScript函数参数,当在任何Ajax请求/响应事件周期中发生事件时,该参数将被通知。该实现必须确保必须根据表14-3“事件”中概述的事件来调用已注册的JavaScript函数。

您可以在此处找到有关Mojarra开发人员之一的博客,其中包含基本示例。这是相关的摘录:

<h3> Status:</h3>
<textarea id="statusArea" cols="40" rows="10" readonly="readonly" />

一个简单的文本区域,甚至没有与后端服务器数据模型挂钩。

然后在我们的javascript中(对于演示,在一个单独加载的文件中,尽管它可以很容易地出现在页面中),我们有:

var statusUpdate = function statusUpdate(data) {
    var statusArea = document.getElementById("statusArea");
    var text = statusArea.value;
    text = text + "Name: "+data.source.id;
    if (data.type === "event") {
        text = text +" Event: "+data.name+"\n";
    } else {  // otherwise, it's an error
        text = text + " Error: "+data.name+"\n";
    }
    statusArea.value = text;
};

// Setup the statusUpdate function to hear all events on the page
jsf.ajax.addOnEvent(statusUpdate);
jsf.ajax.addOnError(statusUpdate);


 类似资料:
  • 完整状态栏如下图: 此列表显示所有 HTTP 请求的相关信息,从左到右各列分别代表: 第一区块,显示的 Fiddler 是否处于捕捉状态,(开启状态)、(关闭状态),可以用快捷键 F12 切换或者点击该区域。 第二区块,显示当前捕捉哪些进程的通讯。前提是被捕获的进程必须使用 HTTP 代理:127.0.0.1:8888 All Processes —— 捕获所有进程的请求 Web Browsers

  • 问题内容: 我正在(成功)使用以下命令连接到数据库: 一段时间后,我应该检查什么以检查连接是否仍处于打开状态? 我希望有类似的东西可供我使用。 问题答案: 没有。只需执行您的查询。如果连接已终止,则您的JDBC驱动程序将重新连接(如果它支持它,并且您在连接字符串中启用了它-大多数不支持它),否则您将得到异常。 如果检查连接是否正常,在实际执行查询之前它可能会掉线,因此通过检查绝对不会获得任何收益。

  • iOS 7+ 允许创建全屏应用,但是当状态栏覆盖你的应用时,会有这样的问题: 不好! 好! Framework7帮助你解决这个问题。它自动检测你的应用是否是全屏模式,如果是的话,自动添加"with-statusbar-overlay"类到<html>(如果不是的话,移除这个类)。通过"with-statusbar-overlay"类(应用处于全屏模式的时候),<html>在顶部拥有额外的paddi

  • 描述 (Description) iOS 7+允许您构建全屏应用,当您的状态栏与您的应用重叠时,这可能会产生问题。 Framework7通过检测您的应用是否处于全屏模式来解决此问题。 如果你的应用程序处于全屏模式,那么Framework7会自动将with-statusbar-overlay类添加到《html》 (如果app不是全屏模式,则删除),你需要在《body》添加statusbar-over

  • 可确认目前连接的接入点信息或网络的连接状态。

  • 因此,我在这里读了几篇关于更改状态栏文本颜色的帖子,但都没用。所以我最初的问题是,状态栏现在在iOS7中是透明的,我希望它是带黑色文本的白色。所以我把它添加到我的viewcontroller中。 好的,现在状态是黑对黑,不能阅读文本,但至少它不是透明的。所以现在我做了下面的事情。 进入plist并添加了这个 然后我将此添加到我的应用程序委托 现在我有一个状态栏是白色的,但是文本是白色的,所以你看不