我创建了这个 Websocket 项目Spring Websocket,它工作得很好。我将在我的项目中介绍这个例子。我要求可以动态创建或删除/销毁(聊天)组。
在我的 WebsocketConfig- 类端点中,可以通过以下方式静态添加:
registry.addEndpoint("/hello").withSockJS(); (also see below)
Run Code Online (Sandbox Code Playgroud)
是否有可能动态添加端点?我的用例是我有属于一个或多个公司的公司和员工:
Run Code Online (Sandbox Code Playgroud)n m (m:n relation)
公司<-------->员工
并且可以动态创建公司(通过单击“创建”按钮)。然后可以将之前注册的员工添加到公司。所以这意味着如果创建了一个公司(并且最少有 2 名员工被添加到公司),那么应该添加一个端点。
我很高兴在这个方向上有任何有用的答案。非常感谢!
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
// Prefix for messages FROM server TO client
config.enableSimpleBroker("/topic");
// Prefix for messages FROM client TO server
config.setApplicationDestinationPrefixes("/app");
// /app wird beim client - sendName verwendet: stompClient.send("/app/hello", {}, JSON.stringify({ 'name': name
// }));
}
@Override
public void registerStompEndpoints(final StompEndpointRegistry registry) {
registry.addEndpoint("/hello").withSockJS();
} …
Run Code Online (Sandbox Code Playgroud) 有没有更好的方法来填充ArrayList
这样的(我在Java 7中这样做了):
List<ScheduleIntervalContainer> scheduleIntervalContainers = new ArrayList<>();
scheduleIntervalContainers.add(scheduleIntervalContainer);
Run Code Online (Sandbox Code Playgroud) 我已经将一个css文件包含在我的AngularJS应用程序中,就像我使用其他css文件一样.使用其他css文件它工作正常但使用management.css文件我在图片中得到了以下异常,我不知道为什么.有人暗示我做错了吗?非常感谢!
[编辑]
<script type="text/javascript" src="app/management/common/management.service.js"></script>
<script type="text/javascript" src="app/management/core/management.routes.js"></script>
<script type="text/javascript" src="app/management/management/management.controller.js"></script>
<script type="text/javascript" src="app/management/management/management.css"></script>
Run Code Online (Sandbox Code Playgroud)
.management .management-name {
font-weight: bold;
}
.management .management-username {
font-style: italic;
}
.management .management-email {
color: #ccc;
}
.management .managementSearchUser {
color: #a00;
}
.management .management-search-result {
font-size: 1.2em;
}
.management .management-found-user-edit {
cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud) 如果未找到任何内容,.findFirst()
则以下流管道不起作用,在这种情况下会引发 NPE。
我怎样才能防止这种情况?
scheduleDurationContainers.stream()
.filter(s -> s.getContainerType() == ScheduleIntervalContainerTypeEnum.BONUS).findFirst().get()
Run Code Online (Sandbox Code Playgroud) 我有这个 html,但我不知道如何删除下划线:
<span>
<span editable-text="entry.startTime" data-e-style="width:45px; height:28px; padding:0;">{{entry.startTime}}</span> -
<span editable-text="entry.endTime" data-e-style="width:45px; height:28px; padding:0;">{{entry.endTime}}</span>
</span>
Run Code Online (Sandbox Code Playgroud)
这是它的样子,我将删除下划线:
[已解决] style="border: none;" 做到了
我编写了这个测试类,我想知道为什么代理对象确实具有与原始对象相同的hashCode.有谁知道为什么?
public class Main {
public static void main(String[] args) {
final Service realSubject = new Subject_A();
final Service proxySubject = ProxyGenerator.makeProxy(Service.class, realSubject);
final String hello = proxySubject.work("Hello");
System.out.println("hello = " + hello);
System.out.println("\n");
System.out.println("realSubject: " + realSubject);
System.out.println("proxySubject: " + proxySubject);
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个示例输出:
in Subject_A#work: str = Hello
hello = Hello_DONE
realSubject: at.me.proxy.Subject_A@4f4a7090
proxySubject: at.me.proxy.Subject_A@4f4a7090
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序和 Angular Material 对话框中使用了 Angular Material。关闭对话框后,应根据单击的按钮执行操作 A 或操作 B:
dialogRef.afterClosed().subscribe(() => {
// if close button was clicked do action A
// if other button was clicked do action B
})
Run Code Online (Sandbox Code Playgroud)
是否有可能检测在 afterClosed 方法中单击了哪个按钮?
我读过 AngularJS 使用 hashbang URL 作为默认值 - 但这不是一个优势,因此应该使用 HTML5 URL。为了在客户端配置此行为,必须完成以下操作:
...
$locationProvider.html5Mode(true);
...
Run Code Online (Sandbox Code Playgroud)
在服务器端还必须完成一些配置 - 据我了解应该配置 URL 请求,因此应该将包含 ng-app 的页面(起始页面 - 例如index.html)传递给客户端。不包括提供静态资源(CSS、图像、AngularJS 部分等)的 URL 和用于 CRUD 的 URL(例如 RESTful 服务 URL)。
我的问题不是如何在服务器端调整这种行为(例如,对于内部有嵌入式服务器的字符串启动)?
另一个问题是,您是否在 AngularJS 应用程序中区分静态资源(例如 .../static/..)和 CRUD URL(例如 .../database/...)?
多谢!
我的 onInit 方法中确实有一个可观察的联系人,我还将把可观察的第一个联系人设置到我的表单中。有人提示如何做到这一点吗?
ngOnInit() {
let contactsObservable: Observable<Contact[]> =
this.contactService.getAllContacts();
contactsObservable.subscribe(contacts => {
this.contacts = contacts;
});
this.form = this.fb.group({
// this.contacts[0] does not work
contact: [this.contacts[0], [Validators.required]] // how to get contact[0] into form for presetting
});
}
Run Code Online (Sandbox Code Playgroud) 在我的 Ubuntu 操作系统中,我设置了以下网络掩码:
...
inet addr:192.168.186.136 Bcast:192.168.186.255 Mask:255.255.255.0
...
Run Code Online (Sandbox Code Playgroud)
现在我将仅将掩码从 255.255.255.0 更改为 255.255.254.0 有命令可以执行此操作吗?我找不到一个。
angular ×2
angularjs ×2
css ×2
java ×2
java-8 ×2
java-stream ×2
lambda ×2
spring ×2
forms ×1
html ×1
javascript ×1
networking ×1
observable ×1
spring-boot ×1
ubuntu ×1
x-editable ×1