这两天闲来无事,为方便以后项目需要改变按钮功能,制作了一个自定义标签的解决方案。
使用方法:
1、将jar包导入,当然也可发按其它方式导入。
2、并将rar包解压,放入WEB目录下的某个位置(路径A)!至此导入完毕。
3、调用方式:
在待使用的页面增加下述代码(注意此处路径为A):
<%@ taglib prefix="g" uri="/rmt_button /rmt-tag.tld" %>
<link rel="stylesheet" type="text/css" href="/rmt_button/btn-style.css" />
<script language=JavaScript src="/rmt_button /Jbutton.js"></script>
自定义按钮使用方式:
<g:button key="SAVE" chkAccess="${false}" name="保存" id="saveBtn">
insertBtn.onclick = function(){
//你的方法体
}
</g:button>
4、上述按键key值和id值不可以重复。其中chkAccess属性暂时未后,其实它可以用来控制此按钮的权限,等后面有时候再上传。
5、如果对按钮样式不满意,可以调整css(不推荐),简单的做法是直接更改图片。
最终效果看图片附件。
类源码如下 :
package com.rmt.tags;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.ApplicationContext;
/**
* @author duanxw
* @Date Oct 12, 2010
* @package com.flagsky.tags
* @class Jbutton
* @since JDK1.5
* 描述: 自定义按钮标签
*/
public class Jbutton extends BodyTagSupport{
private static final Log log = LogFactory.getLog(Jbutton.class);
private HttpServletRequest request;
protected JspWriter out;
private String path;
private String id;
private String key;
private String name;
private boolean chkAccess;
@Override
public int doStartTag() throws JspException {
request = (HttpServletRequest) this.pageContext.getRequest();
path = request.getContextPath();
out = this.pageContext.getOut();
return this.EVAL_BODY_BUFFERED;
}
@Override
public int doAfterBody() throws JspException {
try {
String sid = "_"+id+"_id";//_insertBtn_id
out.print("<table id='" + sid + "' cellpadding='0' cellspacing='0'>"
+ " <tr>"
+ " <td>"
+ " </td>"
+ " <td>" + name + "</td>"
+ " <td></td>"
+ " </tr>"
+ "</table>");
out.print("<script language='javascript' >");
out.print("$(document).ready(function(){"
+ "var "+ id +" = new Jbutton(document.getElementById('" + sid + "'));"
+ id + ".conf = {key: '" + key + "'};" + this.bodyContent.getString()
+ id + ".init();" + "});");
out.print("</script>");
} catch (Exception e) {
e.printStackTrace();
}
return SKIP_BODY;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isChkAccess() {
return chkAccess;
}
public void setChkAccess(boolean chkAccess) {
this.chkAccess = chkAccess;
}
}
- 大小: 4.1 KB
分享到:
相关推荐
在ThinkPHP中,自定义标签(Tag Lib)是一种强大的特性,允许开发者扩展模板引擎的功能,使其更符合项目需求。下面将详细解释如何在ThinkPHP 3.0版本中实现自定义标签及其使用方法。 1. **自定义标签的作用** ...
在Struts2中,自定义标签通常由Action类和结果页面共同完成,提供了一种声明式编程的方式,降低了视图与控制层的耦合度。 二、自定义标签的优点 1. 提高代码可读性:自定义标签将复杂的业务逻辑封装起来,使得HTML...
总结起来,JSP自定义标签提供了一种强大的方式来封装复杂的功能,使代码更易于管理和复用。通过定义TLD,创建处理类,然后在JSP页面中使用,开发者可以构建出自己的标签库,从而提高开发效率和代码质量。在给定的...
自定义标签函数是在JSP 2.0中引入的一种新的特性,它允许开发者像使用EL(Expression Language)函数一样使用自定义功能。这些函数通常封装了一些简单但常用的操作,比如字符串处理、日期转换等。 1. **创建自定义...
在Spring框架中,自定义标签是一项非常实用的功能,它允许我们创建符合XML语法的自定义元素,以便在配置...自定义标签可以作为扩展Spring功能的一种方式,使我们能够按照自己的需求定制框架行为,从而提升开发效率。
在 Struts 中,自定义标签是提供一种灵活的方式,使得视图层(通常为 JSP 页面)能够更好地与业务逻辑交互,从而提高代码的可读性和可维护性。本文将深入探讨如何在 Struts 中实现自定义标签。 一、自定义标签概述 ...
在JSP(JavaServer Pages)开发中,自定义标签是一种扩展JSP功能的强大工具,它允许开发者创建可重用的代码组件,以提高代码的可读性和可维护性。本篇学习笔记将深入探讨JSP自定义标签的相关概念、创建方法以及实际...
JSTL(JavaServer Pages Standard Tag Library)是JSP的一种标准标签库,包括核心标签、XML标签、函数标签和JDBC标签等。JSTL中的某些标签功能可能与自定义标签重复,但在实际开发中,两者常常结合使用,互补不足。...
JSP自定义标签是用户定义的JSP语言元素,可以看成是一种通过标签处理器生成基于XML脚本的方法。自定义标签在功能上和逻辑上都与JavaBean类似,都是一组可重用的组件代码。相较于JavaBean,自定义标签可以使Web开发者...
Iterator 标签是 JSP 中的一种自定义标签,用于遍历 List 中的元素。 Iterator 标签的实现 Iterator 标签的实现主要包括两个部分:标签类和标签配置文件。 标签类 标签类是自定义标签的核心组件,负责执行标签的...
5. **属性和表达式语言(Expression Language, EL)**:自定义标签可以接收属性参数,这些参数可以是静态值,也可以是EL表达式,EL提供了一种简洁的方式来访问JavaBean或其他数据源。 6. **国际化(i18n)与资源包...
它们提供了一种封装HTML、CSS和JavaScript的方式,使得自定义标签更加强大和独立。例如,通过Shadow DOM可以实现样式隔离,防止自定义标签的样式影响到其他部分的页面。 7. **最佳实践**:在开发自定义标签时,遵循...
在提供的代码示例中,可以看到几种自定义标签: - `<red>`:用于改变文本颜色为红色。 - `<big>`:用于增加文本大小至22pt。 - `<zhuo>`:用于倾斜显示文本。 - `<next>`:用于插入换行符。 这种做法能够灵活地扩展...
自定义标签是JSP标准标签库(JSTL)的一种扩展,它能将复杂的业务逻辑封装起来,使JSP页面更加简洁。本篇文章将深入探讨自定义标签的概念、工作原理以及如何创建和使用它们。 一、自定义标签概述 自定义标签可以...
自定义标签是JSP的一部分,它们扩展了JSP的功能,提供了一种将业务逻辑或常见操作封装为可重用组件的方式。自定义标签的行为和外观由开发者定义,可以包含任意的Java代码和JSP动作。 2. **自定义标签的组成** - *...
JSP自定义标签是JavaServer Pages (JSP) 技术中的一种高级特性,它允许开发者创建可重用的自定义组件,以提高代码的可维护性和可读性。自定义标签可以看作是对HTML标签的扩展,它们提供了更加结构化和面向对象的方式...
在这个过程中,自定义标签(Custom Tags)成为了一种强大的工具,它允许开发者创建具有特定功能的自定义HTML元素,从而提高代码的可读性、可维护性和复用性。下面我们将深入探讨自定义标签的概念、工作原理以及如何...
此外,Struts2还支持动态标签,这是一种更为灵活的标签实现方式。动态标签可以根据不同的属性值生成不同的标签逻辑,这使得自定义标签的功能更加强大。 自定义标签的应用场景非常广泛,比如用于显示复杂的数据结构...
- **标签库**:一组功能相似或逻辑相关的标签集合,提供了一种组织自定义标签的方式。 - **标签库描述文件(TLD)**:XML文件,定义了标签库中各个标签及其对应处理类的关系,类似于web.xml。 - **标签处理类**:...