我正在使用完整的JSTL方式,而且我遇到了以下scriplet的問題,我已經將變量顯示和條件轉換爲表達式語言(EL),但我不太確定如何使用方法調用:這是我的JSP代碼,它位於HTML標記之前: UserDTO user = (UserDTO) session.getAttribute("user");
轉換爲JSTL(具體來說就是調用方法)
OrderDAO lnkOrder = new OrderDAO();
OrderDTO order = new OrderDTO();
CoverDAO lnkCover = new CoverDAO();
CoverDTO cover = new CoverDTO();
UpgradesDAO lnkUpgrades = new UpgradesDAO();
UpgradesDTO upgrades = new UpgradesDTO();
OrderAccessorieDAO lnkOrderAcc = new OrderAccessorieDAO();
List<OrderAccessorieDTO> orderAccessories = new ArrayList<OrderAccessorieDTO>();
GroupColorsDAO lnkColors = new GroupColorsDAO();
List<ColorDTO> ColorList = new ArrayList<ColorDTO>();
ColorList = lnkColors.getGroupColors(user.getGroup());
AccessoryDAO lnkAcc = new AccessoryDAO();
List<AccessoryDTO> groupAccessories = new ArrayList<AccessoryDTO>();
groupAccessories = lnkAcc.getGroupAccessories(user.getGroup());
ChangesDAO lnkChanges = new ChangesDAO();
List<ChangeDTO> orderChanges = new ArrayList<ChangeDTO>();
String CurrentOrder = request.getParameter("CurrentOrder");
if (lnkOrder.exists(CurrentOrder)) {
order = lnkOrder.find(CurrentOrder);
cover = lnkCover.find(order.getReferenceNumber());
upgrades = lnkUpgrades.find(order.getReferenceNumber());
orderAccessories = lnkOrderAcc.getOrderAccessories(order.getReferenceNumber());
orderChanges = lnkChanges.getOrderChanges(order.getReferenceNumber());
}
由於喲可以看到它非常多的DAO和DTO對象,我知道它可以可以使用靜態方法來完成,並且可以自定義taglibs,但這意味着要爲每個方法調用編寫代碼,還有其他方法嗎?對
VIEW
(HTML標記)的簡要描述顯示了給定訂單的詳細信息,訂單名稱是從get
請求中提取的。
另外我還有一個小問題,假設我將所有內容移植到JSTL,我是否必須導入相應的myDTO
和myDAO
包來訪問每個DTO的getter和setter?
關心Tristian。
從某種意義上說同意你的說法是,我應該執行的方法,在控制器調用(假設'OrderDetails.java'),然後轉發到JSTL/HTML頁面的響應? – Triztian 2010-12-20 19:28:07
@Triztian:是的。 – axtavt 2010-12-20 19:34:23
謝謝,很棒的圖表(維基百科鏈接。) – Triztian 2010-12-20 19:35:46