java 开发jsp 自定义标签
2013-05-23 12:36
211 查看
此文目的,纠正网上一些不正确的文章!
开发步骤:
首先建立一个类:
继承BodyTagSupport
然后设置字段 生成set方法
类:
输出内容需要用:
tld配置:
建立一个tld文件,tld文件需要放在WEB-INF 中
开发步骤:
首先建立一个类:
继承BodyTagSupport
然后设置字段 生成set方法
类:
package org.pan.tags; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; public class SessionProperty extends BodyTagSupport{ private static final long serialVersionUID = 1L; private String value; //需要获取的属性 public void setValue(String value) { this.value = value; } public String getValue() { return value; } @Override public int doEndTag() throws JspException { // TODO Auto-generated method stub return super.doEndTag(); } @Override public int doStartTag() throws JspException { System.out.println("ok"); HttpServletRequest request=(HttpServletRequest)pageContext.getRequest(); HttpSession session=request.getSession(); Object object=session.getAttribute(value); if(object==null)return EVAL_PAGE; if(object instanceof String){ try { pageContext.getOut().write(object.toString()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return super.doStartTag(); } }特别注意:
输出内容需要用:
pageContext.getOut().write(object.toString());
tld配置:
建立一个tld文件,tld文件需要放在WEB-INF 中
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>JSTL 1.1 core library</description> <display-name>JSTL core</display-name> <tlib-version>1.1</tlib-version> <short-name>w</short-name> <uri>http:/winter.baletu.com/</uri> <tag> <description>Obtained from the session attribute</description> <name>property</name> <tag-class>org.pan.tags.SessionProperty</tag-class> <body-content>JSP</body-content> <attribute> <name>value</name> <required>true</required> <rtexprvalue>false</rtexprvalue> </attribute> </tag> </taglib>
相关文章推荐
- Java_JSP自定义标签的开发与应用
- 自定义标签(JspFragment类、invoke方法、开发带属性的标签)
- jsp自定义标签实现java的switch……case实例
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之34.Tomcat安装与配置 推荐
- 简化 Ajax 和 Java 开发,第 4 部分: 使用 JSP 标记文件创建 JSF 样式的组件
- Javaweb开发为什么需要分前后端,放弃原生JSP
- jsp使用自定义标签taglib分页系列——ContentBase.java
- [转载]让PHP支持大型项目-构建JSP、PHP与JAVA融为一体的开发环境
- Java_JSP2_Servlet3.0 Web模块开发;
- jsp---->JSP + Servlet + JavaBean开发模式
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(3)
- JavaWeb开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
- JSP+JAVABEAN+SERVLET开发环境配置指南
- javaweb之jsp+javabean开发模式的web计算器
- Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。
- jsp使用自定义标签taglib分页系列——ColumntextTag.java
- Java开发五种jsp页面跳转方法
- java JSP开发之Spring中Bean的使用
- JSP+JAVABEAN+SERVLET开发环境配置指南