1,建立自己的标签库tld文件
topdt-tags.tld:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">
<display-name>topdt</display-name>
<tlib-version>1.0</tlib-version>
<short-name>td</short-name>
<tag>
<name>page</name>
<tag-class>com.topdt.frame.web.tags.PageTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>template</name>
<required>true</required>
</attribute>
</tag>
<tag>
<name>ss</name>
<tag-class>com.topdt.frame.web.tags.SubStringTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>start</name>//这里添加标配的属性
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>end</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
2:web.xml文件中加入:
<jsp-config>
<taglib>
<taglib-uri>/topdt</taglib-uri>
<taglib-location>
/WEB-INF/tlds/topdt-tags.tld
</taglib-location>
</taglib>
</jsp-config>
3:创建class:
package com.topdt.frame.web.tags;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;
public class SubStringTag extends BodyTagSupport {
private static final long serialVersionUID = 1L;
private int start = 0;//这里对应tld中的属性
private int end = 0;
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int doEndTag() throws JspException {
try {
JspWriter out = pageContext.getOut();
String b = this.getBodyContent().getString();
b = uToS(b);
if (end < b.length()) {
b = b.substring(start, end)+ "..";
}
out.write(b);
} catch (Exception e) {
throw new JspException(e);
}
return SKIP_BODY; // 不包含主体内容
}
private String uToS(String s) throws Exception {
String[] s3 = s.split(";");
String s1 = "";
if (s3.length > 1) {
for (int i = 0; i < s3.length; i++) {
String[] s2 = s3[i].split("&#");
if (s2.length > 1) {
int v = Integer.parseInt(s2[1], 10);
s1 = s1 + s2[0] + (char) v;
} else {
s1 = s1 + s3[i];
}
}
return s1;
} else {
return s;
}
}
}
分享到:
相关推荐
Struts2中实现自定义标签很简单,主要分为3步: 1.创建taglib文件(.tld),编写标签声明。 2.编写自定义标签类。 3.在页面中使用标签。 下面以一个自定义的分页标签为例,进行说明。 其实,开发自定义标签并不...
自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282
8.1.1 页面上:如何使用自定义结果组件构建Struts 2 Ajax应用程序 171 8.1.2 实现JSON结果类型 173 8.2 常用的结果类型 180 8.2.1 RequestDispatcher,也叫做dispatcher 180 8.2.2 ServletRedirectResult,也叫做...
5.7 Struts2自定义标签实现图形验证功能 121 第6章 Struts2非JSP视图技术 125 6.1 velocity视图技术使用介绍 125 6.2 freemarker视图技术使用介绍 128 6.3 JasperReports报表视图技术使用介绍 130 第7章 Struts2类型...
struts2框架的标签库分为三类: 用户标签:生成HTML元素 非用户标签:数据访问、逻辑控制等。 AJAX标签:支持AJAX技术。 用户界面标签又分两类: 表单标签:生成HTML页面的from元素 非表单标签:生成页面上的...
页面设计人员可以把精力集中在使用标签(HTML,XML或者JSP)创建网站上,而软件开发人员则可以将精力集中在实现底层功能上面,若国际化等等,这样,页面设计人员可以使用自定义标签的形式来实现具体的功能.
jstl和struts2标签截取字符串 jstl(JavaServer Pages Standard Tag Library)是一种用于Java Web开发的标签库,提供了多种有用的标签来简化JSP页面的开发。其中,jstl的标签可以用来截取字符串,本文将详细介绍...
component标签:生成一个自定义的组件。 div标签:AJAX标签,生成一个div片段。 fielderror标签:输出异常提示信息。 tabbedPanel:AJAX标签,生成HTML中的Tab页。 tree标签:生成一个树形结构。 treenode标签:...
15.自定义标签中访问Dao 获取dao 6 16.标签获取参数 6 17.Action之间传递错误验证信息 6 18第一个Ajax例子 Ajax+struts2 6 8.标签 7 8.Select标签 7 9.Checkbox 10 10.checkboxlist 12 11.combobox 14 12....
《深入浅出Struts2》是广受赞誉的Struts2优秀教程.它全面而深入地阐述了Strut2的各个特性,并指导开发人员如何根据遇到的问题对症下药。选择使用最合适的特性。作者处处从实战出发。在丰富的示例中直观地探讨了许多...
:Struts提供了下面这些组件使用MVC开发应用程序: ·Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean 或EJB的形式提供;...此外,Struts提供了自定义JSP标签库,辅助开发者用JSP
网站页面设置 - 可以设置每个页面的自定义标题、META标签、采用模版;设置每个版块采用什么插件和插件的显示参数 界面风格设置 - 可以选择模版,编辑模板 网站升级更新 - 连接远程升级服务器,获取最新升级信息,...
struts框架具有组件的模块...我们还将介绍struts提供的类如何使得开发工作更加简单,这些类包括: 控制程序流程的类 实现和执行程序事务逻辑的类 自定义的标记库使得创建和验证HTML表单更加容易
3.4自定义标签库 51 3.5预处理用户请求:filter 53 3.6使用listener 56 3.7项目实战——用户登录 59 本章小结 62 课后练习 63 第4章sql与jdbc 64 4.1sql 64 4.1.1sql概述 64 4.1.2ddl与dml简介 64 4.1.3...
前台制作采用标签制,分为系统标签和用户自义义标签两种,系统标签是自代的,用户不可以修改,而自定义标签则是用户根据相应的功能自己定制出来的,固此,可以自行删除或修改! 4、秉承JAVA开源理念,本新闻发布系统...
12.2 MyEclipse创建基于Struts 2.0框架的项目 215 12.2.1 下载Struts 2.0开发包 216 12.2.2 创建Struts 2.0项目 216 12.2.3 配置Struts 2.0项目 217 12.2.4 创建Struts 2.0的Action类 218 12.2.5 Struts 2.0中的国际...
前台制作采用标签制,分为系统标签和用户自义义标签两种,系统标签是自代的,用户不可以修改,而自定义标签则是用户根据相应的功能自己定制出来的,固此,可以自行删除或修改! 4、秉承JAVA开源理念,本新闻发布系统...