如何使用JSTL/EL從JSP調用Java類中定義的參數的Java方法。該方法正在返回數組。任何返回值都可以使用。如何使用JSTL/EL從JSP調用參數化方法
回答
給JSP一個具有該方法的類的實例的引用並調用它。
您可能會問誰是JSP的實例 - 它是模型-2 MVC安排中的servlet。
這裏的流量將如何工作:
- 從JSP提交一個GET/POST請求的servlet。
- Servlet作用於該請求並代表JSP執行一些工作。將所有必要的對象放入請求,會話或其他合適的範圍中。
- Servlet將對下一個JSP的響應路由,它可能與請求的JSP相同。
- 沖洗,重複。
如果您使用的是JSF,則可以在View Scope中將bean用作模型,並從數據源自動加載。如果您使用的是JSP,那麼使用TLD標籤怎麼樣?並使用JSTL標籤<c:foreach>
?它可以節省會話中保存的內存,或保存會話並在加載事件完成時將其刪除?一些如何像這樣(JSTL + TLD)
<c:forEach items="${myTag:getProductByPage(page)}" var="p">
Product name: ${p.productName}
</c:forEach>
您只能調用與參數的方法在EL如果您的目標和運行一個Servlet 3.0兼容的容器(例如Tomcat的7,Glassfish的3,JBoss AS中6等)與web.xml
聲明符合Servlet 3.0。這個servlet版本隨EL 2.2一起提供,它允許用參數調用任意實例方法。
假設你在指有一個方法類似public Object[] getArray(String key)
一個類的實例範圍已經一個${bean}
,那麼你應該能夠做到這一點:
<c:forEach items="${bean.getArray('foo')}" var="item">
${item} <br />
</c:forEach>
與另一
,甚至變量作爲參數
<c:forEach items="${bean.getArray(foo)}" var="item">
${item} <br />
</c:forEach>
但是,如果你不針對一個Servlet 3.0容器,那麼你就不能調用帶有參數的方法EL可言。你最好的選擇就是按照Duffymo的建議,在預處理servlet中完成這項工作。
Object[] array = bean.getArray("foo");
request.setAttribute("array", array);
// ...
作爲一個完全不同的選擇,您可以創建一個委託方法調用的EL函數。你可以在this blog的底部附近找到一個開球的例子。你想落得像的東西:
<c:forEach items="${util:getArray(bean, 'foo')}" var="item">
${item} <br />
</c:forEach>
與
public static Object[] getArray(Bean bean, String key) {
return bean.getArray(key);
}
對我來說,上述方案沒有工作。 我在我的java類中有一個函數getRemitanceProfileInformation(user)
。 我創建的Java類的useBean的,然後調用
<c:set var="paymentValueCode" value='remittanceaddr.getRemitanceProfileInformation("${user}")'/>
和它的工作。
錯誤的參考資料,當您回答時,誰知道哪個是*上面的*解決方案。 – madth3
- 1. 調用參數化方法
- 2. 從facelet調用參數化方法,jsf
- 3. 如何使用參數調用方法?
- 4. 如何從JSP調用servlet方法?
- 5. 使用jstl從jsp調用方法
- 6. 如何使用參數序列化方法調用表達式?
- 7. 從jsp調用bean方法
- 8. 從javascript調用JSP方法
- 9. 從anathor jsp頁面調用jsp方法
- 10. 如何使用Ajax調用將參數從JSP發送到servlet?
- 11. 如何在JSP EL中調用變量參數方法?
- 12. 使用jsp文件中的參數調用java方法
- 13. 如何使用ajax從jsp調用控制器方法
- 14. 從JSP頁面中的servlet調用方法,使用來自該JSP頁面的參數的方法
- 15. 如何從JSTL的JSP頁面調用數組方法?
- 16. 如何在JSP中調用Java方法?
- 17. 如何在JSP中調用void方法
- 18. Javascript:如何使用參數化方法作爲參數來構建方法?
- 19. 如何調用帶參數的方法?
- 20. 如何不帶參數調用方法?
- 21. Scala的參數化方法使用參數通用類無法
- 22. 使用參數調用obj-c方法
- 23. 使用tkinter調用參數的方法
- 24. Obj-C方法:使用參數調用
- 25. 使用參數調用paint()方法
- 26. Java/Java EE:從JSP調用getter方法
- 27. 從JSP調用Tomcat 7方法
- 28. 如何在salesforce apex類中調用參數化方法
- 29. 如何在javascript中調用參數化的後臺方法
- 30. 如何調用參數化類型的方法?
我正在使用struts tiles.could你請elebrote它是解釋,更多的是我們需要調用一個接受參數的metod,這裏它將是在JSP中設置的ollean值。 –