我正在写一个内部工具webapp; 该工具的一个中心页面有一大堆相关命令,用户可以通过单击页面上的多个按钮之一来执行这些命令,如下所示:
工具栏http://img709.imageshack.us/img709/1928/commands.png
理想情况下,所有按钮都适合一行.通常我会通过将每个小部件从带有(有时长)文本标签的按钮更改为简单紧凑的图标来实现此目的 - 例如
标有"保存"的按钮http://img337.imageshack.us/img337/773/saver.png
可以用熟悉的磁盘图标替换:
磁盘图标http://p.yusukekamiyamane.com/icons/search/fugue/icons-24/disk-black.png
不幸的是,我不认为我可以为这个特定页面上的每个按钮执行此操作.某些命令按钮没有良好的视觉模拟 - "VDS列表".或者,如果我需要在将来为其他类型的列表添加另一个按钮,我需要两个图标来传达"list-ness"和哪个列表.所以,我还在考虑这个选项,但我不喜欢它.
所以现在是时候为我添加另一个按钮了(你不喜欢内部工具吗?).该单行上没有足够的空间来容纳新按钮.除了我已经提到的图标解决方案之外,什么是简化/整理/减少或改进此UI的好方法?
*根据Jakob Nielsen的文章,我想认为下拉菜单不是解决方案.
编辑:我不是在寻找关于图标理念的输入.我正在寻找其他解决方案.对不起,我的示例磁盘图标很小; 这只是一个例子.我现在正在展示一个更大的一个,希望更清楚.
使用Bootstrap的typeahead javascript插件,我试图通过jQuery的$ .post方法更改数据源属性.最初,我有:
<input type="text" data-provide="typeahead" data-source="["Option 1","Option 2","Option 3"]">
Run Code Online (Sandbox Code Playgroud)
然后,假设单击了一个按钮,它会尝试更新数据源:
$('button').on('click',function(){
$.post('update.php',function(resp){
$('input').attr('data-source',resp);
});
});
Run Code Online (Sandbox Code Playgroud)
resp XHR结果返回如下数组:
["One Option","Two Option","Three Option"]
Run Code Online (Sandbox Code Playgroud)
我发现这不能使用响应中构造的新数组可靠地更新数据源.
有谁知道是什么问题?
这似乎不会捕获所选值.有没有人知道如何使用带引导程序的typeahead获取所选值?
如果我有一个foo.js节点脚本,有没有办法让我自动安装所有的npm依赖项?
例如,如果foo.js有这个:
var program = require('commander');
var cheerio = require('cheerio');
Run Code Online (Sandbox Code Playgroud)
是否有任何npm命令或我能做的事情会读取foo.js并执行'npm install commander; npm install cheerio'?
我有一个Optional我想"转换"为一个OptionalInt,但似乎没有一个简单的方法来做到这一点.
这就是我想要做的(人为的例子):
public OptionalInt getInt() {
return Optional.ofNullable(someString).filter(s -> s.matches("\\d+")).mapToInt(Integer::parseInt);
}
Run Code Online (Sandbox Code Playgroud)
但是,没有mapToInt()办法Optional.
我能想到的最好的是:
return Optional.ofNullable(someString)
.filter(s -> s.matches("\\d+"))
.map(s -> OptionalInt.of(Integer.parseInt(s)))
.orElse(OptionalInt.empty());
Run Code Online (Sandbox Code Playgroud)
但这似乎不够优雅.
我是否遗漏了JDK中可以使转换更优雅的东西?
我通常运行双显示器设置,因此我为同一个工作区打开了两个Eclipse窗口,显示不同的文件.当我正在调试并且遇到断点时,Eclipse会切换到"Debug"透视图,但它也会显示断点在我的两个窗口中的文件/行.即使包含断点的文件在一个窗口中打开而在另一个窗口中没有打开(在断点被击中之前),也会发生这种情况.
这真的很烦人.
如何让Eclipse只在一个窗口中显示包含断点的文件?理想情况下,它会根据文件的打开位置选择哪个窗口.如果它还没有在某个地方打开,我真的不在乎它弹出的窗口.
我需要为现有的基于套接字的应用程序添加IPv6支持,该应用程序目前仅支持IPv4.为了迎接即将到来的IPv6时代,有人命令我为应用程序添加IPv6接口,让外界在尝试与应用程序通信时选择IPv4接口或IPv6接口.
我的问题是:对于Linux中的套接字处理API级别,处理基于IPv4的套接字和基于IPv6的套接字之间没有区别吗?
更进一步,是否可以让套接字侦听具有相同端口的两个IP地址?如果这是真的,那么实现这个要求是一项微不足道的工作,我想.
根据这里的问答,我想为在JBoss 5中运行的Web应用程序实现类似的自动版本系统.有什么东西可以用来做这种事情,还是我需要自己写一些东西?要明确:我没有使用PHP.
不太了解PHP,我不确定PHP的Tomcat/JBoss类似物.htaccess是什么.如果我必须编写自己的自动版本,我会从哪里开始?原理很清楚 - 使用文件的时间戳重写URL,但我不太了解使用JBoss/Tomcat进行URL重写.
1.自定义<my:script/>和<my:style/>标签,所以我不必在<c:url/>任何地方看到标签.
<%@ tag body-content="empty" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="src" required="true" rtexprvalue="true" %>
<script src="<c:url value="${src}" />"></script>
Run Code Online (Sandbox Code Playgroud)
2.相当紧随新手的步骤,但映射UrlRewriteFilter到/*在web.xml中:
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
3.向每个新会话(或多或少......)注入CACHE_BUST变量,应用程序部署 timestamp:
// On application deploy:
long CACHE_BUST = System.currentTimeMillis() / 1000;
// later...
session.setAttribute("cacheBust", CACHE_BUST);
Run Code Online (Sandbox Code Playgroud)
4. ...so that I can use these rules in urlrewrite.xml …
我想知道如何在IE8中制作圆形边框.我正在使用
-moz-border-radius:4px;
-webkit-border-radius:4px;
Run Code Online (Sandbox Code Playgroud)
对于mozilla和safari.