我使用说明添加自己的标记http://java-sl.com/custom_tag_html_kit.html
class MyParserDelegator extends ParserDelegator {
public MyParserDelegator() {
try {
Field f=javax.swing.text.html.parser.ParserDelegator.class.getDeclaredField("dtd");
f.setAccessible(true);
DTD dtd=(DTD)f.get(null);
javax.swing.text.html.parser.Element div=dtd.getElement("div");
dtd.defineElement("button", div.getType(), true, true,div.getContent(),null, null,div.getAttributes());
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
}
}
}
不幸的是它无法正常工作:
image http://s017.radikal.ru/i433/1202/5b/c73d3025ba5b.gif
任何人都可以帮助我吗?
答案 0 :(得分:1)
它适用于我使用以下(jdk 1.7):
Field f = javax.swing.text.html.parser.ParserDelegator.class.getDeclaredField("DTD_KEY");
唯一的变化是关键:"DTD_KEY"
大写!!
我使用
找到了密钥“DTD_KEY”Field[] flds = javax.swing.text.html.parser.ParserDelegator.class.getDeclaredFields();
for (Field f: flds)
{
System.err.println(f.getName());
}
答案 1 :(得分:0)
我查看了JDK 7的来源:% Generate test data
T = table(['M';'M';'F';'F';'F'],[38;43;38;40;49],...
[71;69;64;67;64],[176;163;131;133;119])
T.Properties.VariableNames = {'data1' 'data2' 'data3' 'Weight'}
% Get variable names
var_names = T.Properties.VariableNames
% Get variable names that start with 'data' (filtering)
var_names_subset = var_names( strncmp( var_names, 'data', 4 ) )
% Index those variables only
T(:, var_names_subset)
不再存储在$scope.perspectives=[
{perfomance:'AAA',
current:'a',
previous:'b',
variance:'c',
plus:false,
graphData:[
['value', 32.4],
['value', 13.2],
['value', 84.5],
['value', 19.7],
['value', 22.6],
['value', 65.5],
['value', 77.4],
['value', 90.4],
['value', 17.6],
['value', 59.1],
['value', 76.8],
['value', 21.1]
]
}
];
的属性<table><tr ng-repeat="perspective in perspectives">
<td>
<div class="hc-pie" items="perspective.graphData"></div>
</td>
<td>{{perspective.perfomance}}</td>
<td>{{perspective.current}}</td>
<td>{{perspective.previous}}</td>
<td>{{perspective.variance}}</td>
</tr></table>
中,而是存储在DTD
中。来自sun包,AppContext不应该由JRE自己的类访问。
因此,使用dtd
的来源,我写了javax.swing.text.html.parser.ParserDelegator
自己加载DTD。之后,可以轻松地在DTD中添加自定义标记。
下面的代码还包含http://java-sl.com/custom_tag_html_kit.html中的其他类,以获得一个有效的示例。
sun.awt.AppContext