Java 使用jsp将递归结构转换为xml
假设我有一个递归数据结构Java 使用jsp将递归结构转换为xml,java,xml,jsp,recursion,Java,Xml,Jsp,Recursion,假设我有一个递归数据结构 class Tree { private Tree right; private Tree left; private int data; .... } 我想用jsp将其转换为xml,这样我的ui树小部件就可以用Ajax加载xml页面并构建一个树(带有可扩展/可折叠的节点等) xml的外观如下所示: <tree> <tree> <data value="5"/>
class Tree {
private Tree right;
private Tree left;
private int data;
....
}
我想用jsp将其转换为xml,这样我的ui树小部件就可以用Ajax加载xml页面并构建一个树(带有可扩展/可折叠的节点等)
xml的外观如下所示:
<tree>
<tree>
<data value="5"/>
</tree
<tree>
<data value="1"/>
<tree>
<data value="5"/>
</tree
<tree>
<data value="1"/>
</tree>
</tree>
</tree>
试试这个:
class Tree {
Tree right;
Tree left;
int data;
public String toXmlString(){
StringBuilder s = new StringBuilder();
s.append("<tree>");
s.append("<data value=\"" + data + "\" />");
if(right != null)
s.append(right.toXmlString());
if(left != null)
s.append(left.toXmlString());
s.append("</tree>");
return s.toString();
}
}
试试这个:
class Tree {
Tree right;
Tree left;
int data;
public String toXmlString(){
StringBuilder s = new StringBuilder();
s.append("<tree>");
s.append("<data value=\"" + data + "\" />");
if(right != null)
s.append(right.toXmlString());
if(left != null)
s.append(left.toXmlString());
s.append("</tree>");
return s.toString();
}
}
从技术上讲,我相信这是可以做到的-可能有一个自定义标签。但是JSP不适合递归算法
使用一个servlet和您选择的XML API(可能是一个类)。从技术上讲,我相信这是可以做到的——可能需要一个自定义标记。但是JSP不适合递归算法
使用servlet和您选择的XML API(可能是类)。虽然我欣赏StringBuilder方法,但我还是建议XML新手使用java API。使用StringBuilder速度更快,但也容易出错。即使你知道你在做什么,你也应该考虑使用JavaBu建TIN XML支持,这样你就不会陷入编码陷阱。< P>尽管我很欣赏StrugBuudor方法,我还是建议使用java API来实现XML新手。使用StringBuilder速度更快,但也容易出错。即使你知道你在做什么,你也应该考虑使用JavaBuestin XML支持,这样你就不会陷入编码陷阱。 < P>我讨厌回答和接受我自己的问题,但是在回顾其他问题之后,看起来答案应该是:
“不能合理地用JSP完成”。我不愿意回答并接受我自己的问题,但在回顾其他问题后,答案似乎应该是:
“无法合理地使用JSP完成”。为什么要在JSP中执行此操作?这就是servlet的用途。我不想在JSP中这样做,但我们同意,某种形式的模板将很好,因为我不想自己连接字符串(arghh…),为什么要在JSP中这样做?这就是Servlet的用途。我不想在JSP中使用它,但我们同意,某种形式的模板将很好,因为我不打算自己连接字符串(arghhh…),就这么简单。我建议引进一套全新的图书馆是个坏主意+严格地说,这是Java,不是JSP。@Stephen:事实上,我们一开始就完全拒绝了这个想法。:)就这么简单。我建议引进一套全新的图书馆是个坏主意+严格地说,这是Java,不是JSP。@Stephen:事实上,我们一开始就完全拒绝了这个想法。:)