我有一个显示Glassfish日志文件列表的JSF页面.我使用延迟加载进行分页.我将日志文件名列表保存到Java中List
.
private List<directoryListObj> dataList = new ArrayList<>();
dataList = dataList.subList(firstRow, lastRow);
Run Code Online (Sandbox Code Playgroud)
这就是问题所在.例如,我有35个文件到目录中.当我这样做
dataList = dataList.subList(5, 15);
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是当我这样做时:
dataList = dataList.subList(30, 38);
Run Code Online (Sandbox Code Playgroud)
我得错误索引索引,因为我想得到List之外的索引.我如何能够将List元素从30返回到35?我想如果我想从30到40得到索引,但如果只有35个索引只得到5.
我有一个maven项目,我用Netbeans编译.我有办法指定一个不同的构建目录,编译后复制编译的二进制代码?
我正在使用此表在表视图中显示数据:
import javafx.application.Application;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Pagination;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.Callback;
public class MainApp extends Application
{
IntegerProperty intP = new SimpleIntegerProperty(5);
AnchorPane anchor = new AnchorPane();
Scene scene;
ObservableList<Integer> options
= FXCollections.observableArrayList(
5,
10,
15,
20);
final ComboBox comboBox = new ComboBox(options);
final ObservableList<Person> data = FXCollections.observableArrayList(
new Person("1", "Joe", "Pesci"), …
Run Code Online (Sandbox Code Playgroud) 我想获得JVM的启动时间和正常运行时间.到目前为止,我已经这样做了:
public long getjvmstarttime(){
final long uptime = ManagementFactory.getRuntimeMXBean().getStartTime();
return uptime;
}
public long getjvmuptime(){
final long uptime = ManagementFactory.getRuntimeMXBean().getUptime();
return uptime;
}
Run Code Online (Sandbox Code Playgroud)
但我得到的时间是毫秒.我如何能够在几天和几小时内转换时间.我想以这种格式显示毫秒:3天,8小时,32分钟.是否有可以转换毫秒的内部Java方法?
我想更新我的JSF应用程序以使用Mojarra 2.1.8版.我将这些行添加到WAR包的POM文件中:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.1.8</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我还添加了JSF存储库.我的包使用Mojarra 2.1.8版成功构建.但是当我打开GlassFish日志时,我发现部署了一个Mojarra版本2.1.6.我错过了什么?我是否需要在GlassFish服务器中进行一些配置?
我测试了从PrimeFaces 部署这个例子.
我不知道为什么它不起作用.我收到此错误消息:
警告:此页面调用以前缀p声明的xml命名空间http://primefaces.org/ui但该命名空间不存在taglibtrary
我按照本教程正确安装jar.我下载了Primefaces jar文件,并将其添加resources
到WAR文件的目录中.
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.3</version>
<type>jar</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我还将Primefaces.jar文件添加到Glassfish的/ modules目录中,并将模块的名称添加到default-web.xml文件中.它不起作用.
我错过了什么?
编辑2 我是正确的POM文件是问题:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.DX_57</groupId>
<artifactId>History-Module-57</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>History-Module-57</name>
<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>4.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<version>4.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>osgi-cdi-api</artifactId>
<version>3.1-b41</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<pluginManagement> …
Run Code Online (Sandbox Code Playgroud) 我有一个包含13个子模块的maven项目.我有两个问题如何优化构建过程:
我想创建包含许多小文件的简单 RPM 文件。
[root@laptop rpm]# tree
.
??? BUILD
??? BUILDROOT
??? RPMS
??? SOURCES
? ??? some_agent-1.0.tar.gz
??? SPECS
? ??? kernel.spec
? ??? kernel.spec~
??? SRPMS
6 directories, 3 files
[root@laptop rpm]#
Run Code Online (Sandbox Code Playgroud)
我有这个规范文件:
Summary: some_agent
Name: some_agent
Version: 1.0
Release: 1
License: Apache
Group: application
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%description
Test
%prep
%setup -q
%build
%install
rm -rf $RPM_BUILD_ROOT
make root=$RPM_BUILD_ROOT install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
agent/*
Run Code Online (Sandbox Code Playgroud)
但是当我尝试构建 RPM 包时,我收到此错误:
[root@laptop ~]$ rpmbuild -bb -v …
Run Code Online (Sandbox Code Playgroud) 我通过 WebSocket 收到这些巨大的字符串:
[
"BTC-31DEC21-100000-P",
"{\"data\":{\"bids\":{\"0.01\":{\"price\":0.01,\"volume\":66.2,\"exchange\":\"DER\"},\"5.0E-4\":{\"price\":5.0E-4,\"volume\":1.1,\"exchange\":\"DER\"},\"0.637\":{\"price\":0.637,\"volume\":8.4,\"exchange\":\"DER\"}},\"asks\":{\"0.664\":{\"price\":0.664,\"volume\":8.4,\"exchange\":\"DER\"}}},\"isMasterFrame\":true}"
]
Run Code Online (Sandbox Code Playgroud)
或者
[
"BTC-31DEC21-36000-C",
"{\"data\":[{\"price\":0.422,\"volume\":8.4,\"exchange\":\"DER\",\"side\":\"ASKS\"},{\"price\":0.423,\"volume\":0.0,\"exchange\":\"DER\",\"side\":\"ASKS\"}],\"isMasterFrame\":false}"
]
Run Code Online (Sandbox Code Playgroud)
或者
[
"BTC-31DEC21-60000-P",
"{\"data\":[{\"price\":0.105,\"volume\":0.0,\"exchange\":\"DER\",\"side\":\"ASKS\"},{\"price\":0.1055,\"volume\":28.7,\"exchange\":\"DER\",\"side\":\"ASKS\"},{\"price\":0.106,\"volume\":7.6,\"exchange\":\"DER\",\"side\":\"ASKS\"},{\"price\":0.1065,\"volume\":43.0,\"exchange\":\"DER\",\"side\":\"ASKS\"}],\"isMasterFrame\":false}"
]
Run Code Online (Sandbox Code Playgroud)
我想检查一下isMasterFrame
let payload = JSON.parse(messageString[1]);
if (payload.hasOwnProperty("isMasterFrame")) {
for (let i = 0; i < payload.pairs.length; i++) {
let currentPair = payload.data[i]
currentPair = currentPair.replace(/\0/g, ''); //Remove null chars
if (currentPair.toUpperCase() != 'KILL') {
props.onAddAvailablePair(currentPair);
}
}
} else {
// print some output with payload which holds "isMasterFrame":false
}
Run Code Online (Sandbox Code Playgroud)
当我运行代码时出现错误:
TypeError: Cannot read properties of undefined (reading 'length')
Run Code Online (Sandbox Code Playgroud)
来自一对内部对的数据:{\"price\":0.423,\"volume\":0.0,\"exchange\":\"DER\",\"side\":\"ASKS\"}
应该被拆分并一一插入到循环中 …