2015-05-12 61 views
0

我想在一個範圍變量中放置一個Java數組。這裏是數組是如何建立如何在一個範圍變量中放置一個java數組?

Person[] persons = null; 
ClientConfig config = new DefaultClientConfig(); 
Client client = Client.create(config); 
WebResource service = client.resource(url); 
String json = service.accept(MediaType.APPLICATION_JSON).get(String.class); 
ObjectMapper mapper = new ObjectMapper(); 
persons = mapper.readValue(json, Person[].class); 
return persons 

我用的是傑克遜庫JSON解析成Java對象裁判:http://jackson.codehaus.org/1.0.1/javadoc/org/codehaus/jackson/map/ObjectMapper.html

我的人陣直接綁定到一個重複的控制。

但是,如果我嘗試將數組首先存儲在範圍變量中,則會收到500錯誤消息。

var persons = personsBeanTest.getPersons("http://dev1/fakenames.nsf/api/data/collections/name/people?count=10"); 
viewScope.put("names",persons); 

HTTP JVM:CLFAD0211E:拋出異常。有關更多詳細信息,請參閱位於C:/ Program Files/IBM/Domino/data/domino/workspace/logs中的error-log-0.xml HTTP JVM:CLFAD0229E:發生服務請求的安全異常:/fakenames.nsf /index_1.xsp - HTTP代碼:500.有關更多詳細信息,請參閱位於C:/ Program Files/IBM/Domino/data/domino/workspace/logs中的error-log-0.xml是否有人可以解釋我做錯了什麼,我應該如何糾正代碼將數組放入一個範圍變量?從托馬斯的評論

+3

你做的最高審計機關的消息和諮詢日誌文件?該異常還包含「發生安全異常」,所以我會朝這個方向看。 – Thomas

+0

事情解決時,你包括可序列化... –

回答

2

我必須包括序列化我的對象: -/

+0

我通常包括我創建的每個對象的可序列化。它是否真的需要它。我不知道有什麼理由不執行它。 –

+0

大衛,一些Java大師可能會說實施Serializable會影響性能。我個人只有在運行時告訴我這樣做時才使用它,當然在通過faces-config.xml作爲bean使用的類中。 –

+0

在非XPages環境中,明智地使用Serializable是出於許多原因,但對於XPage端的東西,我對此非常無憂。我不認爲只是實施它會影響性能 - 潛在問題更多的是第三方使用和存儲對象的長期可維護性,但這通常不是問題。 –

相關問題