这两天看了下struts标签
蛋疼呀。。。如果不是必要。还是不要用struts标签。。。哎!
先说下struts标签的继承
BodyTagSupport
StrutsBodyTagSupport
ComponentTagSupport
AbstractUITag
每个struts标签都继承AbstractUITag
重点是ComponentTagSupport:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import org.apache.struts2.components.Component;
import org.apache.struts2.dispatcher.Dispatcher;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.util.ValueStack;
public abstract class ComponentTagSupport extends StrutsBodyTagSupport {
protected Component component;
// 定义一个组件(虚方法)
public abstract Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res);
public int doEndTag() throws JspException {
component.end(pageContext.getOut(), getBody());
component = null;
return EVAL_PAGE;
}
public int doStartTag() throws JspException {
// 获取组件
component = getBean(getStack(), (HttpServletRequest) pageContext.getRequest(), (HttpServletResponse) pageContext.getResponse());
Container container = Dispatcher.getInstance().getContainer();
container.inject(component);
// 填充参数
populateParams();
// 组件开始
boolean evalBody = component.start(pageContext.getOut());
if (evalBody) {
return component.usesBody() ? EVAL_BODY_BUFFERED : EVAL_BODY_INCLUDE;
} else {
return SKIP_BODY;
}
}
protected void populateParams() {
}
public Component getComponent() {
return component;
}
}
如果自定义struts标签,那么一定要看这类的源码。这里记录下。。。
分享到:
相关推荐
struts标签 • Bean Tags:该标签库包含的标签可以用来创建bean、访问bean和访问bean的属性。同时提供了依据cookies、headers和parameters的值创建相关bean的能力。 HTML Tags:该标签库包含的标签可以用来创建...
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 HTML 标签 : 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 ...Nested标签: 增强对其他的Struts 标签的嵌套使用的能力
Struts 标签 页面跳转 数据库操作 Struts 标签 页面跳转 数据库操作 Struts 标签 页面跳转 数据库操作
Struts标签 大全
第5章_Struts标签库.ppt第5章_Struts标签库.ppt
struts标签中文文档 下载附件后把taglib1.war放在tomcat的webapps下,(或用其他应用服务器) 然后启动tomcat服务 在浏览器中输入http://localhost:8080/taglib1即可
Struts标签大全.doc版,写的不错
一些常用的struts标签 在常用的开发当中基本够用了~~
1.struts标签的使用 2.struts常用html标签库 3.在STRUTS中如何使用标签
struts标签库里面包括struts所有的标签使用源码
常用jstl和struts标签标签的用法
dreamweaver8支持struts标签的插件 用dreamweaver管理插件的工具打开~~
struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库
Struts标签 Struts标签Struts标签Struts标签Struts标签
Struts标签库查询手册.chm 中文版+英文版 两版奉上!
预编译的struts标签库,方便实用,不过是英文版的,但不并是很难看懂,希望对使用和正在学习struts的同志们有所帮助
Struts标签库.chm是一个不错的东西
很全面的描述了Struts标签库的使用方法,尽管是英文版的,但是语法非常简单,借用金山词霸完全没有阅读障碍。
struts标签实现数据的查询修改
Struts标签Lucene中文分词构建基于词典的Lucene分析器使用Log4j进行日志记录 您使用过旅游指南吗?它总是能让我们快速的找到目的地。我对此有深刻的印象,希望这篇指南也能使您快速的完成Struts标签相关的任务。我...