jsp类的封装集合的应用及servlet的引入和JSTL的引入
需求:
1、 做一个固定资产的系统,里面实体类,业务逻辑(接口+实现类)+jsp显示所有信息。
2、 由于没有数据库,所以在实现类模拟2条数据。
步骤:
1.先建立一个工程assets
2.建立好4个包entity ,action,service,dao(本例用不上)
3.建立实体类(先写属性,然后添加get/set)
FixedAssets.java
4. 在service包建立service接口(业务逻辑)接口,有几个业务逻辑,就有几个方法
FixedAssetsService.java
//显示所有资产
public List<FixedAssets> getAllFixedAssets();
5. 在service包建立service的实现类FixedAssetsServiceImpl.java
public List<FixedAssets> getAllFixedAssets() { List<FixedAssets> fixedAssetsList = new ArrayList<FixedAssets>(); //fixedAssetsList.add( 具体的实体的实例 ); return fixedAssetsList; }
6.在action包中根据业务需要添加Servlet
新建一个FixedAssetsServletGetAllInfo.java
在doGet方法中写代码;
a. 呼叫service
b. 把结果集List放到request对象
c. 跳转到jsp中
7.新建一个jsp
a、 倒4个jstl的包 b、 添加<%@ taglib prefix="c"… c、 写遍历结果集合的代码
1、 JSTL的引入可以让JSP代码中<%%>等代码消失掉,再结合EL表达式,会更加方便以及美观。
2、 各套框架(还没有学习,比如struts,SpringMVC等)都有自己的标签库,这时JSTL可以作为公共、通用的,横行于各框架中。
操作:
第一步:下载JSTL包
http://tomcat.apache.org/taglibs/
第二步,新建一个jsp页面
8.项目已完成
jstl包作用
这段代码
${fixedAssetsList}直接取代
<%@ page import="java.util.List" %>
<%@ page import="entity.House" %>
<%
List<House> houseList = (List)request.getAttribute("houseList_label");
%>
其中本例中的${fixedAssetsList}
其实它完整写法: ${requestScope.fixedAssetsList}
原理EL表达式,可以直接取request范围内变量