2013-01-18 84 views
3

您好我想獲得一個arraylist的總大小,但由於某種原因,這沒有顯示下面的代碼是用來顯示大小。在jsp頁面上獲取ArrayList大小

<%db.DBConnection db = new db.DBConnection(); 
      ArrayList<User> myUsers =db.getAllUsers(); 
      %> 

    Total Subscribed Users: <p><% myUsers.size();%></p> 

感謝

+2

哦,scriplets ... – bsiamionau

+1

也許這會有所幫助。 http://docs.oracle.com/javaee/5/tutorial/doc/bnaov.html – Danny

回答

5

工作的呢?

<p><%= myUsers.size()%></p> 

我建議在jsp中儘量少寫java代碼。你可以考慮使用一些taglib,jstl。例如。把所有的業務代碼放在你的服務器端。特別的東西像b.DBConnection db = new db.DBConnection();

+0

此外,這將是一個很好的閱讀:http://stackoverflow.com/a/3180202/814702 – informatik01

+0

並請刪除分號。從「Head First Servlets和JSP」引用:**表達式成爲out.print()**的參數。 換句話說,容器將您在 「<%=' and '%>」之間輸入的所有內容作爲參數輸入到打印到隱式響應「PrintWriter輸出」的 語句的參數中。 – informatik01

+0

有效表達式是'<%= myUsers.size()%>'。分號在JSP頁面的表達式元素內無效。 – informatik01

0
int count = myUsers.size(); 
      %> 
      <h1>User Management</h1> 
      Total Subscribed Users: <p><%=count%></p> 
13

一些這是遷出JSP清楚成熟,但基於它是如何看起來像你的類和定義方法,這應該工作(JSP + JSTL):

<jsp:useBean id="db" class="db.DBConnection"/> 
<c:set var="myUsers" value="${db.allUsers}"/> 
Total Subscribed Users: <p>${fn:length(myUsers)}</p> 
+0

非常感謝你,這正是我正在尋找的,它應該被設置爲正確的答案。 –

+0

是的我同意,使用jsp的'functions'功能是正確的答案。 – Jeremy

0

你應該這樣做,以實現這一目的:

Total Subscribed Users: <p><%= myUsers.size(); %></p> 

或者,你也可以這樣做:

Total Subscribed Users: <p><% out.print(String.valueOf(myUsers.size()));%></p> 

您在問題中編寫的代碼塊是「scriplet」。本身,scriptlet不會貢獻任何HTML。

有關更多詳細信息,請參見this