标签控制页面1
来源:互联网 发布:软件猎手官方下载 编辑:程序博客网 时间:2024/04/27 17:58
使用标签控制页面逻辑案例:
1、 防止盗链<c:referer site=”” page=””>
Jsp页面的内容:<c:referer site=”http://localhost”page=”index.jsp”>
Tld文件的描述:<tag>
<name>referer</name>
<tag-class>com.hbsi.web.tag.RefererTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>site</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>page</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
标签处理器:public class RefererTagextends SimpleTagSupport {
private String site;
private String page;
public void setSite(String site) {
this.site = site;
}
public void setPage(String page) {
this.page = page;
}
@Override
public void doTag()throws JspException, IOException {
// 获取request对象
JspContext jc = this.getJspContext();
PageContext pc = (PageContext) jc;
HttpServletRequest request = (HttpServletRequest) pc.getRequest();
HttpServletResponse response = (HttpServletResponse) pc.getResponse();
String referer = request.getHeader("referer");
if (referer ==null || !referer.startsWith("http://localhost")) {
// 跳转到首页
//获取地址的完整路径
if (page.startsWith(request.getContextPath())) {
response.sendRedirect(page);
} else if (page.startsWith("/")) {//获取加/的路径
response.sendRedirect(request.getContextPath() + page);
} else {
//最不完整的路径
response.sendRedirect(request.getContextPath() + "/" + page);
}
// 不运行以下的代码
throw new SkipPageException();
}
}
}
2、条件选择<c:if test=””>
Jsp的页面:<%session.setAttribute("user","蛋蛋");%>
<c:if test="${user!=null}">
该回家了,蛋蛋!
</c:if>
Tld文件的描述:<tag>
<name>if</name>
<tag-class>com.hbsi.web.tag.IfTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
标签处理器:public class IfTagextends SimpleTagSupport {
private boolean test;
public void setTest(boolean test) {
this.test = test;
}
@Override
public void doTag()throws JspException, IOException {
if(test){
JspFragment jf=this.getJspBody();
jf.invoke(null);
}
}
}
- 标签控制页面1
- 标签控制页面2
- 标签控制页面
- 自定义标签taglib控制页面元素权限
- 使用标签控制页面逻辑案例
- 最新简单标签JSP页面控制详解
- 简单标签的使用自定义标签控制页面内容(标签体)是否输出、
- 使用自定义标签来控制整个JSP页面是否显示
- 自定义jsp标签实现页面元素的权限控制
- 页面控制利器——JSTL标签库
- 通过自定义标签,实现 页面 按钮显示控制
- 控制滚动标签元素的同时不滚动页面
- jstl自定义标签实现jsp页面元素权限控制
- Struts2标签中用于jsp页面显示可控制次数的计数器标签
- web JSP页面按钮权限控制(tld标签标签类实现BodyTagSupport)
- 自定义标签之三—传统自定义标签与简单自定义标签关于控制整个页面是否输出
- 页面控制
- 【自定义标签】开发流程、执行流程、传统标签库、简单标签库——控制往内容是否输出、控制页面是否输出
- C#正则表达式小结
- object与embed的区别,嵌入flash
- 提交ACTION的两种传值方式 二
- PE区段添加编写中的一点心得~
- java处理多线程并发
- 标签控制页面1
- 堆与栈有什么区别?
- IT有哪些相对较好的认证机构?
- Lucene 索引创建
- 自定义标签
- 字符串倒序
- android 读、写、删短信息
- oracle: ocp题解与实验(14/205)
- JavaScript本地图片预览