小编Vee*_*era的帖子

如何使用BeanUtils内省获取Java对象的所有属性列表?

我有一个获取POJO作为参数的方法.现在我想以编程方式获取POJO的所有属性(因为我的代码可能不知道运行时它的所有属性是什么),并且还需要获取属性的值.最后,我将形成POJO的字符串表示.

我可以使用ToStringBuilder,但我希望以特定于我的要求的特定格式构建输出字符串.

是否有可能在Beanutils中这样做?如果是,任何指向方法名称的指针?如果不是,我应该编写自己的反射代码吗?

java reflection introspection apache-commons-beanutils

13
推荐指数
2
解决办法
4万
查看次数

在Java中处理几个异常

请考虑以下Java代码:

try{

    // do something
    // this piece of code throws several checked exceptions.

} catch (IllegalArgumentException e) {
    handleException(e);
} catch (IllegalAccessException e) {
    handleException(e);
} catch (InvocationTargetException e) {
    handleException(e);
} catch (InstantiationException e) {
    handleException(e);
} catch (NoSuchMethodException e) {
    handleException(e);
} catch (IOException e) {
    handleException(e);
} catch (NoSuchFieldException e) {
    handleException(e);
}
Run Code Online (Sandbox Code Playgroud)

try块中的代码会抛出几个已检查的异常.我想要做的就是在发生异常时记录消息(带有一些自定义消息字符串).即我的异常处理逻辑对于所有异常都是相同的.

我觉得上面的代码看起来不太好(更多LOC和可读性降低).

有没有更好的办法处理此类案件?

以下解决方案不是最佳实践,因此不推荐(通过检查样式).

try{
    // do something very bad
} catch (Exception e) {
    handleException(e);
} 
Run Code Online (Sandbox Code Playgroud)

java exception-handling exception

12
推荐指数
2
解决办法
1143
查看次数

将JAR文件(库)签入到版本控制工具中 - 这是一个好习惯吗?

我正在用Java开发一个Web应用程序,我在我的lib文件夹中使用了几个第三方JAR文件.我也有Subversion作为我的版本控制工具.

我的问题是,在检查我的项目文件时,我是否应该检入JAR文件,还是不需要对JAR文件进行版本控制,因为我还没有修改它们?

java svn version-control

11
推荐指数
2
解决办法
3804
查看次数

Backbone.js - 在元素上触发单击和双击事件

在我的Backbone View中,我定义了这样的事件:

events : {
  'click .elm' : 'select',
  'dblclick .elm' : 'toggle'

},

select: function(e){
    e.preventDefault();
    console.log('single clicked');
}

toggle : function(e){
    e.preventDefault();
    console.log('double clicked');
}
Run Code Online (Sandbox Code Playgroud)

我已将单击和双击事件侦听器绑定到同一元素.elm.当我双击这个元素时,我得到这个输出:

single clicked single clicked double clicked

尝试preventDefault()stopImmediatePropagation()并没有解决不了的问题.

那么,当我双击时,如何防止单击事件被触发?

javascript javascript-events backbone.js

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

Ubuntu中的Java开发

我是Linux系统的新手,最近我开始使用Ubuntu 10.04.当我在Windows中进行Java开发时,我通常会将项目文件保存在某个驱动器下(例如D:)并保存在我的开发文件夹下,例如D:\ projects\myproj.但我对Ubuntu的文件夹结构感到困惑.所以,我只是想知道你如何在Ubuntu中组织你的项目?我们在哪个文件夹下保存我们的项目文件?

java linux ubuntu

9
推荐指数
2
解决办法
2619
查看次数

JDAK 1.6中的@override注释

我正在使用JDK1.6.当我实现一个接口并在实现类中,如果我@override在我的函数名之前给出,Eclipse会抛出一个编译错误.即根据Eclipse,下面的代码是错误的.

public class SomeListener implements ServletContextListener {
    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
       // code
    }
    /* other overridden methods here */
}
Run Code Online (Sandbox Code Playgroud)

如果我删除@Override注释,那么代码编译正常.这是否意味着JDK1.6不再要求我们为@override注释添加前缀?

java eclipse annotations jdk1.6

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

在Android模拟器中更改区域设置

我刚开始学习Android开发.我在视图中包含了一个EditText组件,并在Eclipse中启动了模拟器.

当我输入文本框时,自动建议会以中文显示,但我想将其更改为英文.

如何更改此区域设置和Android模拟器?

我正在使用Android 2.1进行开发.

java android locale android-emulator

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

如何在Play中将同步控制器重写为异步?

我正在使用Play framework 2.2作为我即将推出的Web应用程序之一.我已经以同步模式实现了我的控制器,有几个阻塞调用(主要是数据库).

例如,

同步版本:

public static Result index(){
  User user = db.getUser(email); // blocking
  User anotherUser = db.getUser(emailTwo); // blocking
  ...
  user.sendEmail(); // call to a webservice, blocking.
  return ok();
}
Run Code Online (Sandbox Code Playgroud)

因此,在优化代码的同时,决定利用Play的异步编程支持.通过文档,但这个想法对我来说仍然含糊不清,因为我对如何正确地将上述同步代码块转换为Async感到困惑.

所以,我提出了以下代码:

异步版本:

public static Promise<Result> index(){
  return Promise.promise(
    new Function0<Result>(){
      public Result apply(){
        User user = db.getUser(email); // blocking
        User anotherUser = db.getUser(emailTwo); // blocking
        ...
        user.sendEmail(); // call to a webservice, blocking.
        return ok();
      }
    }
  );
}
Run Code Online (Sandbox Code Playgroud)

所以,我只是将整个控制逻辑包装在一个promise块中.

  1. 我的方法是否正确?
  2. 我应该在控制器内部转换每个阻塞请求,如异步,还是在单个异步块内包含多个阻塞调用就足够了?

asynchronous playframework playframework-2.0

9
推荐指数
2
解决办法
3076
查看次数

Java Feed中的RSS Feed解析器库

是否有任何Java helper utils /库可用于解析Rss/Atom提要?

我检查了RSSUtils,但它看起来过时了.

java rss parsing feed

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

如何使Eclipse正确格式化JSP代码?

我在Eclipse IDE中使用了很多代码格式化命令(Ctrl+ Shift+ F).虽然这对Java/CSS源代码非常有效,但JSP格式化很糟糕.

是否有任何插件可以在Eclipse IDE中更好地进行JSP格式化?通过格式化我的意思是适当缩进JSP/HTML标记.

eclipse jsp code-formatting

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