Osheep

时光不回头,当下最重要。

完成客户关系管理案例

前面做了一些分页的原理说明及实例,这篇把分页处理的细节也完成了。至此,客户关系管理系统还有“修改”和“删除”功能没做。

修改和删除:

在listcustomer.jsp里面作修改:

<a href="${pageContext.request.contextPath}/servlet/UpdateCustomerServlet?id=${c.id}">修改</a>
<a href="javascript:;" onclick="del('${c.id}')">删除</a>

然后添加相应的servlet处理请求,我就不细述了。

平时,如果内容太多,会议省略号显示,那在本项目中怎么处理呢?

《完成客户关系管理案例》

1.png

这些内容都是字符串,首先写一个MyEL类处理这些字符串。

package cn.itcast.utils;

//字符串操作
public class MyEL {
    public static String sub(String str) {
        if (str.length() > 10) {
            return str.substring(0, 10) + "......";
        }
        return str;
    }
}

然后在WEB-INF目录下我们自己编写标签库描述符(tld)文件’itcast.tld’。

<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version="2.0">
    <description>A tag library exercising SimpleTag handlers.</description>
    <tlib-version>1.0</tlib-version>
    <short-name>fn</short-name>
    <uri>/itcast</uri>
    <function>
        <!--将类里面的sub方法描述成sub函数,也就是EL页面调用名字-->
        <name>sub</name>
        <function-class>cn.itcast.utils.MyEL</function-class>
        <!--指定EL页面调用名字中实际调用的方法.指定处理类的实际方法.参数和回调函数要写完整路径-->
        <function-signature>java.lang.String sub(java.lang.String)</function-signature>
    </function>
</taglib>

最后在’listcustomer.jsp’页面里面导入这个库<%@taglib prefix="itcast" uri="/itcast" %>这里的uri就是’itcast.tld’里的uri。

在页面显示里遍历时调用就可以了,原代码为<td>${c.description}</td>,调用后为<td>${itcast:sub(c.description)}</td>

页面效果:

《完成客户关系管理案例》

效果图

下面是我的源代码。

接上篇:http://www.jianshu.com/p/3163ee51a120
源代码:https://github.com/yvettee36/Customer2

点赞