struts1.X总结(20-30)

本文介绍如何创建自定义JSP标签库并详细解释了标签库的使用方法。同时,展示了用户管理功能的实现过程,包括前端交互、后端逻辑及数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、定义类和方法(方法必须是public static 

public class MyFunctions {

   

    /**

     * 方法必须是public static

     * @param name

     * @return

     */

    public static String sayHello(String name) {

       return "Hello " + name;

    }

}

    2、编写自定义tld文件,并且将此文件放到WEB-INFWEB-INF任意子目录下

 

内容全查看fn.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>my functions library</description>

  <display-name>my functions</display-name>

  <tlib-version>1.0</tlib-version>

  <short-name>my</short-name>

  <!-- 自己写的uri -->

  <uri>http://www.bjsxt.com/functions</uri>

 

  <function>

    <name>sayHello</name>

    <function-class>com.bjsxt.struts.MyFunctions</function-class>

    <!-- 包装类要写完整类名 -->

    <function-signature>java.lang.String sayHello(java.lang.String)</function-signature>

  </function>

 

</taglib>

    3、在jsp中采用taglib指令引入自定义函数库

<%@ taglib prefix="my" uri="http://www.bjsxt.com/functions"%>

 

    4、采用 前缀+冒号+函数名 调用即可

服务器

request.setAttribute("name", "Tom");

客户端

<li>测试自定义函数库</li><br>

    ${my:sayHello(name) }<br>

 

12、工程的建立

 

 

 

联合删除用

 

Jsp修改页面

function addUser() {

       window.self.location = "user_input.jsp"; 

    }

   

    function modifyUser() {

       var count = 0;

       var j = 0;

       for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) {

           if (document.getElementsByName("selectFlag")[i].checked) {

              j = i;

              count++;

           }

       }

       if (count == 0) {

           alert("请选择需要修改的用户!");

           return;

       }

       if (count > 1) {

           alert("一次只能修改一个用户!");

           return;

       }

       if (count == 1) {

           window.self.location = "find.do?userId=" + document.getElementsByName("selectFlag")[j].value;

       }

    }

   

    function deleteUser() {

       var flag = false;

       for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) {

           if (document.getElementsByName("selectFlag")[i].checked) {

              flag = true;

           }     

       }

       if (!flag) {

           alert("请选择需要删除的用户!");

           return;

       }

       if (window.confirm("确认删除吗?")) {

           with (document.getElementById("userForm")) {

              method = "post";

              action = "del.do";

              submit();

           }

       }

    }

      

    function checkAll() {

       for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) {

           document.getElementsByName("selectFlag")[i].checked = document.getElementById("ifAll").checked;

       }

    }

 

</script>

    </head>

 

    <body class="body1">

       <form name="userform" id="userform">

           <div align="center">

              <table width="95%" border="0" cellspacing="0" cellpadding="0"

                  height="35">

                  <tr>

                     <td class="p1" height="18" nowrap>

                         &nbsp;

                     </td>

                  </tr>

                  <tr>

                     <td width="522" class="p1" height="17" nowrap>

                         <img src="../images/mark_arrow_02.gif" width="14" height="14">

                         &nbsp;

                         <b>系统管理&gt;&gt;用户维护</b>

                     </td>

                  </tr>

              </table>

              <hr width="100%" align="center" size=0>

           </div>

           <table width="95%" height="20" border="0" align="center"

              cellspacing="0" class="rd1" id="toolbar">

              <tr>

                  <td width="49%" class="rd19">

                     <font color="#FFFFFF">查询列表</font>

                  </td>

                  <td width="27%" nowrap class="rd16">

                     <div align="right"></div>

                  </td>

              </tr>

           </table>

           <table width="95%" border="1" cellspacing="0" cellpadding="0"

              align="center" class="table1">

              <tr>

                  <td width="55" class="rd6">

                     <input type="checkbox" name="ifAll" onClick="checkAll()">

                  </td>

                  <td width="119" class="rd6">

                     用户代码

                  </td>

                  <td width="152" class="rd6">

                     用户名称

                  </td>

                  <td width="166" class="rd6">

                     联系电话

                  </td>

                  <td width="150" class="rd6">

                     email

                  </td>

                  <td width="153" class="rd6">

                     创建日期

                  </td>

              </tr>

              <logic:empty name="userlist">

              <tr>

                  <td class="rd8" colspan="6">

                     <font color="red">没有符合条件的数据</font>

                  </td>

              </tr> 

              </logic:empty>

              <logic:notEmpty name="userlist">

                  <logic:iterate id="user" name="userlist">

                     <tr>

                         <td class="rd8">

                            <input type="checkbox" name="selectFlag" class="checkbox1"

                                value="<bean:write name="user" property="userId"/>">

                         </td>

                         <td class="rd8">

                            <bean:write name="user" property="userId" />

                         </td>

                         <td class="rd8">

                            <bean:write name="user" property="userName" />

                         </td>

                         <td class="rd8">

                            <bean:write name="user" property="contactTel" />

                         </td>

                         <td class="rd8">

                            <bean:write name="user" property="email" />

                         </td>

                         <td class="rd8">

                            <bean:write name="user" property="createDate" format="yyyy-MM-dd HH:mm:ss" />

                         </td>

                     </tr>

                  </logic:iterate>

              </logic:notEmpty>

           </table>

           <table width="95%" height="30" border="0" align="center"

              cellpadding="0" cellspacing="0" class="rd1">

              <tr>

                  <td nowrap class="rd19" height="2">

                     <div align="left">

                         <font color="#FFFFFF">&nbsp;&nbspxx&nbsp</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                         <font color="#FFFFFF">当前第</font>&nbsp

                         <font color="#FF0000">x</font>&nbsp

                         <font color="#FFFFFF"></font>

                     </div>

                  </td>

                  <td nowrap class="rd19">

                     <div align="right">

                         <input name="btnAdd" type="button" class="button1" id="btnAdd"

                            value="添加" onClick="addUser()">

                         <input name="btnDelete" class="button1" type="button"

                            id="btnDelete" value="删除" onClick="deleteUser()">

                         <input name="btnModify" class="button1" type="button"

                            id="btnModify" value="修改" onClick="modifyUser()">

                     </div>

                  </td>

              </tr>

           </table>

 

From表单收集

 

private String[] selectFlag;

 

action

 

UserActionForm uaf = (UserActionForm)form;

      

       //取得需要删除的userId的集合

       String[] userIdList = uaf.getSelectFlag();

 

       //调用业务逻辑操作

       UserManager.getInstance().deleteUsers(userIdList);

 

Management

 

public class UserManager {

   

    private static UserManager instance = new UserManager();

 

public static UserManager getInstance() {

       return instance;

    }

public void deleteUsers(String[] userIdList) {

       Connection conn = null;

       try {

           conn = DB.getConn();

           userDao.deleteUsers(conn, userIdList);

       }catch(Exception e)

 

Userdao

 

public interface UserDao {

 

    public void deleteUsers(Connection conn, String[] userIdList);

 

userdao实现中

 

    public void deleteUsers(Connection conn, String[] userIdList) {

       StringBuffer sbfSql = new StringBuffer();

       for (int i = 0; i < userIdList.length; i++) {

           sbfSql.append("'")

              .append(userIdList[i])

              .append("'")

              .append(",");

       }

       String sql = "delete from t_user where user_id in (" + sbfSql.substring(0, sbfSql.length()-1) + ")";

       Statement stmt = null;

       try {

           stmt = conn.createStatement();

           stmt.executeUpdate(sql);

       }catch(SQLException e) {

           e.printStackTrace();

       }finally {

           DB.closeStmt(stmt);

           DB.closeConn(conn);

       }

 

Jsp列表页面:

 

 

<html>

    <head>

       <meta http-equiv="Content-Type" content="text/html; charset=GB18030">

       <title>用户维护</title>

       <link rel="stylesheet" href="../style/drp.css">

       <script type="text/javascript">

   

    function addUser() {

       window.self.location = "user_input.jsp"; 

    }

   

    function modifyUser() {

       var count = 0;

       var j = 0;

       for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) {

           if (document.getElementsByName("selectFlag")[i].checked) {

              j = i;

              count++;

           }

       }

       if (count == 0) {

           alert("请选择需要修改的用户!");

           return;

       }

       if (count > 1) {

           alert("一次只能修改一个用户!");

           return;

       }

       if (count == 1) {

           window.self.location = "find.do?userId=" + document.getElementsByName("selectFlag")[j].value;

       }

    }

   

    function deleteUser() {

       var flag = false;

       for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) {

           if (document.getElementsByName("selectFlag")[i].checked) {

              flag = true;

           }     

       }

       if (!flag) {

           alert("请选择需要删除的用户!");

           return;

       }

       if (window.confirm("确认删除吗?")) {

           with (document.getElementById("userForm")) {

              method = "post";

              action = "del.do";

              submit();

           }

       }

    }

      

    function checkAll() {

       for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) {

           document.getElementsByName("selectFlag")[i].checked = document.getElementById("ifAll").checked;

       }

    }

 

</script>

    </head>

 

    <body class="body1">

       <form name="userform" id="userform">

           <div align="center">

              <table width="95%" border="0" cellspacing="0" cellpadding="0"

                  height="35">

                  <tr>

                     <td class="p1" height="18" nowrap>

                         &nbsp;

                     </td>

                  </tr>

                  <tr>

                     <td width="522" class="p1" height="17" nowrap>

                         <img src="../images/mark_arrow_02.gif" width="14" height="14">

                         &nbsp;

                         <b>系统管理&gt;&gt;用户维护</b>

                     </td>

                  </tr>

              </table>

              <hr width="100%" align="center" size=0>

           </div>

           <table width="95%" height="20" border="0" align="center"

              cellspacing="0" class="rd1" id="toolbar">

              <tr>

                  <td width="49%" class="rd19">

                     <font color="#FFFFFF">查询列表</font>

                  </td>

                  <td width="27%" nowrap class="rd16">

                     <div align="right"></div>

                  </td>

              </tr>

           </table>

           <table width="95%" border="1" cellspacing="0" cellpadding="0"

              align="center" class="table1">

              <tr>

                  <td width="55" class="rd6">

                     <input type="checkbox" name="ifAll" onClick="checkAll()">

                  </td>

                  <td width="119" class="rd6">

                     用户代码

                  </td>

                  <td width="152" class="rd6">

                     用户名称

                  </td>

                  <td width="166" class="rd6">

                     联系电话

                  </td>

                  <td width="150" class="rd6">

                     email

                  </td>

                  <td width="153" class="rd6">

                     创建日期

                  </td>

              </tr>

              <logic:empty name="userlist">

              <tr>

                  <td class="rd8" colspan="6">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值