2010-07-26 118 views
0

我正在處理Java Web應用程序,其中通過使用我的數據庫設置JDBC來填充2個Bean。我使用JSP來查看頁面,並以表格的形式獲得正確的結果。我的桌子上有一個關於司機和乘客的數據。該bean正在填充整個數據。現在我需要利用JSTL標籤來查看驅動程序的詳細信息。所以我在JSP中編寫了以下代碼塊。我覺得我的if標籤有問題。當我移除它時,我會得到答案,但它包括司機和乘客。任何建議..Java Web應用程序中的JSTL和JSP問題

<table width="100%" cellpadding = "2" cellspacing = "0" border= "0"> 
<c:forEach items='${detailBean.personBean}' var='person' varStatus='status'> 
<c:if test='${person.role=='DRIVER' }'> 

<tr><td nowrap width = "10%" align="right"><c:out value="VEHNO: " /> </td> <td nowrap align="left"> <c:out value='${person.vehNo}'/></td></tr> 

<tr><td nowrap width = "10%" align="right"><c:out value="ROLE: " /></td> <td nowrap align="left"> <c:out value='${person.role}'/></td></tr> 

<tr><td nowrap width = "10%" align="right"><c:out value="DRVRFLAG: " /></td> <td nowrap align="left"> <c:out value='${person.drvrFlag}'/></td></tr> 

</c:if> 
</c:forEach> 
</table> 
+0

你寫了「所以我在JSP中寫了下面的代碼塊」 代碼在哪裏? – YoK 2010-07-26 16:12:50

+0

我正在嘗試打印代碼,但它不會打印在這裏。 – mona 2010-07-26 16:13:36

+0

請從消息編輯器(在編輯消息時)右側閱讀消息格式規則。請利用消息編輯器下方的預覽區域來驗證是否有任何外觀正確。我會爲你編輯你的問題。 – BalusC 2010-07-26 16:14:20

回答

3

您使用引號無效。嘗試遵循標準約定來始終對屬性值使用雙引號,並僅在EL表達式中使用單引號。特別是c:if被錯誤地引用。它應該是這樣的:

<c:if test="${person.role=='DRIVER'}"> 

不過,我不知道這樣的工作適合你,因爲它應該已經產生了一個JSP解析器錯誤。這可能與服務器有關。

+0

非常感謝BaluC,我的問題解決了......您的意見對我來說非常有用。你可否向我轉發任何JSTL相關網站,我可以瞭解更多? – mona 2010-07-26 16:26:31

+0

不客氣。我已經在你以前的答案中推薦過看看coreservlets.com教程:[開始和中間的JSP/Servlet教程](http://courses.coreservlets.com/Course-Materials/csajsp2.html):)第二部分介紹JSTL和EL:[高級JSP/Servlet教程](http://courses.coreservlets.com/Course-Materials/msajsp.html)。這是[直接鏈接到PDF](http://courses.coreservlets.com/Course-Materials/pdf/ajax/JSTL.pdf)。祝你好運。 – BalusC 2010-07-26 16:36:01