我有以下内容:
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine jsEngine = mgr.getEngineByName("JavaScript");
jsEngine.eval("function getArray() {return [1,2,3,4,5];};");
Object result = jsEngine.eval("getArray();");
Run Code Online (Sandbox Code Playgroud)
如何将sun.org.mozilla.javascript.internal.NativeArray类型的结果对象转换为相应的java数组?可以告诉我一个工作代码示例吗?它应该适用于String和Integer数组.另外,知道在哪里查找rhino引擎和java之间的其他数据类型转换会很棒.
顺便说一句,我知道这个页面,但我真的在寻找一个有效的代码示例.
我刚刚开始使用Server Events,我遇到了一个我想了解的chrome错误消息.我快速搜索网络但没有找到解释所以我想我可能会做一些非常错误的事情.
在服务器端,我有一个简单的servlet接受请求并创建一个虚拟事件创建者任务:
private Executor executor = Executors.newSingleThreadExecutor();
public void doGet(final HttpServletRequest request, final HttpServletResponse response)
{
final AsyncContext asynCtx = request.startAsync(request, response);
response.setHeader("Cache-Control", "no-cache");
response.setContentType("text/event-stream");
response.setCharacterEncoding("utf-8");
executor.execute(() -> {
boolean run = true;
try
{
while (run)
{
final ServletResponse resp = asynCtx.getResponse();
run = resp != null;
if (resp != null)
{
System.out.println("pushing a server event.");
final PrintWriter writer = asynCtx.getResponse().getWriter();
writer.println("data: {time: " + System.currentTimeMillis() + "}\n");
writer.flush();
}
else
{
System.out.println("stopping beeper, no response object available …Run Code Online (Sandbox Code Playgroud) 我有一个SQL查询:
select id, name from table order by name
Run Code Online (Sandbox Code Playgroud)
结果如下:
52 arnold
33 berta
34 chris
47 doris
52 emil
Run Code Online (Sandbox Code Playgroud)
对于给定的id = 47,我如何确定结果集中的位置?结果应该是4因为:
52 arnold
33 berta
34 chris
Run Code Online (Sandbox Code Playgroud)
在(47,doris)之前,id = 41在结果集中的第4个位置.
如何在SQL中执行此操作?怎么用HQL?在一个分页示例中,我是否必须执行2个语句,或者是否有一个解决方案,我可以准确检索包含id = 47的行的窗口?
postgreSQL和java
我喜欢衡量用户在我的webapp的特定页面上花费的时间.首先,我考虑在浏览器中捕获onunload/onbeforeunload事件,并通过XMLHttpRequest通知服务器用户现在要离开:
<body onunload="userLeaves('/url/to/current/page',xxx);" ...> ... </body>
Run Code Online (Sandbox Code Playgroud)
其中xxx是呈现页面时的初始tiemstamp.
不幸的是,这个解决方案并不适用于所有浏览器(例如Opera).所以我的第二个想法是不断ping服务器.要计算访问时间,有人必须花费最后一次ping时间并从初始时间戳中减去它.但我不认为这是一个很好的解决方案,尤其是当用户打开3或5个标签并且每个标签每500毫秒触发事件时...
你会如何衡量访问时间?有人有更好的想法来获得在一个特定页面上花费的时间吗?
如果我有一个Web应用程序,我收到通过HTTPS浏览器通过POST请求传输的信用卡数据,并立即打开套接字(SSL)到远程PCI编辑卡处理器转发数据并等待响应,我是允许这样做?或者这是否与我的应用程序接收数据并转发它已经处理"处理信用卡数据"?
如果我创建一个在客户端浏览器中显示的iframe来输入cc数据,并且这个iframe通过HTTPS将数据发布到远程卡处理器(直接!)这已经是处理信用卡数据的情况了吗?即使我的应用程序代码"没有触及"任何事件处理程序输入的数据?
我对"信用卡数据处理"的定义感兴趣.什么时候开始成为cc数据处理应用程序?有人可能会指出我在PCI-DSS标准中明确定义何时开始"成为处理应用程序"的那一部分?
谢谢,
我有一个Lucene索引,其中每个文档都有几个包含数值的字段.现在我想在这个字段的加权和上对搜索结果进行排序.例如:
field1=100
field2=002
field3=014
Run Code Online (Sandbox Code Playgroud)
加权函数看起来像:
f(d) = field1 * 0.5 + field2 * 1.4 + field3 * 1.8
Run Code Online (Sandbox Code Playgroud)
结果应按表示文档的f(d)位置排序d.排序功能应该是非静态的,并且可能因搜索到搜索而不同,因为常量因素受执行搜索的用户的影响.
有谁知道如何解决这个问题,或者想知道如何以另一种方式实现这一目标?
我正在解析(很多)包含实体引用的XML文件,我事先并不知道(不能改变这个事实).
例如:
xml = "<tag>I'm content with &funny; &entity; &references;.</tag>"
Run Code Online (Sandbox Code Playgroud)
当我尝试使用以下代码解析它:
final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
final DocumentBuilder db = dbf.newDocumentBuilder();
final InputSource is = new InputSource(new StringReader(xml));
final Document d = db.parse(is);
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
org.xml.sax.SAXParseException: The entity "funny" was referenced, but not declared.
Run Code Online (Sandbox Code Playgroud)
但是,我想要实现的是,解析器用空字符串''替换未声明的每个实体(解析器未知).或者甚至更好,有没有办法将地图传递给解析器,如:
Map<String,String> entityMapping = ...
entityMapping.put("funny","very");
entityMapping.put("entity","important");
entityMapping.put("references","stuff");
Run Code Online (Sandbox Code Playgroud)
这样我就可以做到以下几点:
final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
final DocumentBuilder db = dbf.newDocumentBuilder();
final InputSource is = new InputSource(new StringReader(xml));
db.setEntityResolver(entityMapping);
final Document d = db.parse(is);
Run Code Online (Sandbox Code Playgroud)
如果我使用这个示例代码从文档中获取文本,我应该收到:
I'm content with very …Run Code Online (Sandbox Code Playgroud) 对于一个映射,其中键表示一个序列的数量,并且值是计数这个数字在序列中出现的频率,java中的算法实现如何计算中值?
例如:
1,1,2,2,2,2,3,3,3,4,5,6,6,6,7,7
Run Code Online (Sandbox Code Playgroud)
在地图中:
Map<Int,Int> map = ...
map.put(1,2)
map.put(2,4)
map.put(3,3)
map.put(4,1)
map.put(5,1)
map.put(6,3)
map.put(7,2)
double median = calculateMedian(map);
print(median);
Run Code Online (Sandbox Code Playgroud)
会导致:
> print(median);
3
>
Run Code Online (Sandbox Code Playgroud)
所以我要找的是一个java实现calculateMedian.
将java String与给定字符序列交错的最佳方法是什么?交错间隔应该是可变的.
例:
String s = " .... 0000000000000 ..."; // length random
String b = interleave(s, 3, "-");
Run Code Online (Sandbox Code Playgroud)
结果:
... 000-000-000-000-000 ...
Run Code Online (Sandbox Code Playgroud)
另一个例子:
String s = " .... we all we all we all ...";
String b = interleave(s, 7, "rock ");
Run Code Online (Sandbox Code Playgroud)
结果:
... we all rock we all rock we all rock ...
Run Code Online (Sandbox Code Playgroud)
如果字符串长度不是交错距离的倍数,则该函数也应该起作用.有什么建议?是否(再次)采用"公地"的方式来做到这一点?
在CSS中我们可以定义:
margin-top: 10px;
margin-right: 1px;
margin-bottom: 1px;
margin-left: 1px;
Run Code Online (Sandbox Code Playgroud)
或者只是简短:
margin: 10 1 1 1;
Run Code Online (Sandbox Code Playgroud)
我们也可以定义:
border-left -right -bottom -top ...
Run Code Online (Sandbox Code Playgroud)
或短:
border:1px solid black;
Run Code Online (Sandbox Code Playgroud)
用于定义我们需要的元素的尺寸:
width: 150px;
height: 200px;
Run Code Online (Sandbox Code Playgroud)
为什么不是这样的:
dimension: 150px 200px;
Run Code Online (Sandbox Code Playgroud)
或类似的东西存在,我只是不知道它?
(我问的原因是:我总是错误地输入'dth' - >'dht'和'ght' - >'gth'并想责怪别人)