我有一個搜索函數,它將對象的數組列表返回給我的表單。我使用JSTL的foreach標籤遍歷列表。將參數傳遞給查詢字符串並激發Javascript函數
<c:forEach items="${searchResults}" var="contact" varStatus="loop">
<div style="padding: 5px;">
${contact.firstName} ${contact.lastName}
<br>
${contact.primaryPhone}
<br>
//Is this the proper way to set up the url?
<a href="Contacts?search=${param.search}&id=${loop.index}">View Contact</a>
</div>
<br>
</c:forEach>
當用戶點擊每行內的鏈接,該行索引傳遞給查詢字符串,並在這一點上,我想表明,包含用戶的附加信息覈實。
我有一個JavaScript函數,我用它來顯示div並將它居中在屏幕上bla bla bla,但是我的問題是如何刷新頁面並將index加載到querystring中,然後激發我的javascript函數?
我認爲使用:
<c:if test="${not empty param.id}">
//Check if id in querystring is available and if so, display popup
</c:if>
要檢查是否有查詢字符串中使用的索引,但我不認爲這是一種從一個JSTL標籤內觸發我的功能。
當我請求回到servlet而不是試圖在客戶端處理這個問題時,我應該在服務器端做些什麼?我只是認爲它浪費了重新查詢我的數據庫並設置了另一個請求參數,當我已經有了我需要存儲在參數中的信息時,我無論如何都顯示了我的列表。
這是行不通的,但爲了保持一個更乾淨的HTML並保留所有的javascript在外部文件,我想出了另一種解決方案。 – ryandlf