程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp學習---mvc模式介紹和el表達式,jstl標簽庫的使用入門

jsp學習---mvc模式介紹和el表達式,jstl標簽庫的使用入門

編輯:關於JSP

項目中的包命名規則,一般如下:   com.amos.domain 封裝JavaBean,一般我喜歡用model命名這個包 com.amos.dao 封裝dao層 com.amos.dao.daoimpl 實現dao層接口 com.amos.service 封裝service層 com.amos.service.serviceiml 實現service層接口 com.amos.web.controller業務邏輯層 com.amos.web.listener 監聽器 com.amos.web.filter 過濾器 com.amos.utils 存放工具類 com.amos.test 測試類 按照上面的分類,可以方便維護. WEB-INF/jsp將jsp存放到WEB-INF目錄下,這樣可以增加安全性       二.el表達式   EL表達式用於獲取數據,在JSP頁面中可使用${標識符}的形式,通知JSP引擎調用pageContext.findAttribute()方法,以標識符為關鍵字從各個域對象中獲取對象。如果域對象中不存在標識符所對應的對象,則返回結果為””(注意,不是null)。 示例:使用EL表達式獲取request、session、applection域中的數據。 EL表達式中也可以使用${customerBean.address}的形式來訪問JavaBean對象的屬性。 示例:使用EL表達式獲取Bean屬性。 EL表達式也可使用類如${1==1}的形式進行簡單的邏輯判斷。   復制代碼 <%@page import="java.util.*"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@page import="com.amos.model.*"%> <%@ page isELIgnored="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>el表達式學習</title> </head> <body>     第一種,簡單取值:     <%     String data = "hi,amos!";     request.setAttribute("data", data); %>     ${data}     <br> 第二種,從bean中取值:     <%         Person p = new Person();         p.setName("amosli");         session.setAttribute("person", p);     %>     ${person.name}     <br>     <%=((Person) session.getAttribute("person")).getName()%><br>     第三種:從復雜bean中取值:     <%         Person person1 = new Person();         Address a = new Address();         a.setCity("上海");         person1.setAddress(a);         application.setAttribute("p1", person1);     %>     ${p1.address.city}     <br> 第四種:從集合中取值:     <%         List list = new ArrayList();         list.add(new Person("amos"));         list.add(new Person("li"));         list.add(new Person("amosli"));         list.add(new Person("hi"));         list.add(new Person("hi_amos"));         application.setAttribute("personlist", list);     %>     ${personlist[0].name }     <br>       <%         Map map = new HashMap();         map.put("aa", new Person("aaaa"));         map.put("cc", new Person("cccc"));         map.put("dd", new Person("dddd"));         map.put("ee", new Person("eeee"));         map.put("11", new Person("111"));           request.setAttribute("map", map);     %>     ${map.dd.name }<br>      <%-- ${map.11.name } 一般情況下用點號進行取值,如果點號取不出來值,那麼可以用[]來代替. --%>     ${map['11'].name }<br>          獲取當前應用的名稱:     ${pageContext.request.contextPath }      </body> </html> 復制代碼     結果:           注意:el表達式不能用的解決方法,我這裡是2.3版本的,web.xml中有如下代碼:   <!DOCTYPE web-app PUBLIC  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  "http://java.sun.com/dtd/web-app_2_3.dtd" > 解決方法是在jsp頁面中加入:   <%@ page isELIgnored="false"%>     三.jstl標簽庫的使用 1.關於JSTL標簽庫 JSTL是sun公司開發的一套標簽庫,使用JSTL可以在頁面中實現一些簡單的邏輯,從而替換頁面中的腳本代碼。 在頁面中使用JSTL標簽需完成以下2個步驟: 1、導入jstl.jar和standerd.jar這兩個JSTL的jar文件。 2、在JSP頁面中使用<%@ tablib url=“” prifix=“” %>元素導入標簽庫。 JSTL標簽庫中常用標簽: <c:foreach var=“” items=“”> <c:if test=“”>    我這裡用的是maven管理jar包的,所以只需要引入:   <dependency>     <groupId>jstl</groupId>     <artifactId>jstl</artifactId>     <version>1.2</version> </dependency> 或者直接下載:http://repo1.maven.org/maven2/jstl/jstl/1.2/jstl-1.2.jar   2.引入標簽庫 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>     3.示例:     復制代碼 <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%>     <%@ page isELIgnored="false"%> <%@page import="java.util.*,com.amos.model.*" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>jstl標簽學習</title> </head> <body>     <br> 從集合中取值:     <%         List list = new ArrayList();         list.add(new Person("amos"));         list.add(new Person("li"));         list.add(new Person("amosli"));         list.add(new Person("hi"));         list.add(new Person("hi_amos"));         application.setAttribute("personlist", list);     %>     ${personlist[0].name }     <br>          <c:forEach var="list" items="${ personlist}">         <c:out value="${list.name }"></c:out><br>     </c:forEach>       <%         Map map = new HashMap();         map.put("aa", new Person("aaaa"));         map.put("cc", new Person("cccc"));         map.put("dd", new Person("dddd"));         map.put("ee", new Person("eeee"));         map.put("11", new Person("111"));         request.setAttribute("maps", map);     %>     <c:forEach  var="map" items="${maps }">      ${map.key}:${map.value.name }<br>     </c:forEach>   </body> </html>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved