JSP自定义业务标签
自定义标签:
package cn.hv.tag; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport; public class BodyTag extends BodyTagSupport { private String model;
private int pc ; public int doStartTag() throws JspException {
JspWriter out = pageContext.getOut();
return model.equals("yyt") ? super.EVAL_BODY_INCLUDE : super.SKIP_BODY;
} public int doAfterBody() throws JspException {
if(pc > 0 ){
pc--;
return super.EVAL_BODY_AGAIN;
}
return super.SKIP_BODY;
} public String getModel() {
return model;
} public void setModel(String model) {
this.model = model;
} public int getPc() {
return pc;
} public void setPc(int pc) {
this.pc = pc;
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>c</short-name>
<tag>
<name>enable</name>
<tag-class>cn.hv.tag.BodyTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>model</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pc</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
<jsp-config>
<taglib>
<taglib-uri>/web-html</taglib-uri>
<taglib-location>
/WEB-INF/web-html.tld
</taglib-location>
</taglib>
</jsp-config>
以上就是自定义标签:
web.xml :配置自定义的标签文件
EVAL_BODY_INCLUDE:显示标签体内
EVAL_BODY_AGAIN:循环
SKIP_BODY:不执行body体里面的内容
SKIP_PAGE:
本质:就是控制组件化,但是在我目前的项目中使用的较少,我们都是结合数据库表设计权限系统,前台基于JS做菜单以及按钮,页签的权限控制
===========================================================================================
场景:
1.<c:permission menus=${lists} val=><li></li></c:permission>
2.<% if %>html代码<% else %>html代码<%}%> 一般都是基于这种控制html输出
3.JS创建组件,完全前台控制
===========================================================================================
JSP自定义业务标签的更多相关文章
- Jsp 自定义tag标签
1转自:https://blog.csdn.net/yusimiao/article/details/46835617 Jsp自定义tag标签 自定义tag标签的好处 程序员可以自定一些特定功能的标记 ...
- JSP自定义简单标签入门之带有属性
上面写的那个简单标签来控制页面中标签内容的重复次数是固定的,这就是权限"写死了",这是非常不好的行为,因为其灵活性太差.所以下面就介绍一种使用属性来控制标签内容输出次数的方法. 准 ...
- JSP自定义标签/自定义标签打包
有这样一个业务需求: 当我们在编辑某个用户时,需要设置该用户的角色,在转到编辑页面时,就需要自动勾选上该用户已经选择的角色,如下图: 当我们点击编辑时,会查询用户详细信息,以及角色集合传到编辑页面. ...
- JSP 自定义标签
0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import ...
- JSP自定义标签(标签处理器 tld文件)
标签的形式如下,标签处理器就是处理JSP页面中的标签的属性和内容,定义好之后就跟使用JSTL一样 <标签名 属性名="属性值" 属性名="属性值"> ...
- JSP自定义标签开发步骤
自定义的标签库一.基本概念: 1.标签(Tag): 标签,通常也成为动作,是一组按照XML语法格式编写的代码片段,在JSP中,用来封装在页面中可重复利用的逻辑,通过标签可以使JSP网页变得简洁并且易于 ...
- 使用自定义tld标签简化jsp的繁琐操作
最近做一个树形结构的展示,请求目标页面后,后台只返回简单的List,虽然有想过在jsp页面内做一些操作简化,但是太繁琐了,其他的标签又不能满足需求,所以只能自己做一个.使用tld标签可以简化jsp代码 ...
- jsp自定义标签(时间格式化包括Long转时间)
1.jsp自带标签的格式化: jstl fmt 函数大全:主要针对格式化功能 Tags fmt:requestEncoding fmt:setLocale fmt:timeZone fmt:set ...
- JSP自定义标签开发入门
一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发 ...
随机推荐
- XML_CPP_ZC_libXml2
1.错误信息: /* * Use the following function to reset the two global variables * xmlGenericError and xmlG ...
- MongoDB中的数据聚合工具Aggregate和Group
周煦辰 2016-01-16 来说说MongoDB中的数据聚合工具. Aggregate是MongoDB提供的众多工具中的比较重要的一个,类似于SQL语句中的GROUP BY.聚合工具可以让开发人员直 ...
- Java Spring-AOP中的动态代理
2017-11-10 16:17:12 AOP中有两种代理方式,分别是JDK的动态代理和CGLib的动态代理. JDK的动态代理 Proxy 提供用于创建动态代理类和实例的静态方法,它还是由这些方法创 ...
- [转]PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用
http://www.cnblogs.com/cxd4321/archive/2009/03/07/1405475.html 在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般 ...
- OAF 设置右对齐
public void setAllColsFormat(OAPageContext paramOAPageContext, OAWebBean paramOAWebBean) { OATableBe ...
- JavaScript---详解scroll
scroll scroll--译为‘滚动’,他是非常常用的属性. 滚动宽高 scrollHeight scrollHeight表示元素的总高度,包括由于溢出而无法展示在网页的不可见部分(不要误解为只有 ...
- IIS网页GZIP压缩
1.开GZIP有什么好处? 答:Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输的数据量,提高浏览的速度. 2.如何启用IIS的Gzip压缩功能: 答:首先,如果你需 ...
- hdu3572
题解: 网络流 判断是否为漫流 代码: #include <cstdio> #include <cstring> #include <algorithm> #inc ...
- please complete all spokes before continuing 提示
解决方法:输入“1”,按Enter键输入“2”,按Enter键输入“q",按Enter键输入“yes”,按Enter键
- 找到链表的倒数第k个节点 python
题目:给定一个链表的头节点,输出链表倒数第k个节点的值 分析:最简单的思路就按顺序访问链表节点,得到链表的长度x之后,再次从头节点出发,访问到第x-k+1个节点时,就是链表倒数第k个节点,但是这样的方 ...