2013-05-09 40 views
0

我已經將Java Map對象導入到正在處理的JSP文件中。我需要做的是將該地圖的每個條目放入JSP中的表格中。我不會像我對scriptlet超級知識那樣行事,但從我所能告訴的他們都在運行之前進行評估,然後放入代碼中,這使得訪問各個條目成爲一項挑戰。我目前通過在地圖上做一個toString來實現它,然後使用正則表達式來解析信息,但是我想更安全地做到這一點。在scriptlet中訪問Java地圖

這怎麼可能實現?

回答

0

我假設你的地圖是Map<Integer,String>()類型;

<ul> 
<% 
for(Integer key : yourmap.keySet()) { 
    String value = data.get(key); 
    System.out.printf("%s = %s%n", key, value); 

    %> 
    <li><%= value%></li> 
    <% 
} 
%> 
</ul> 
1

您對運行前評估的scriptlet的假設是錯誤的。小腳本這樣的工作例如:

<p> Hello world </p> 
<% 
while (something) { 
    doSomeStuff(); 
} 
%> 
<p> Bye </p> 

被編譯成這樣的:

stream.write("<p> Hello world </p>"); 
while (something) { 
    doSomeStuff(); 
} 
stream.write("<p> Bye </p>"); 

從本質上說,一切的不小腳本投入stream.write,那就是一切 - 在插入時沒有變化。在大多數支持JSP的應用程序服務器中,您甚至可以找到那些預編譯的JSP servlet並查看生成的代碼。此外,這種方法使其非常快速。

所以編寫腳本在你的情況下不會有問題。