有没有办法在不使用scriptlet的情况下在JSP中使用Enum值.
例如
package com.example;
public enum Direction {
ASC,
DESC
}
Run Code Online (Sandbox Code Playgroud)
所以在JSP中我想做这样的事情
<c:if test="${foo.direction ==<% com.example.Direction.ASC %>}">...
Run Code Online (Sandbox Code Playgroud) boolean a = false, b = true;
if ( a && b ) { ... };
Run Code Online (Sandbox Code Playgroud)
在大多数语言中,b不会被评估,因为它a是假的,所以a && b不可能是真的.我的问题是,在架构方面,短路会不会更慢?在管道中,您是否只是在等待获得a的结果时停止以确定是否应该评估b?改为使用嵌套ifs会更好吗?这甚至有帮助吗?
此外,有谁知道通常所谓的短路评估?这个问题出现之后我发现我的编程朋友从未听说过短路评估,并表示它不常见,也没有在许多语言中找到,并且管道效率低下.我不确定最后一个,所以问你们大家好!
好吧,我想一个不同的例子或许可以解释我的朋友可能来自哪里.他认为,自从评估如下的声明:
(a) if ( ( a != null ) && ( a.equals(b) ) ) { ... }
Run Code Online (Sandbox Code Playgroud)
会崩溃系统,一个没有短路的架构(从而不允许像上面这样的语句)在处理这样的语句时会更快:
(b) if ( ( a == 4 ) && ( b == 5 ) )
Run Code Online (Sandbox Code Playgroud)
因为如果它不能并行地做(a),它就不能并行地做(b).在这种情况下,允许短路的语言比没有短路的语言慢.
我不知道这是不是真的.
谢谢
我想将Pylons与Elixir一起使用,但是,我不确定这样做的最佳方法是什么.有几个博客文章(cleverdevil,beachcoder,adam hoscilo),甚至还有一个关于如何做到这一点的全新框架 ; 但是,我不确定它们之间的区别.哪一个最好用?我是否会遇到使用其中一个的问题?
我宁愿不要直接使用SQLAlchemy,因为它的冗长和重复性.
我们的web应用程序有通常的web.xml,其中包含一些jsp和jsp标记文件.我想切换到使用预编译的jsp.我在build ok中进行了预编译,它生成了web.xml片段,现在我想将片段合并到主web.xml中.
是否有web.xml的include类型指令可以让我包含片段.
理想情况下,我会保留DEV的内容,因为它有助于动态更改jsp并立即查看更改,但是对于UAT/PROD,jsp将被预编译,从而更快地工作.
我有两张桌子:
TableA: (a temporary table)
ItemId (int)
TableB:
ItemId (int), ParentID (int)
Run Code Online (Sandbox Code Playgroud)
我想检索表 A 中的所有项目,其中表 A 中任何项目的 ParentID 都不作为 ItemID 存在。(即我想获取TableA中项目的根)
这个查询做了我想要的:
SELECT a.ItemID
FROM TableA a
INNER JOIN TableB b ON a.ItemId = b.ItemID
WHERE b.ParentID NOT IN ( SELECT * from TableA )
Run Code Online (Sandbox Code Playgroud)
就像这个一样:
SELECT b.ItemID
FROM TableB b
WHERE b.ItemID IN ( SELECT * FROM TableA)
AND b.ParentID NOT IN ( SELECT * FROM TableA )
Run Code Online (Sandbox Code Playgroud)
我对这两个查询都不满意,特别是因为使用了 NOT IN/IN。有没有办法在没有他们的情况下做到这一点?也许是一种不需要子查询的更干净的方法?
样本数据:
Table A
-------
2
3
5
6 …Run Code Online (Sandbox Code Playgroud) 我的蓝牙扫描远程设备发现代码出现问题.如果我取消注释"system.out.print(devicesDiscovered),它会扫描并打印MAC地址;
但我希望能够从Vector中提取每个MAC地址并将其放在String中.
我有两个不同的FOR循环来执行此操作,但它们似乎都没有执行.
码:
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import javax.bluetooth.*;
public class BluetoothDeviceDiscovery {
public static final Vector/*<RemoteDevice>*/ devicesDiscovered = new Vector();
public static void main() throws IOException, InterruptedException {
final Object inquiryCompletedEvent = new Object();
devicesDiscovered.clear();
final DiscoveryListener listener = new DiscoveryListener() {
public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) {
devicesDiscovered.addElement(btDevice);
//
String testingAgain = devicesDiscovered.toString();
System.out.println("What?? : " + testingAgain);
/*
* As far as i know, the following two FOR loops do the same thing …Run Code Online (Sandbox Code Playgroud)