2015-08-28 90 views
4

在我的控制器我有這樣的代碼:如何訪問JSP腳本中的模型屬性字段?

List<FeesReceiptIntegrationModel> FRIList = feesReceiptIntegrationService.listInstituteWiseCollectionSummary(model, request); 

model.addAttribute("FRIList", FRIList); 

我要訪問此FRIList及其在JSP頁面中的Scriptlet領域。 我試過這樣的:

String fcash = request.getParameter(FRIList.cashamount); 

但它不起作用。

List myMap = (ArrayList) request.getAttribute("FRIList.cashamount"); 

我不想通過JSTL標籤訪問它,但我只想在scriptlet中訪問它。

有誰能告訴我這是如何實現的嗎?

+0

你把型號列表 「FRIList」,這樣你就可以在這樣的JSP得到它:'名單MYMAP =(ArrayList中) request.getAttribute(「FRIList」);'而不是做你想要的這個列表。 – glw

+0

我是這樣訪問List myMap =(ArrayList)request.getAttribute(「FRIList.cashamount」); System.out.println(「ooooo oo」+ myMap);但直到現在我無法訪問..... myMap顯示空值.. –

+0

@ManojSharma我想你使用'spring'框架。您是否在前端使用了任何視圖模板? –

回答

0

你不能按照原樣打印列表中的值,你需要在從model獲得列表後重復它們。至於說,

我不想通過JSTL標籤來訪問,但我想只有在小腳本

<% List<FeesReceiptIntegrationModel > myMap = (ArrayList<FeesReceiptIntegrationModel >) request.getAttribute("FRIList"); 
    for(FeesReceiptIntegrationModel obj : myMap ){ 
    obj.getcashamount(); // your getter method here 
    } 
%> 

訪問此但不建議使用scriptlets,請看看How to avoid Java code in JSP files?

+0

它給編譯時錯誤對象不能轉換爲FeesReceiptIntegrationModel .. –

+0

檢查我的更新,你需要將對象轉換爲bean類 –

1

使用scriplets是一個壞主意。儘量避免在JSP頁面中使用Java代碼。

您可以使用JSTL c:forEach你的目的

簡單的例子

<c:forEach items="${FRIList}" begin="0" end="1" var="test"> 
${test.cashamount} 
</c:forEach> 
+0

我知道但我無法解決我的問題沒有使用scriptlet ..你有任何想法...? –

+0

@ManojSharma迭代列表 – SpringLearner

+0

給我舉例請。 –