1. 程式人生 > >關於JSP頁面嵌入Java程式碼

關於JSP頁面嵌入Java程式碼

在公司專案中碰到不少在JSP頁面中嵌入Java程式碼,如下:               var CIRCUIT = "<%= CutoverService.CIRCUIT%>";               var CABLE = "<%= CutoverService.CABLE%>";               var SEG = "<%= CutoverService.SEG%>";               var ROAD = "<%= CutoverService.ROAD%>";               var PORT = "<%= CutoverService.PORT
%>"; 還有: <%      String patrolSys = SysConfig.getValue( "PATROL");      String staffAccount = "";      StaffRegister staffVO = (StaffRegister) session                .getAttribute( "staff"); if (staffVO != null) {           staffAccount = staffVO.getSStaffAccount();      } %> 在table行中嵌入: <%
 if (!ConstantsUtil.SYSTEM_NAME_JTWG.equals(systemName)) { %> <tr>      <th>          事件級別:      </th>      <td id = "js_base_I_SITUATION_LEVEL_chsName" >  </td>  <th>          網路等級       </th >      <td id ="js_base_I_CUTOVER_LEVEL_chsName" >  </td>
</ tr> <%     } %> 在MVC模式下,JSP頁面一般來說只負責頁面顯示,並不處理具體的邏輯實現,也就是我們所說的MVC模式中的V(view)。 1、在JSP頁面寫了Java程式碼後維護升級比較困難,因為大多數情況下頁面是前端做的,後臺只負責返回資料顯示。而且這樣寫之後MVC模式“形同虛設”,各層結構混亂。 2、解決辦法:使用EL表示式      在頁面中引入C標籤: <%@ tagliburi = "http://java.sun.com/jsp/jstl/core"prefix = "c"%> <!-- 設定path變數,獲取專案根路徑 --> < c:setvar = "path"value = "${pageContext.request.contextPath} "/> 獲取request請求引數:${param.parameter},param為EL表示式中的物件,parameter即為你獲取的引數 ${requestScope.name}等價於requset.getAttribute("name"); 使用 <c:choose> <c:whentest= " ${flag=='0' } ">                           新增 </c:when> <c:otherwise>                          修改 </c:otherwise>  </c:choose> 代替if else

這裡只提供個思路,具體的請參考EL表示式。

如有不對之處歡迎指正