2021SC@SDUSC
这是第九篇代码分析的博客,这次还是继续分析core文件夹里的transformation文件夹里的两个Java文件的代码,分别是JPathTransformer.java和SimpleFormInstanceExtractionTransformer.java
文章目录
JPathTransformer.java
1.总结:
这个Java类继承自AbstractSAXTransformer,实现了Initializable接口,它用于 JPath XSP标记库的转换器实现。
这个转换器(到目前为止)支持以下jpath元素:
- <jpath:value-of select="…"/>
- <jpath:continuation/>
- <jpath:if test="…">…</jpath:if>
- <form name=“myform” jpath:action="…/cont/id">…</form>
- jpath:action隐式地将字符串’id’替换为延续id(在编写表单动作属性时很有用)。
2.属性:
- 公共的不可修改的静态属性
public static final String JPATH_NAMESPACE_URI = "http://apache.org/xsp/jpath/1.0";
- 命名空间常量
public static final String JPATH_ACTION = "jpath:action";
- jpath:action 属性常量
public static final String JPATH_VALUEOF = "value-of";
- jpath:value-of 元素常量的值
public static final String JPATH_VALUEOF_SELECT = "select";
- jpath:value-of 选择属性常量
public static final String JPATH_CONTINUATION = "continuation";
- jpath:continuation 元素常量
public static final String JPATH_CONTINUATION_SELECT = "select";
- jpath:continuation 选择属性常量
public static final String JPATH_IF = "if";
- jpath:if 元素常量
public static final String JPATH_TEST = "test";
- jpath通用测试属性
- 私有的属性:
private WebContinuation m_kont;
- web continuation
private RE m_re;
- 用jpath:action匹配’id’字符串
private JXPathContext m_jxpathContext;
- jxpath上下文
private Map m_cache;
- jpath:value-of变量缓存
3.方法:
public void initialize()
- 初始化转换器
public void setup(SourceResolver resolver, Map objectModel, String src, Parameters parameters)
- 对这个转换器进行设置,设置内容为jpath转换器
pub