15年来,为全国50万+企业提供互联网数字化基础应用服务。
知 识
0514-86177077
9:00-17:00(工作日)
首 页
企业400电话
Hot
网站☯建设
微网小程序
商标✡知产
网络营销推广
AI电话机器人
热
彩铃©短信
增值拓展业务
新
主页
>
知识库
> JSP模板应用指南(下)
JSP模板应用指南(下)
热门标签:
山东智能云外呼管理系统
四川电信外呼系统靠谱吗
电销外呼系统 排行榜
珠海销售外呼系统运营商
地图标注制作道路
地图标注创业项目入驻
长春回拨外呼系统厂家
外呼系统啥意思
广州三五防封电销卡
执行模板
这里所讨论的模板将在三种定制标签下执行:
Template: insert
Template: put
Template: get
insert 标签中包含一个模板,但是在包含之前,put 标签存储有一些信息——name, URI和Boolean 值(用来指定将内容是包含还是直接显示)——关于模板所包含的内容。在template:get中包含(或显示)了指定的内容,随后将访问这些信息。
template:put 把Bean 存储在请求区域(但并不直接存储),因为如果两个模板使用了相同的内容名,一个嵌套模板就将覆盖封装模板中的内容。
为了保证每一个模板能够只存取它自己的信息,template:insert 保留了一个hashtable堆栈。每一个insert 开始标签建立一个 hashtable并把它放入堆栈。封装的put 标签建立bean并把它们保存到最近建立的hashtable中。随后,在被包含模板中的 get 标签访问hashtable中的bean。图 4 显示了堆栈是如何被保留的。
图 4. 在请求区域存储模板参数 点击放大(24 KB)
在图 4中每一个模板访问正确的页脚、footer.html 和footer_2.html。如果 bean被直接存储在请求区域,图 4中的step 5将覆盖在step 2中指定的footer bean。
模板标签执行
接下来我们将分析三个模板标签的执行: insert, put和get。我们先从图 5开始。这个图表说明了当一个模板被使用时,insert和put标签事件的执行顺序。
图 5. put和insert 标签执行顺序 点击放大(24 KB)
如果一个模板堆栈已经不存在,insert 开始标签就会建立一个并把它放置到请求区域。随后一个hashtable也被建立并放到堆栈中。
每一个 put 开始标签建立一个PageParameter bean,并存储在由封装的insert标签建立的hashtable中。
插入 end 标签包含了这个模板。这个模板使用get标签来访问由put标签建立的bean。在模板被处理以后,由insert 开始标签建立的hashtable就从堆栈中清除。
图 6显示template:get的顺序图表。
图 6. get标签的顺序图表 点击放大(11 KB)
模板标签列表
标签handler很简单。在例 3.a中列出了Insert标签类——标签handler。
例 3.a. InsertTag.java
packagetags.templates;
import java.util.Hashtable;
import java.util.Stack;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.TagSupport;
public class InserttagextendstagSupport {
private Stringtemplate;
private Stack stack;
// setter method fortemplate 属性
public void setTemplate(Stringtemplate) {
this.template =template;
}
public int doStartTag() throws JspException {
stack = getStack(); // obtain a reference to thetemplate stack
stack.push(new Hashtable()); // push new hashtable onto stack
return EVAL_BODY_INCLUDE; // pass tagbody through unchanged
}
public int doEndTag() throws JspException {
try {
pageContext.include(template); // includetemplate
}
catch(Exception ex) { // IOException or ServletException
throw new JspException(ex.getMessage()); // recast exception
}
stack.pop(); // pop hashtable off stack
return EVAL_PAGE; // evaluate the rest of the page after the tag
}
// taghandlers should always implement release() because
// handlers can be reused by the JSP container
public void release() {
template = null;
stack = null;
}
public Stack getStack() {
// try to get stack from request scope
Stack s = (Stack)pageContext.get属性(
"template-stack",
PageContext.REQUEST_SCOPE);
// if the stack's not present, create a new one和
// put it into request scope
if(s == null) {
s = new Stack();
pageContext.set属性("template-stack", s,
PageContext.REQUEST_SCOPE);
}
return s;
}
}
例 3.b 列出了 Put标签类和标签handler:
例 3.b. PutTag.java
packagetags.templates;
import java.util.Hashtable;
import java.util.Stack;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import beans.templates.PageParameter;
public class PuttagextendstagSupport {
private String name, content, direct="false";
// setter methods for Put tag attributes
public void setName(String s) { name = s; }
public void setContent(String s) {content = s; }
public void setDirect(String s) { direct = s; }
public int doStartTag() throws JspException {
// obtain a reference to enclosing insert tag
Inserttagparent = (InsertTag)getAncestor(
"tags.templates.InsertTag");
// puttags must be enclosed in an insert tag
if(parent == null)
throw new JspException("PutTag.doStartTag(): " +
"No Inserttagancestor");
// gettemplate stack from insert tag
Stacktemplate_stack = parent.getStack();
//template stack should never be null
if(template_stack == null)
throw new JspException("PutTag: notemplate stack");
// peek at hashtable on the stack
Hashtable params = (Hashtable)template_stack.peek();
// hashtable should never be null either
if(params == null)
throw new JspException("PutTag: no hashtable");
// put a new PageParameter in the hashtable
params.put(name, new PageParameter(content, direct));
return SKIP_BODY; // not interested in tagbody, if present
}
// taghandlers should always implement release() because
// handlers can be reused by the JSP container
public void release() {
name = content = direct = null;
}
// convenience method for finding ancestor names with
// a specific class name
privatetagSupport getAncestor(String className)
throws JspException {
Class klass = null; // can't name variable "class"
try {
klass = Class.forName(className);
}
catch(ClassNotFoundException ex) {
throw new JspException(ex.getMessage());
}
return (TagSupport)findAncestorWithClass(this, klass);
}
}
PutTag.doStarttag建立了一个 PageParameter bean – 在例 3.c中列出——然后存储到请求区域。
例 3.c. PageParameter.java
package beans.templates;
public class PageParameter {
private String content, direct;
public void setContent(String s) {content = s; }
public void setDirect(String s) { direct = s; }
public String getContent() { return content;}
public boolean isDirect() { return Boolean.valueOf(direct).booleanValue(); }
public PageParameter(String content, String direct) {
this.content = content;
this.direct = direct;
}
}
PageParameter将作为简单的占位符使用。我们来看一看例 3.d中的Gettag类和tag handler:
例 3.d. GetTag.java
packagetags.templates;
import java.util.Hashtable;
import java.util.Stack;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.TagSupport;
import beans.templates.PageParameter;
public class GettagextendstagSupport {
private String name;
// setter method for name attribute
public void setName(String name) {
this.name = name;
}
public int doStartTag() throws JspException {
// obtain reference totemplate stack
Stack stack = (Stack)pageContext.get attribute (
"template-stack", PageContext.REQUEST_SCOPE);
// stack should not be null
if(stack == null)
throw new JspException("GetTag.doStartTag(): " +
"NO STACK");
// peek at hashtable
Hashtable params = (Hashtable)stack.peek();
// hashtable should not be null
if(params == null)
throw new JspException("GetTag.doStartTag(): " +
"NO HASHTABLE");
// get page parameter from hashtable
PageParameter param = (PageParameter)params.get(name);
if(param != null) {
String content = param.getContent();
if(param.isDirect()) {
// print content if direct attribute is true
try {
pageContext.getOut().print(content);
}
catch(java.io.IOException ex) {
throw new JspException(ex.getMessage());
}
}
else {
// include content if direct attribute is false
try {
pageContext.getOut().flush();
pageContext.include(content);
}
catch(Exception ex) {
throw new JspException(ex.getMessage());
}
}
}
return SKIP_BODY; // not interested in tagbody, if present
}
// taghandlers should always implement release() because
// handlers can be reused by the JSP container
public void release() {
name = null;
}
}
GetTag.doStartTag从请求区域返回了页面参数bean并从bean中获得了content和direct 属性。然后,内容可以根据direct属性值选择是被包含还是显示。
结论
模板是一种简单而有非常有用的概念。模板的封装布局能够对布局改变的影响达到最小化。而且模板能够根据用户的不同来区分不同的内容,它还能够嵌套到其他的模板和JSP页面中。
全文完>
标签:
保定
潮州
绍兴
北海
肇庆
玉树
广元
吴忠
巨人网络通讯声明:本文标题《JSP模板应用指南(下)》,本文关键词 JSP,模板,应用,指南,下,JSP,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
相关文章
下面列出与本文章《JSP模板应用指南(下)》相关的同类信息!
JSP模板应用指南(下)
执行模板 这里所讨论的模板将在三种定制标签下执行: Template: insert Template: put Template: get insert 标签中包含一个模板,但是在包含之前,put 标签存储有一些信息——name, URI和Boolean 值(...
10-18
曲周水果店电话机器人(水果店座机电话)
本文目录一览:1、电话机器人是什么?2、什么是电话机器人?3、电话机器人功能有哪些呢?4、电话机器人有什么用?5、有用过电...
06-20
Lua常用时间函数使用实例
-- 获取当前的格林尼治时间print(os.time())-- 获取当前时间的字符串表示,形如:11/28/08 10:28:37print(os.date())-- 获取当前日期的字...
10-18
自动电销机器人好吗(机器人电销和人工电销)
本文目录一览: 1、请问电销机器人真的好用吗?用过的来2、电话机器人好用吗,有什么优势?3、电话机器人效果好不好?...
11-27
临沂电销机器人厂家(临沂电销机器人厂家地址)
本文目次一览: 1、做德律风呆板人的那么多,哪家更好呢? 2、有谁用过电销呆板人?哪个公司的对照好? 3、电销呆板人开...
11-25
影响网站排名好坏的因素分析
至于次因呢?就是自己没有题材可以写,不知道该写些什么,给自己找个借口吧!其实做我们这一行的,应该都很清楚,原创两...
10-19
智慧与共享并存,远传获浙江省科技进步奖
近日,浙江省科学技术厅发布了《2019年度浙江省科学技术奖行业评审结果公示》。由杭州远传新业科技有限公司、杭州电子...
10-19
python 利用PyAutoGUI快速构建自动化操作脚本
目录 一、背景 二、自动化的方案 三、思路和知识点 四、操作步骤 4.1 初识 PyAutoGUI 4.2 坐标系 4.3 点击 4.4 输入 4.5 汉字输入...
10-18
品牌理念识别系统的设计原则
品牌理念识别系统的每一个设计原则本身就是一种品牌文化,因为品牌理念是品牌文化的核心。品牌理念是品牌形象的灵魂,...
10-23
智能机器人客服有哪些厂家,有什么优势?
随着互联网的发展,企业的需求也在不断增多,客服作为企业与客户沟通的桥梁,起着非常重要的作用。随着人工智能技术的...
07-12
大连防封号电销系统
大连防封号电销系统 ,办理大连防封号 电销系统 ,大连防封号电销系统办理 亿卡惠通讯公司 电销卡 服务商,办理全国各地电...
11-18
山西省5G不封号系统降价-实力认证
山西省5G不封号系统降价牌宣传等。如果非要说一个电话机器人的缺点,那可能就是不如人工灵活。但总体来看,电话机器人...
01-15
合并SQL脚本文件的方法分享
概述 -------------------------------------------------------------------------------- 在平时的工作中,我会经常的碰到这样需要合并SQL脚本的...
10-18
商标与需求
很多企业都明白,营销是要满足消费者的需求的,但是当你向他们提出这样的疑问:你的消费者究竟需要什么?好像总是不能...
10-23
新乡外呼系统多少钱一个月(外呼系统安全吗)
本篇文章给大家谈谈新乡外呼系统多少钱一个月,以及外呼系统安全吗对应的知识点,希望对各位有所帮助,不要忘了收藏本...
05-17
无锡房地产呼叫中心软件供应商,电话销售系统办理公司-服务靠谱
无锡房地产呼叫中心软件供应商,电话销售系统办理公司特别是智能问答和智能导航功能,此外,还需要关注平台是否是否拥...
12-17
电销卡为什么可以高频外呼还不会被封?
电销卡本质上来说就是一款电话卡,是很多电销人员工作时使用的,许多朋友非常好奇,为什么不使用三大运营商的电话卡,...
03-24
通过换位思考提高客户服务质量
前几天看到一则报道:某烟草公司客户经理利用休息天的时间到零售户店中,体验零售户一天的生活,从而加深了对零售户的...
10-22
Python 文本滚动播放器的实现代码
效果 双击开始播放,继续双击可以加速播放 右键可以弹出菜单:播放、暂停、退出 左键可以拖动窗口 代码 from tkinter impor...
10-18
昆明自动外呼系统加盟(云南外呼公司)
今日给各位共享昆明主动外呼体系加盟的常识,其间也会对云南外呼公司进行解说,假设能可巧处理你现在面对的问题,别忘...
11-07
电销卡公司封号怎么办
电销卡公司封号怎么办 但是三大运营商发行的普通手机卡,很显然无法满足电销行业的用卡需求,因为对三大运营商已经做...
12-16
安阳企业电销机器人厂家(安阳市工业电器总公司电器厂)
今天给各位分享安阳企业电销机器人厂家的知识,其中也会对安阳市工业电器总公司电器厂进行解释,如果能碰巧解决你现在...
11-06
Unix vmstat 命令详解宝典
在一个多CPU系统中,vmstat统计所有个数的CPU的平均输出.为每个进程进行统计.没有参数时,vmstat显示每一行是自从系统启动以后...
10-20
400号码如何申请(400电话号码申请流程)
400号码如何申请(400电话号码申请流程) 400电话号码是企业客服、售后服务等联系客户的重要工具,如何申请400号码也成为...
08-14
电话机器人工作效率高的原因有哪些?
电话机器人工作效率高的原因有哪些?想要提高工作效率,怎样让人完成巨大的工作量,这个过程还是很简单,这也是为什么...
10-31
地图店铺上添加的图片怎么换标?地图店铺上添加的图片怎么换?
怎么让店铺上美团? 1、在手机里下载“美团开店宝” 2、点击图中的“注册”。 3、设置美团的账号和密码,填写手机号,然...
11-26
使用400电话的公司才靠谱
相信现在的时代不断进步已经让人们都看到了幸福,人性化的各种设计给我们带来了很多的方便。眼下的400电话就是我们需要...
12-22
购买了一个商标31类还需注册35类吗?
有些用户是自己对 商标 31 类 进行了购买,那么这个时候还需要再注册 35 类吗? 要看行业 首先对于一个行业来说,往往是不...
10-23
400电话企业办理400电话,服务精准、高效、专业 、贴心
作为一个专门为企业事业单位设计的国家统一号码虚拟电话-400电话。 所有拨打北京企业400电话号码的电话号码将转移到预设...
01-12
多彩炫铃是什么?
多彩炫铃是什么? 多彩炫铃是指,系统根据企业设置在不同时段和星期播放个性化的企业彩铃,也就意味着企业需要根据不...
01-13
宝鸡自建外呼系统的简单介绍
本篇文章给大家谈谈宝鸡自建外呼系统,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览:...
05-04
烟台自动电销机器人排名(烟台自动化公司排名)
本文目次一览: 1、电销呆板人公司排名,电销呆板人哪家公司做的对照好 2、电销呆板品德牌排名,左近客进了前三吗? ...
11-25
昆明石柱电话机器人(昆明智能机器人)
本文目次一览: 1、德律风呆板人使用起来怎样? 2、1183102是什么德律风必修 3、想叨教一下智能语音呆板人一天可能打几何...
11-25
在线市场和商标侵权责任
现在,提供第三方平台销售产品的网站代表了世界上一些最成功的企业。但是,电子商务的快速发展本质意味着商标侵权问题...
10-23
商标使用与商标权侵权判定关系的具体界定
从商标混淆的基本原理和消费者认知的客观情况看,商标使用应是商标权侵权判定的前提,或者说是侵权得以成立所应当具备...
10-23
信用卡电销是(信用卡电销是什么工作)
本文目录一览: 1、信誉卡电销挑选什么意思2、安全信誉卡权益电销公司在哪里3、交行分期客服电销是干嘛的4、安全银行信...
04-22
省长现场出题:南昌成服务外包人才之都四命题待解
13日上午,省政协十届二次会议联组讨论会第二组的讨论正在热烈进行中,来自科技界别的省政协委员陈苏关于《大力发展江...
10-22
虚拟400电话,400虚拟号码办理
虚拟400电话,400虚拟号码办理400电话代理商为你解答。 400虚拟线路也就是简单给你设置呼叫转移,也就是在拨打400号码的时候...
07-20
Windows7下ADSL拨号出现711错误的原因和5种解决办法
一些朋友新安装了Windows 7,在进行ADSL拨号的时候出现了711错误。这是什么原因呢?如何解决?下面就介绍5种方法: ADSL拨号...
10-20
常州电销卡哪里办理
常州电销卡哪里办理 ,常州 电销卡 哪里可以办理, 常州电销卡代理 小芳通信团队主要成员均具丰富的行业经验,以不断的...
12-04
福州防封电销防封软件要多少钱-注意!
福州防封电销防封软件要多少钱统自动拨号。支持一键生成号段,坐席被动接听电话,提高了坐席人员的电话接通效率,自动...
01-16
AMD宏图伟业:2017年必然盈利
在台北电脑展上,AMD又一次颁布颁发了新的处理器、GPU及办事器产品计划,Ryzen处理器继续完善布局,EPYC办事器芯片将在6月...
10-16
杭州云外呼系统运营商(杭州云呼网络科技)
本文目次一览: 1、此刻外呼零碎行情怎样?为什么照旧一向不不变 2、外呼零碎是什么必修 3、网络德律风外呼零碎哪个好?...
11-25
客服管理系统的系统功能有哪些
客服管理系统是目前市面上比较常见的系统平台,能够同时实现管理与服务的系统平台。客服管理系统不是简单的只对客服人...
07-13
内蒙古电销语音机器人培训(哈尔滨电销机器人
本文目录一览:1、智能语音机器人多少钱一台,电销的2、 电话机器人是什么?3、电销职业想运用语音机器人,有什么好的...
11-29
400开头录音电话,有400开头的电话打电话
400开头录音电话,有400开头的电话打电话400电话代理商为你解答。 在400电话平台又增加了呼叫中心平台,从而使400电话具有通...
07-20
迈可先生用IVR智能语音交互系统,释放人工客服工作量
过去我们花了很多篇幅介绍智能电话机器人在外拨开发业务的技术与应用,然而智能电话机器人更佳的应用是在接听、也就是...
10-19
手机号被封号了可以解封吗?
如今大多数企业基本都有电销模式,而企业基本都是使用普通电话卡进行拨打,所以很容易出现封号的情况,因为普通电话卡...
01-29
ai语音电话机器人案例分析(ai电话机器人到底是什么)
本文目录一览:1、AI电话诈骗有多逼真?2、AI电话机器人怎么样3、AI语音机器人所拥有的优势4、ai人工电话机器人选哪家实惠...
06-20
福建电话外呼系统好用吗(厦门外呼系统)
本文目次一览: 1、被动外呼体系好用吗? 2、外呼体系好用吗? 3、外呼体系怎样样? 被动外呼体系好用吗? 我觉得挺好用...
11-25
中山语音外呼系统报价(外呼电话软件报价)
本文目录一览: 1、做电话营销。一套一键外呼体系多少钱?2、外呼体系一个多少钱,有哪些功用?3、外呼体系装置需求哪...
11-28
JSP模板应用指南(下)
执行模板 这里所讨论的模板将在三种定制标签下执行: Template: insert Template: put Template: get insert 标签中包含一个模板,但是在包含之前,put 标签存储有一些信息——name, URI和Boolean 值(...
10-18
本页收集关于JSP模板应用指南(下)的相关信息资讯供网民参考!
推荐文章
湖北保险智能外呼系统价格多少
佛山营销电销机器人线路
西安打电话机器人
城市地图标注怎么标
用机器人打电销后怎么回访
万禾企业地图标注
沈阳智能外呼系统中心
外呼系统那个好
小芯机器人电销
高德地图底图标注怎么设置
贵阳外呼电销机器人线路
谷歌快捷酒店地图标注
成都智能电话机器人比较
镇江智能外呼系统多少钱
宁波人工外呼系统平台
百度地图的标注的图标
贵港电子地图标注店
浙江正规电销机器人供应商
铜川移动外呼系统
免费微信地图标注
代办百度地图标注
鄂州ai电话机器人哪家便宜
办理银行卡电话卡月反400
斑马电话机器人营销
电销机器人 电话卡
杭州防封电销卡代理政策
百度地图标注县的区域
销售系统外呼时间
地图标注小程序
电销机器人贴牌搭建
唐山外呼系统专卖
地图标注问题描述
绵阳人工外呼系统
ai电销机器人是怎么合作的
江苏
开车地图标注软件
漳州人工外呼系统好用吗
呼多多机器人电销
温州智能语音电销机器人厂家
诚信经营外呼系统
接听电话机器人自动回复别人
常州电销机器人好用吗
岳阳电销外呼系统软件有哪些
电销外呼数据管理系统
佛山导航地图标注
寿光地图标注商户
贵阳手机自动外呼系统好用吗
睿声的外呼系统
400电话怎么办理
云企呼电销机器人
南宁地图标注
徐州手机外呼系统开发
gom小地图标注
山西百应电话机器人
沈阳外呼防封系统是什么
ps地图标注位置
北京电商智能外呼系统联系方式
电销机器人兼职
通力外呼线路
江门ai电话机器人
福建外呼系统公司
外呼系统定位
高德地图标注店铺地址
广州电子地图标注
内蒙古高频外呼系统多少钱一个月
阿里云400电话申请
微店店铺地图标注
怎样在地图标注销售区域
外呼系统怎么接入线路
无锡防封电销卡办理靠谱
山谷地图标注
贵州外呼系统公司
重庆营销电销机器人费用
安徽高频外呼系统怎么安装
成都专业外呼系统
联通公司可以办理400电话
诈骗外呼系统责任
400电话代理商办理注意
长江三角洲地图标注
外呼系统怎么计算时间的
百应电销机器人靠谱吗
惠州便宜外呼系统软件
银川营销外呼系统代理
新野400电话办理网点
百应外呼系统会扣对方话费吗
汶上外呼营销系统
怎么能拥有电话机器人
赣州哪里有移动大数据外呼系统
汉川电销机器人
怎么修改高德地图标注店铺
佛山呼叫中心外呼系统如何
外呼系统考核
郸城县地图标注
吴江电销机器人
偃师电销机器人
企业400电话办理哪个品牌好
电话机器人的电话列表
南宁网络外呼系统线路
河南洛阳机器人电销代理商
淮安办理400电话
福建正规移动大数据外呼系统
安徽
百度地图标注太多加载太慢
怎么举报电销机器人
百度地图标注需要钱么
舒城地图标注
高德导航地图标注申请
浙江电商智能外呼系统商家
高德地图标注兼职入驻
湖南外呼管理系统
国际地图标注位置
70 度ai智能电销机器人
长春智能外呼系统收费
徐州外呼系统参考价格
企业培训电销机器人
运营商精准大数据外呼系统
昆明电销外呼系统平台
下级生制服店的地图标注
重庆400电话办理首选易号网
商户地图标注大全
JSP模板应用指南(下)
上一篇:
JSP模板应用指南(上)
下一篇:
JSP简明教程:令人兴奋的脚本编程
一起分享吧
产品关键词: JSP模板应用指南(下) JSP,模板,应用,指南,下,JSP,