2008-11-10 21 views
2

我有一個遠程EJB和一個驗證對象的方法(返回true或false)。我希望能夠傳遞一個ArrayList對象,讓EJB加載驗證過程中遇到的錯誤,同時仍然收到true/false。在EJB上加載列表

我該怎麼做?到目前爲止,我可以將它發送給列表,並且它在服務器端受到影響,但是原始列表在客戶端不會被修改。

回答

1

這是因爲當列表通過線路發送到bean時,必須進行復制,因爲列表從一個JVM移動到另一個JVM。與普通方法不同,它不是同一個列表。我不知道它如何處理本地bean,但遠程bean沒有其他方式。

我建議你有bean返回列表,如果這是空的,該對象是有效的。

例如:

public List<String> methodWithValidation(Object input) { 
    List<String> errors = new java.util.ArrayList<String>(); 
    //various validation tests, each adding a message on fail 

    return errors; 
} 

,並且調用方法這樣做:

List<String> errors = bean.methodWithValidation(object); 
if(!errors.isEmpty()) { 
    //error logic 
} else { 
    //continue 
}