小编Sus*_*sie的帖子

创建一个原始int列表?

有没有办法在java中创建原始int或任何基元的列表,如下所示?

List<int> myList = new ArrayList<int>();
Run Code Online (Sandbox Code Playgroud)

看来我能做到 List myList = new ArrayList();

并在此列表中添加"int".但这意味着我可以在此列表中添加任何内容.

是我唯一的选择,创建一个int数组并将其转换为列表或创建一个Integer对象列表?

java generics collections list

77
推荐指数
7
解决办法
19万
查看次数

将空字符串设置为属性文件中键的值

jdbc.password=
Run Code Online (Sandbox Code Playgroud)

如何jdbc.password在application.properties文件中为空字符串分配键?

我知道我可以按照以下方式以编程方式执行此操作,但我想在属性文件中设置它.

Properties props = new Properties();
props.put("password", "");
Run Code Online (Sandbox Code Playgroud)

java security passwords web-applications properties

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

格式化日期并使用JSTL和EL显示它

如何Date在JSP中格式化和显示对象,最好使用JSTL和EL,但是欢迎任何其他解决方案?我无法更改bean对象.

我有以下课程:

import java.util.Date;
public class Person {
    private Date myDate; 
    public Date getMyDate() {
        return myDate;
    }
    public void setMyDate(Date myDate){
        this.myDate = myDate;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图在JSP页面中显示此对象中的日期.当我这样做时,<c:out value="${person.myDate} />它会在页面中打印出来.2013-06-08 00:00:00.0

我想要做的是删除日期的时间部分并将其格式化为MM-dd-yyyy.

我试过这个:

<c:set var="myDate" value="${person.myDate }"/>
<fmt:formatDate value="${myDate}" type="date" var="formattedDate"/>
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误

无法将字符串'$ {myDate}'转换为类java.util.Date以获取属性值:java.lang.IllegalArgumentException:Property Editor未向PropertyEditorManager注册

然后我尝试了以下内容:

<c:set var="myDate" value="${person.myDate }"/>
<fmt:parseDate value="${myDate }" var="parsedDate" pattern="MM-dd-yyyy"/>
<c:out value="${parsedDate }"/>
Run Code Online (Sandbox Code Playgroud)

我得到了:

无法解析的日期:"$ {myDate}"

java jsp jstl web-applications el

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

跳过eclipse中所有断点的快捷键

Skip All Breakpoints在eclipse中有" " 的键盘快捷键吗?

如果没有,有没有办法在RAD中的工具栏上放置"跳过所有断点"按钮,就像在eclipse中一样?在eclipse中它默认存在但我无法弄清楚如何将它放在RAD中.

我一直在做"运行" - >"跳过所有BreakPoints",当我不断启用它并禁用它时,这需要花费太多时间.

在此输入图像描述

java eclipse keyboard-shortcuts breakpoints rad

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

控制台中没有输出

这听起来像一个微不足道的问题,但我搜索了它,发现没有任何帮助我.

在我的控制台中没有打印任何内容.昨天工作得很好.我没有对我的RAD做任何改动.

甚至system.out语句也不会在控制台中打印出来.我调试以确保它命中system.out语句.

我已经确认我正在查看输出的控制台是websphere的控制台,如图所示.

我正在使用RAD 8和websphere app server7.

在此输入图像描述

编辑1:

日志文件(SystemOut.log)

************ Start Display Current Environment ************
WebSphere Platform 7.0.0.11 [BASE 7.0.0.11 cf111021.10] running with process name 2UA2060KBLNode01Cell\2UA2060KBLNode01\server1 and process id 2796
Host Operating System is Windows 7, version 6.1 build 7601 Service Pack 1
Java version = 1.6.0, Java Compiler = j9jit24, Java VM name = IBM J9 VM
was.install.root = C:\Program Files (x86)\IBM\SDP\runtimes\base_v7
user.install.root = C:\Program Files (x86)\IBM\SDP\runtimes\base_v7\profiles\AppSrv01
Java Home = C:\Program Files (x86)\IBM\SDP\runtimes\base_v7\java\jre
ws.ext.dirs = C:\Program Files (x86)\IBM\SDP\runtimes\base_v7/java/lib;C:\Program …
Run Code Online (Sandbox Code Playgroud)

java eclipse debugging console websphere

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

使用hibernate Criteria返回set而不是list

criteria = createCriteria("employee");  
criteria.add(Restrictions.eq("name", "John"));  
criteria.addOrder(Order.asc("city"));
criteria.addOrder(Order.asc("state"));
List result = criteria.list();
Run Code Online (Sandbox Code Playgroud)

该语句返回一个Employee对象列表.我怎样才能让它返回一个SetEmployee对象,以便删除重复的数据?

我知道我可以通过创建一个返回列表的设置来实现这一点,如下所示,但是我会丢失列表的排序顺序.而且我不想编写代码来对集合进行排序.

Set<Employee> empSet = new HashSet<Employee>(result); 
Run Code Online (Sandbox Code Playgroud)

java database hibernate list set

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

关闭日志文件

这个项目已传给我,所以我对此并不了解.有一种方法,使用log(java.util.logging.Logger)并创建两个日志文件:

第一个文件:fileName.log

第二个文件:fileName.log.lck

在Linux中,当我这样做时lsof,我看到这两个文件是打开的.如何关闭这两个文件?

我想关闭这些文件的原因是这种方法每天运行多次,几周后打开文件的数量达到一个限制(大约1000),此时我们的系统停止工作.当我们重新启动我们的进程(执行日志记录的"作业控制器")时,打开的日志文件数会变为0并再次运行.

这是做日志记录所做的

private static Logger log = Logger.getLogger(MyClass.class.getPackage().getName());
try{
    log.logp(Level.SEVERE, "com.MyClass", "run", "It failed");
}
Run Code Online (Sandbox Code Playgroud)

这是我试图关闭finally块中的文件,但它不起作用

finally{
    Handler[] handler =   log.getHandlers();
    for(Handler h: handler){
        h.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

java linux logging java.util.logging

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

用于单元测试的适当方法封装

我的班级包含14 private methods1 public method.public方法通过其他私有方法直接或间接调用所有私有方法.

public方法还调用DAO查询数据库的方法.我为班级写了一个单元测试.由于您无法为私有方法编写单元测试,因此我将所有私有方法更改为默认访问权限并为其编写单元测试.

有人告诉我,我不应仅仅为了测试而改变封装.但我的公共方法调用DAO并从调用中获取其数据.即使我要为公共方法编写测试,我也认为它会非常复杂.

我应该如何处理这个问题.一方面,我必须为访问DAO的公共方法编写一个非常复杂的测试,另一方面,更改方法的访问级别并为它们编写简短的测试方法.我该怎么办?

任何建议将不胜感激

java methods junit unit-testing encapsulation

5
推荐指数
4
解决办法
2175
查看次数

使用javascript区分表单中的两个提交按钮

如何找出在javascript中点击了哪个提交按钮?

function submitForm(){
   //if find open popup
   //else if add continue in the same window

}

<form action="/findNames" onsubmit="return submitForm()">
    <input type="submit" value="Add" onclick="submitForm(this)"/>
    <input type="submit" value="Find" onclick="submitForm(this)"/>
</form>
Run Code Online (Sandbox Code Playgroud)

我做了什么:

我尝试用onclick来做,如下所示,但是当点击"查找"按钮时,它会打开一个弹出窗口并提交父窗口.如何阻止它提交父窗口?

function submitForm(submit){
    if(submit.value=="Find"){
        find();//opens a popup window
    }else if(submit.value == "Add"){
        //stay in the same window
    } 
}

function find(){
    var width  = 1010;
    var height = 400;           
    var params = 'width='+width+', height='+height;     
    popupWin = window.open('find.do','windowname5', params);
    popupWin.focus();
}

<form action="/findNames">
    <input type="submit" value="Add" onclick="submitForm(this)"/>
    <input type="submit" value="Find" onclick="submitForm(this)"/> …
Run Code Online (Sandbox Code Playgroud)

javascript forms

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

Hibernate 标准返回空列表,但数据存在。使用注释

我不明白为什么这个查询没有给我任何结果。我知道数据存在于表中。results执行查询时列表变量“ ”为空。我是否正确实现了复合键?

我什至尝试使用@EmbeddedId来完成此操作,但返回的列表仍然是空的。

        Session sess = HibernateUtil.getSession();
        Criteria criteria = sess.createCriteria(Employee.class);
        criteria.add(Restrictions.eq("employeeId", 255847208));
        criteria.add(Restrictions.eq("serialId", 461));
        List<Employee> results = criteria.list();
Run Code Online (Sandbox Code Playgroud)

主键类

public class EmpPrmryKey implements Serializable {
        private Integer employeeId;
        private Integer serialId;
        //getters and setters
}
Run Code Online (Sandbox Code Playgroud)

POJO 映射到表:

@Entity
@IdClass(EmpPrmryKey.class)
@Table(name = "EMPLOYEE")
public class Employee{

    private EmpPrmryKey compositeId;

    @Id
    @Column(name = "employee_id")
    private Integer employeeId; 

    @Id
    @Column(name = "serial_id")
    private Integer serialId;

    //getters and setters
}
Run Code Online (Sandbox Code Playgroud)

java database annotations hibernate

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