有没有办法在java中创建原始int或任何基元的列表,如下所示?
List<int> myList = new ArrayList<int>();
Run Code Online (Sandbox Code Playgroud)
看来我能做到 List myList = new ArrayList();
并在此列表中添加"int".但这意味着我可以在此列表中添加任何内容.
是我唯一的选择,创建一个int数组并将其转换为列表或创建一个Integer对象列表?
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) 如何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}"
Skip All Breakpoints在eclipse中有" " 的键盘快捷键吗?
如果没有,有没有办法在RAD中的工具栏上放置"跳过所有断点"按钮,就像在eclipse中一样?在eclipse中它默认存在但我无法弄清楚如何将它放在RAD中.
我一直在做"运行" - >"跳过所有BreakPoints",当我不断启用它并禁用它时,这需要花费太多时间.

这听起来像一个微不足道的问题,但我搜索了它,发现没有任何帮助我.
在我的控制台中没有打印任何内容.昨天工作得很好.我没有对我的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) 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) 这个项目已传给我,所以我对此并不了解.有一种方法,使用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) 我的班级包含14 private methods和1 public method.public方法通过其他私有方法直接或间接调用所有私有方法.
public方法还调用DAO查询数据库的方法.我为班级写了一个单元测试.由于您无法为私有方法编写单元测试,因此我将所有私有方法更改为默认访问权限并为其编写单元测试.
有人告诉我,我不应仅仅为了测试而改变封装.但我的公共方法调用DAO并从调用中获取其数据.即使我要为公共方法编写测试,我也认为它会非常复杂.
我应该如何处理这个问题.一方面,我必须为访问DAO的公共方法编写一个非常复杂的测试,另一方面,更改方法的访问级别并为它们编写简短的测试方法.我该怎么办?
任何建议将不胜感激
如何找出在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) 我不明白为什么这个查询没有给我任何结果。我知道数据存在于表中。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 ×9
database ×2
eclipse ×2
hibernate ×2
list ×2
annotations ×1
breakpoints ×1
collections ×1
console ×1
debugging ×1
el ×1
forms ×1
generics ×1
javascript ×1
jsp ×1
jstl ×1
junit ×1
linux ×1
logging ×1
methods ×1
passwords ×1
properties ×1
rad ×1
security ×1
set ×1
unit-testing ×1
websphere ×1