1、自定义标签的实现包括以下文件:
BaseHanderTag.java (自定义标签基类)
DrawListBoxTag.java (生成自定义标签,此类继承基类)
HandlerServlet.java (ajax 业务控件类)
ParseDB.java (数据访问类)
SqlClass.java (sql语句类)
具体代码详见自定义标签代码:
1. 在src的com.ERP.pub.util的目录下创建以下的文件:
BaseHanderTag.java (自定义标签基类)
DrawListBoxTag.java (生成自定义标签,此类继承基类)
HandlerServlet.java (ajax 业务控件类)
ParseDB.java (数据访问类)
SqlClass.java (sql语句类)
2. 在web-info的目录下创建struts-html.tld的文件信息。
3. 创建jsp页面.。类似下拉框的形式。
页面代码:
-<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="WEB-INF/struts-html.tld" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'flowstepframe.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="../include/styles.css">
</head>
<body>
<s:resourceselect property="status" resourceid="1000" isnull="1" styleClass="sselect" style="width:10%;"></s:resourceselect>
</body>
</html>
使用方式:
1、 在要使用该标签的jsp页面中加入如下代码:
2、 使用该标签时示例代码如下:
上面代码中:resourceid 属性表示资源编号的值,对应数据库表Pub_ResourceType中TypeID的值,property属性相当于html标签中的name属性。resourceid和property属性都属于必须属性,styleClass属性相当于html标签中的class属性,表示引用样式。当做下拉框联动时可以添加onchange事件,用法与html标签相同。
二、自定义选择标签< c:customtag />
1、jsp页面导入自定义标签:
2、 导入js文件和css文件:
3、引用自定义标签名:
说明:标签的onchange事件(输入查询的条件,按回车或失去焦点时文本框无刷新显示相关信息)。
标签的onclick事件(用户点击按钮时根据resourceid的值执行不同的action,弹出对话框显示对应得信息)。
name 属性为自定义标签名
styleClass属性相当于html标签中的class属性,表示引用样式。
resourceid 的值是必须的,是以下四个参数:
bm_supplier(供应商信息),cm_corpcustor(客户信息),sm_employee(员工信息),st_materialbookin(库存信息)
二、例子运行效果:
CustomTagTest.jsp
(二图)
getAllSuppliersSuccess.jsp
(二图)
CustomTagTest.jsp
(三图)
CustomTagTest.jsp
(四图)