smarty 变量调节器永利国际网站

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

变量调节器:<{$a|变量调节器}>

PS:前面说了抽取框架的搭建,接着就要我们开始进入网址的时候就要查到全部信息并显示在首页,我们用到的MySql数据库,具体步骤是:

修改和删除:

了解更多可以查询smarty手册

  • 创建数据库,创建表,添加信息
  • 项目中调入mysql的jar包 mysql-connector-java-5.1.18-bin.jar
  • 单独一个类写JDBC连接数据库

在listcustomer.jsp里面作修改:

主要修改此页面的信息来了解变量调节器:main.php/main.html(0603)

  1. 查询的Sql语句及方法
  2. 删除sql语句及方法
  3. 增加sql语句及方法
  4. 修改sql语句及方法

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

永利国际网站 1

  • xml配置文件的设置
  • mainservlet中写相应操作

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

1.利用给定的变量调节器**

1:创建数据库,创建表,添加信息

永利国际网站 2

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

capitalize 首字母大写

php页面:$smarty->assign(“ceshi”,”hello world”);

html页面:<div><{$ceshi|capitalize}></div>

运行后:Hello World

2:项目中调入mysql的jar包 mysql-connector-java-5.1.18-bin.jar

自行导入即可

永利国际网站 31.png

truncate截取字符串(有参数),10代表截取的长度, . 是第三个参数,代表剩余的内容 

 <td><{$v[1]|truncate:10:”…”}></td>
 
 也可以用:
<td><{$v[1]|truncate:10}></td>(默认是…)**

运行后:                                  
                 原图:

永利国际网站 4   
       永利国际网站 5

3:单独一个类写JDBC连接数据库

 /**
     * 开启数据库连接
     * */
    public void getConnect() {
        String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名,设置编码
        String url = "jdbc:mysql://127.0.0.1:3306/ceshi1?useUnicode=true&characterEncoding=utf-8";
// MySQL配置时的用户名
        String user = "root";
// Java连接MySQL配置时的密码
        String password = "root";
        try {
// 加载驱动程序
            Class.forName(driver);
// 连续数据库
            conn = DriverManager.getConnection(url, user, password);
            if (!conn.isClosed())
                System.out.println("Succeeded connecting to the Database!");
// statement用来执行SQL语句
            statement = conn.createStatement();
// 要执行的SQL语句
            String sql = "select * from information";
        } catch (Exception e) {
            System.out.println("连接失败");
        }
    }

    /**
     * 断开数据库连接*/
    public void disConnect() throws SQLException {
        if(conn!=null){
            conn.close();
            statement.close();
        }
    }

 下面是增删查改,查询数据和查询单条数据都是返回一个list集合,原本是可以写成一个方法的,但为了清楚显示,就单独写了。在这之前呢,要先写一个model类

public class Information {
    String name,banji,qq,shouji,zhuangtai;
    int id,age;


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getBanji() {
        return banji;
    }

    public void setBanji(String banji) {
        this.banji = banji;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public String getShouji() {
        return shouji;
    }

    public void setShouji(String shouji) {
        this.shouji = shouji;
    }

    public String getZhuangtai() {
        return zhuangtai;
    }

    public void setZhuangtai(String zhuangtai) {
        this.zhuangtai = zhuangtai;
    }
}

 

/**
     * 查询全部数据,返回list集合
     * String sql = "select * from information";
     */
    public List<Information> queryAllData() throws SQLException {
        List<Information> list = new ArrayList<Information>();
        String sql = "select * from information";
        ResultSet rs = statement.executeQuery(sql);
        while (rs.next()) {
            System.out.print(rs.getInt("id"));
            information = new Information();
            information.setId(rs.getInt("id"));
            information.setName(rs.getString("name"));
            information.setAge(rs.getInt("age"));
            information.setBanji(rs.getString("banji"));
            information.setQq(rs.getString("qq"));
            information.setShouji(rs.getString("shouji"));
            information.setZhuangtai(rs.getString("zhuangtai"));
            list.add(information);
        }


        return list;
    }

    /***
     *插入数据 
     */

    public int addData(String sql) {
        int a = 0;
        try {
            a = statement.executeUpdate(sql);
            System.out.print("插入成功");
        } catch (SQLException e) {
            System.out.print("插入失败");
            e.printStackTrace();
        }
        return a;
    }

    /***
     *删除数据 
     */
    public void deleteData(String sql) {
        try {
            statement.executeUpdate(sql);
            System.out.print("删除成功");
        } catch (SQLException e) {
            System.out.print("删除失败");
            e.printStackTrace();
        }
    }

    /**
     * 查询单条数据,返回一个list集合,为了是在用户修改的时候,把数据带到指定页面
     */
    public List<Information> updataData1(String sql) {
        try {
            list1 = new ArrayList<Information>();
            ResultSet rs = statement.executeQuery(sql);
            while (rs.next()) {

                information = new Information();
                information.setId(rs.getInt("id"));
                information.setName(rs.getString("name"));
                information.setAge(rs.getInt("age"));
                information.setBanji(rs.getString("banji"));
                information.setQq(rs.getString("qq"));
                information.setShouji(rs.getString("shouji"));
                information.setZhuangtai(rs.getString("zhuangtai"));
                list1.add(information);
            }
            System.out.print("查成功");
        } catch (SQLException e) {
            System.out.print("查失败");
            e.printStackTrace();
        }
        return list1;
    }

    /**
     * 更改数据,如果成功返回1
     */
    public void updataData2(String sql) {
        try {
            int num = statement.executeUpdate(sql);
            System.out.print("更改成功");

        } catch (SQLException e) {
            System.out.print("更改失败");
            e.printStackTrace();
        }
    }

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

2. 自己写的变量调节器**

4:xml配置文件设置拦截,只要是后面带.do的都拦截。

 <servlet-mapping>
        <servlet-name>mainservlet</servlet-name>
       <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>mainservlet</servlet-name>
        <servlet-class>control.MainServlet</servlet-class>
    </servlet>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website