- 解析,jsp页面之后将整个jsp页面存放到的数据结构中
public static class Nodes {
private List list;
private Node.Root root; // null if this is not a page
private boolean generatedInBuffer;
public Nodes() {
list = new Vector();
}
public Nodes(Node.Root root) {
this.root = root;
list = new Vector();
list.add(root);
}
/**
* Appends a node to the list
*
* @param n
* The node to add
*/
public void add(Node n) {
list.add(n);
root = null;
}
/**
* Removes the given node from the list.
*
* @param n
* The node to be removed
*/
public void remove(Node n) {
list.remove(n);
}
/**
* Visit the nodes in the list with the supplied visitor
*
* @param v
* The visitor used
*/
public void visit(Visitor v) throws JasperException {
Iterator iter = list.iterator();
while (iter.hasNext()) {
Node n = (Node) iter.next();
n.accept(v);
}
}
public int size() {
return list.size();
}
public Node getNode(int index) {
Node n = null;
try {
n = (Node) list.get(index);
} catch (ArrayIndexOutOfBoundsException e) {
}
return n;
}
public Node.Root getRoot() {
return root;
}
public boolean isGeneratedInBuffer() {
return generatedInBuffer;
}
public void setGeneratedInBuffer(boolean g) {
generatedInBuffer = g;
}
}
jsp文件是否是可以存放在jar文件中呢?从下面的这段代码中貌似是可以的
public URL getResource(String res) throws MalformedURLException {
URL result = null;
if (res.startsWith("/META-INF/")) {
// This is a tag file packaged in a jar that is being compiled
URL jarUrl = tagFileJarUrls.get(res);
if (jarUrl == null) {
jarUrl = tagFileJarUrl;
}
if (jarUrl != null) {
result = new URL(jarUrl.toExternalForm() + res.substring(1));
}
} else if (res.startsWith("jar:file:")) {
// This is a tag file packaged in a jar that is being checked
// for a dependency
result = new URL(res);
} else {
result = context.getResource(canonicalURI(res));
}
return result;
}