我有一个使用外部库的java程序.主程序用于log4j
记录其消息和库使用java.util.logging
.
我的问题是来自外部库和主程序的日志消息在控制台中混合.
我想将来自外部库的所有日志消息重定向到文件.我试着用logging.properties
文件做到这一点:
handlers= java.util.logging.FileHandler
.level= INFO
java.util.logging.FileHandler.pattern = foo.log
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
Run Code Online (Sandbox Code Playgroud)
该文件初始化为:
System.setProperty("java.util.logging.config.file", "logging.properties");
Run Code Online (Sandbox Code Playgroud)
不幸的是,来自外部库的日志消息不断出现在控制台中.我应该使用类似slf4j
拦截日志消息的东西java.util.logging
吗?
感谢您的时间.
我有一个传递字符串的Javascript函数.传递的字符串是整个网页,包括标题.我需要使用Javascript来替换整个当前页面,以及所有新内容.
考虑以下HTML文件:
<html>
<head>
<script language="Javascript">
<!--
var newContent='<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>';
function ReplaceContent(NC) {
document.body.innerHTML=NC;
}
function Hi() {
alert("Hello World");
ReplaceContent(newContent);
}
-->
</script>
</head>
<body onload="Hi();">
Original Content
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,传递的字符串是:
<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>
Run Code Online (Sandbox Code Playgroud)
但是,当然,由于"ReplaceContent"功能只是取代了身体而不是标题,我从来没有得到"再见世界"的警报.
忽略"我为什么要这样做",如何动态替换整个页面,包括标题和javascript函数?
请记住"source"html(上面的'newContent')仅作为字符串存在,它在任何地方的服务器上都不存在,所以我不能只重定向到它.
我对上面的"ReplaceContent"进行了哪些更改,以便在替换内容后出现"Goodbye World"警报? 请记住我无法事先知道newContent变量的值!!
请注意:涉及"你为什么要这样做"的答案将被低估.
为什么更高级别的语言(Javascript,PHP等)不提供链接列表,队列,二叉树等数据结构作为其标准库的一部分?是出于历史/实践/文化原因,还是有一些我缺失的基础知识.
你能否告诉我使用时是否有一些优势(减少空间,增加速度等):
resourcestring
MsgErrInvalidInputRange = 'Invalid Message Here!';
Run Code Online (Sandbox Code Playgroud)
代替
const
MsgErrInvalidInputRange : String = 'Invalid Message Here!';
Run Code Online (Sandbox Code Playgroud) 我正在尝试一些多人游戏的想法,我正在尝试创建一个Java应用程序来提供基于Web浏览器的多人游戏.
我的开发环境是主机上的Eclipse,以及笔记本电脑上的记事本+谷歌浏览器.
我在客户端使用javascript创建websocket,并在服务器端使用java.net.Socket.
我已经设法在两端确认连接,但似乎无法在客户端关闭连接的情况下发送或接收它们之间的任何数据(甚至没有错误;只是似乎吓坏了某事并调用套接字.关).
有没有人有任何想法?
这是一些代码:
客户:
<script type="text/javascript">
var socket;
function init() {
socket = new WebSocket("ws://192.168.0.3:10000");
socket.onopen = function() { alert('OPEN: ' + socket.readyState); }
socket.onmessage = function (msg) { alert('DATA: ' + msg.data); }
socket.onerror = function (msg) { alert('DATA: ' + msg.data); }
socket.onclose = function () { alert('CLOSED: ' + socket.readyState); }
}
function onClick() {
socket.send("YAY!");
}
</script>
Run Code Online (Sandbox Code Playgroud)
服务器:
public static void main(String args[])
{
System.out.printLn("Websocket server test");
ServerSocket connectSocket = null;
try
{ …
Run Code Online (Sandbox Code Playgroud) 我想知道,如果可能,如果元素已更改或其属性,如何检入javascript?
我的意思是像window.onhashchange
元素之类的东西:
document.getElementById("element").onElementChange = function();
Run Code Online (Sandbox Code Playgroud)
我知道onchange
是这样的,但是如果我想以这种方式知道它会起作用:
var element = {};
element.attribute = result;
element.attribute.onchange = function();
Run Code Online (Sandbox Code Playgroud) 在Jinja2中,我希望通过运行以下内容来实现它的运行:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('.'))
template = env.get_template('x.html')
print template.render()
Run Code Online (Sandbox Code Playgroud)
本质上,目标是<head>
通过使用{% call js() %} /* some js */ {% endcall %}
宏来将所有javascript合并到标签中.
<html>
<head>
<script type="text/javascript>
{% block head_js %}{% endblock %}
</script>
</head>
<body>
{% include "y.html" %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
{% macro js() -%}
// extend head_js
{%- block head_js -%}
{{ super() }}
try { {{ caller() }} } catch (e) {
my.log.error(e.name + ": " + e.message);
} …
Run Code Online (Sandbox Code Playgroud) 我想以编程方式将控制台应用程序的整个输出复制到剪贴板中(这样用户可以自动获取它而无需修改cmd窗口).
我知道如何访问剪贴板.我不知道如何从C#获取控制台窗口文本.
C#3.5/4
我正在jQuery中生成带有选项元素的选择列表.简化它看起来像这样:
var sel = $("<select>");
$.each(data, function(i, v){
$("<option>").attr({ "value": i }).html(v).appendTo(sel);
});
Run Code Online (Sandbox Code Playgroud)
然后我想要一个选项.通常我会做类似的事情:
$(sel).val(1);
Run Code Online (Sandbox Code Playgroud)
但是该选项没有选定的属性.
$(sel).html()
给出类似的东西:
<option value="1">1</option>
<option value="2">2</option>
Run Code Online (Sandbox Code Playgroud)
这就是我的预期:
<option value="1" selected="selected">1</option>
<option value="2">2</option>
Run Code Online (Sandbox Code Playgroud)
我尝试了这种方法(与使用.val()相同的结果):
$.each(data, function(i, v){
var attrs = { "value": i };
if(i == 1){
attrs.selected = "selected";
}
$("<option>").attr(attrs).html(v).appendTo(sel);
});
Run Code Online (Sandbox Code Playgroud)
但我找到工作的唯一方法是:
$.each(data, function(i, v){
var el = "<option>";
if(i == 1){
el = '<option selected="selected"></option>';
}
$(el).attr({ "value": i }).html(v).appendTo(sel);
});
Run Code Online (Sandbox Code Playgroud)
还有其他或更好的方法吗?
这一直困扰着我多年,但我一直忽视它,就像我怀疑其他人一样.
AM_INIT_AUTOMAKE([dist-bzip2])
AC_PROG_CC
AC_PROG_LIBTOOL
AC_C_INLINE
AM_PROG_CC_C_O
Run Code Online (Sandbox Code Playgroud)
有了上面的configure.ac文件,configure会去找我一个C编译器,但接下来继续:
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for …
Run Code Online (Sandbox Code Playgroud)