小编Alp*_*nae的帖子

使用JSTL或EL创建数组

我正在使用Java及其框架(Spring 3.1.1)开发Web应用程序.我试图避免尽可能多地使用scriptlet,但是我找不到除此之外的方法来定义数组:

<%
    String[] alphabet = {"A", "B", "C", ... , "Z"};
    pageContext.setAttribute("alphabet", alphabet);      
%> 
Run Code Online (Sandbox Code Playgroud)

设置pageContext属性后,我可以使用它${alphabet}.但我想知道,是否可以使用普通的JSTL/EL来创建数组?

更新:我正在使用此数组来创建链接.例如,如果用户单击"S",则会出现名字以"S"开头的员工列表.因此,我不是逐个创建链接而是迭代${alphabet}.

arrays jsp jstl el scriptlet

22
推荐指数
3
解决办法
9万
查看次数

如何在不连接BLE设备的情况下连续获取RSSI?

我的应用程序需要不断获得蓝牙设备的RSSI值,以进行一些距离-rssi近似,而无需连接.但是,BluetoothAdapter当设备扫描时,只有一次获取RSSI的回调方法.

// Device scan callback
private BluetoothAdapter.LeScanCallback leScanCallback = new BluetoothAdapter.LeScanCallback() {
    @Override
    public void onLeScan(final BluetoothDevice device, final int rssi, byte[] scanRecord) {
        runOnUiThread(new Runnable() {
            public void run() {
                ...
            }
        });     
    }   
};
Run Code Online (Sandbox Code Playgroud)

作为解决方案,我创建了两个Runnable对象.一个用于启动,另一个用于停止扫描过程.这两个对象连续相互调用,直到得到我想要的RSSI值.之后我Handler将它们从消息队列中删除.

private Runnable startScan = new Runnable() {       
    @Override
    public void run() {
        bluetoothAdapter.startLeScan(leScanCallback);
        scanHandler.postDelayed(stopScan, SCAN_INTERVAL);
    }               
};

private Runnable stopScan = new Runnable() {        
    @Override
    public void run() {         
        bluetoothAdapter.stopLeScan(leScanCallback);                                            
        scanHandler.postDelayed(startScan, STOP_INTERVAL);          
    }
};
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但我想知道是否有更多可行的选择,无需连接即可.

android bluetooth rssi bluetooth-lowenergy

8
推荐指数
1
解决办法
7799
查看次数

标签 统计

android ×1

arrays ×1

bluetooth ×1

bluetooth-lowenergy ×1

el ×1

jsp ×1

jstl ×1

rssi ×1

scriptlet ×1