小编Ada*_*ume的帖子

如何正确地将HTTP消息发送到客户端

我正在使用Java的RESTful Web服务.如果出现问题,我需要一种向客户端发送错误消息的好方法.

根据Javadoc,由于消息参数含义模糊,HttpServletResponse.setStatus(int status, String message)因此不推荐使用.

是否有一种首选方式来设置响应的状态消息或" 原因短语 "?该sendError(int, String)方法没有这样做.

编辑:为了澄清,我想修改HTTP状态行,即"HTTP/1.1 404 Not Found"不是正文内容.具体来说,我想发送回复"HTTP/1.1 400 Missing customerNumber parameter".

java servlets http status java-ee

40
推荐指数
3
解决办法
6万
查看次数

需要一个使用GHC解析和检查Haskell的教程

我正在开发一个分析Haskell代码的项目.我决定使用GHC来解析源代码并推断类型而不是编写我自己的代码来做到这一点.现在,我正在通过Haddock文档,但它进展缓慢.有谁知道一个很好的教程?

编辑:澄清一下,我不是在寻找像hlint这样的东西.我正在编写自己的工具来分析Haskell代码的运行时特性,所以就像我正在编写一个不同的hlint.我正在寻找的基本上是维基页面GHC作为一个库的扩展.

haskell ghc ghc-api

25
推荐指数
2
解决办法
1693
查看次数

适用于Java的最佳OpenID库

我希望用户能够使用OpenID登录我的网站,但我不知道要使用哪个库.我知道哪些是那里,但我想知道哪一个是最好的.我正在运行JOnAS,但没有Web框架(没有Spring,Struts,GWT等).(请不要因为没有使用Web框架而惩罚我.我有我的理由.)为了它的价值,我的网站被分成多个WAR,我希望在那种情况下运行良好的东西,但那不是一个很重要.

有没有人有不同的图书馆经验?您可以分享的任何经验或智慧?

java openid java-ee

14
推荐指数
1
解决办法
5509
查看次数

Objective C MAX宏bug

我在Objective C中看到MAX宏的奇怪行为.具体来说,我在我的main函数中有这个代码:

NSArray* array = [NSArray array];
NSLog(@"[array count] - 1 = %d", [array count] - 1);
NSLog(@"MAX(0, [array count] - 1) = %d", MAX(0, [array count] - 1));
NSLog(@"MAX(0, -1) = %d", MAX(0, -1));
Run Code Online (Sandbox Code Playgroud)

输出是:

[array count] - 1 = -1
MAX(0, [array count] - 1) = -1
MAX(0, -1) = 0
Run Code Online (Sandbox Code Playgroud)

我用-save-temps保存了预处理器输出,它看起来像这样:

NSArray* array = [NSArray array];
NSLog(@"[array count] - 1 = %d", [array count] - 1);
NSLog(@"MAX(0, [array count] - 1) = %d", ((0) > ([array count] …
Run Code Online (Sandbox Code Playgroud)

macros objective-c

9
推荐指数
1
解决办法
4787
查看次数

我应该如何显示ICellEditorValidator检测到的验证错误?

我有一个带有ICellModifier的TableViewer似乎工作正常.我在其中一个单元格编辑器上设置了一个ICellEditorValidator,但是我无法按照我想要的方式运行它.这是我的缩写代码:

cellEditors[1] = new TextCellEditor(table);
cellEditors[1].setValidator(new ICellEditorValidator() {
    public String isValid(Object value) {
        try {
            Integer.parseInt((String) value);
            return null;
        } catch(NumberFormatException e) {
            return "Not a valid integer";
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

它大部分工作正常.但是,有两个问题:

  1. modify如果验证器返回错误,则单元格修饰符的方法接收null作为新值.我可以编写代码来处理这个问题,但这似乎不对.Null可以是有效值,例如,如果用户选择背景颜色并且他们选择透明.(这是一个普遍问题,不是特定于此示例.)
  2. 验证程序的错误消息永远不会显示给用户.这是一个大问题.applyEditorValue如果最后一个值无效,我还可以添加一个ICellEditorListener并显示该方法的对话框 .这是"正确"的方式吗?

顺便说一下,由于我无法控制的原因,我只限于Eclipse 3.0框架.

java eclipse validation jface

8
推荐指数
2
解决办法
3856
查看次数

GHC包冲突

我正在尝试使用GHC编译以下代码:

module Test where

import Maybe
import Prelude hiding (null)
import System.IO

null = ()

main :: IO ()
main = putStrLn "Hello, world!"
Run Code Online (Sandbox Code Playgroud)

如果我跑ghc Test.hs,我得到:

Could not find module `Maybe'
It is a member of the hidden package `haskell98-2.0.0.1'.
Run Code Online (Sandbox Code Playgroud)

所以我尝试ghc -package haskell98 Test.hs:

Ambiguous module name `Prelude':
  it was found in multiple packages: base haskell98-2.0.0.1
Run Code Online (Sandbox Code Playgroud)

这似乎不对,但我尝试ghc -package haskell98 -hide-package base Test.hs:

Could not find module `System.IO'
It is a member of the hidden …
Run Code Online (Sandbox Code Playgroud)

haskell compiler-errors package ghc

7
推荐指数
2
解决办法
3614
查看次数

侦听组件层次结构的关键事件

我有一个Swing应用程序,需要根据是否按下控制键或alt键来显示不同的控件组.我在主组件中添加了一个KeyListener,但只有在选择了该组件时才会通知它,而不是在选择了子组件时.有没有办法听取组件和所有后代的事件?

编辑:

我尝试使用主要组件的InputMap,但按下修饰键时不会触发任何事件.具体来说,我有以下代码:

InputMap inputMap = panel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
inputMap.put(KeyStroke.getKeyStroke("pressed CONTROL"), "test1");
inputMap.put(KeyStroke.getKeyStroke("released CONTROL"), "test2");
ActionMap actionMap = panel.getActionMap();
actionMap.put("test1", new AbstractAction() {
    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("pressed");
    }
});
actionMap.put("test2", new AbstractAction() {
    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("released");
    }
});
Run Code Online (Sandbox Code Playgroud)

按下并释放控制键时,将打印"已释放"但未"按下".没有其他任何东西在任何InputMap中注册任何东西,所以它不像其他东西被注册为相同的键击.

java events swing keylistener

6
推荐指数
1
解决办法
4259
查看次数

如何使用Java DOM克隆整个文档?

我正在寻找一种可靠的,与实现无关的克隆整个文档的方法.Javadocs特别指出,在Document上调用cloneNode是特定于实现的.我已经尝试通过无操作的Transformer传递Document,但生成的Node没有所有者Document.

我可以创建一个新文档并从旧文档导入节点,但我担心可能会丢失一些文档元数据.将Document写入字符串并将其解析回来也是如此.

有任何想法吗?

顺便说一句,由于我无法控制的原因,我陷入了Java 1.4.2.

java xml dom

5
推荐指数
2
解决办法
9392
查看次数

从Java运行Ant时设置JAVA_HOME

原因很漫长而且很无聊,但是我需要运行一个Ant脚本来从Java 1.4应用程序编译Java 1.5代码.我不断收到此错误:

BUILD FAILED

build.xml:16: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\j2sdk1.4.2_16\jre"
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我有:

Project p = new Project();
p.setUserProperty("ant.file", buildFile.getAbsolutePath());
p.setProperty("java.home", "C:\Program Files\Java\jdk1.6.0_04");
p.fireBuildStarted();
p.init();
// so on and so forth
Run Code Online (Sandbox Code Playgroud)

但它忽略了它.我也尝试过p.setUserProperty(String,String),但这也不起作用.有没有办法在不启动单独流程的情况下完成?

java ant javac

5
推荐指数
1
解决办法
1万
查看次数

UIToolbar中的UISearchBar不会显示取消按钮

我在UIToolbar中嵌套了一个UISearchBar作为UIBarButtonItem.基本功能有效,但取消按钮和范围栏拒绝显示.我已经尝试在界面构建器中启用它们,我也尝试过手动调用[searchBar setShowsCancelButton:YES],但这两种方法都不起作用.有任何想法吗?

这是在iPad上.我在iOS 3中尝试过,它在4.2中也不起作用.

uitoolbar uisearchbar ipad ios

5
推荐指数
2
解决办法
3990
查看次数

Rebar:"释放mynode使用不存在的应用程序mynode"

我一直在尝试使用Rebar设置一个简单的Erlang应用程序但无法使其工作.我按照http://skeptomai.com/?p=56上的说明操作了这封信,当我跑步时./rebar -v generate,我收到此错误:

==> Entering directory `/home/adam/erlang-test3/testing-rebar/apps/myapp'
WARN:  'generate' command does not apply to directory /home/adam/erlang-test3/testing-rebar/apps/myapp
==> Leaving directory `/home/adam/erlang-test3/testing-rebar/apps/myapp'
==> Entering directory `/home/adam/erlang-test3/testing-rebar/rel'
==> rel (generate)
{"init terminating in do_boot","Release mynode uses non existing application mynode"}

Crash dump was written to: erl_crash.dump
init terminating in do_boot (Release mynode uses non existing application mynode)
Run Code Online (Sandbox Code Playgroud)

关注https://bitbucket.org/basho/rebar/wiki/ReleaseHandling时出现类似错误.当关注http://www.metabrew.com/article/erlang-rebar-tutorial-generating-releases-upgrades时,我得到:

{"init terminating in do_boot",{undef,[{dummy_proj,start,[]},{init,start_it,1},{init,start_em,1}]}}
Run Code Online (Sandbox Code Playgroud)

我如何让螺纹钢起作用?我的Erlang版本是Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

erlang rebar

4
推荐指数
1
解决办法
2255
查看次数

期间通配符无法在Bash模式替换中工作

鉴于此Bash代码:

TEMP="1_2"
echo ${TEMP/_.*/}
Run Code Online (Sandbox Code Playgroud)

为什么打印出来1_2而不是1

我也试过这些,但它们不起作用:

echo ${TEMP/_\.*/}
echo ${TEMP/_\\.*/}
Run Code Online (Sandbox Code Playgroud)

这确实有效:

echo ${TEMP/_[0-9]*/}
Run Code Online (Sandbox Code Playgroud)

但我想知道:

  1. 为什么这个时期不是通配符呢?
  2. 我应该用什么呢?

regex bash

2
推荐指数
1
解决办法
241
查看次数

XCode预编译pch两次; 第二次用错误的语言

我在XCode中有一个Objective C项目.构建时,XCode会对我的前缀PCH文件进行两次预编译.第一次,它使用参数-x objective-c-header,它工作正常.第二次,它使用-x c-header,并且失败(由于包含Objective C代码的文件).

我有另一个设置相同的项目,但它构建良好.(PCH仅预编译一次,目标C.)我并排比较了两个项目的构建设置,没有任何相关的不同.我并排比较了目标的构建设置,并且没有相关的差异.

我试着清理所有目标并重建,但没有运气.我试过重启XCode,但没有运气.我为我的项目文件夹c-header插入了grepped ,但它只出现在构建日志中.

可能是什么导致了这个?

xcode objective-c pch

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