How do I convert a jsp to image file?
843840Jul 23 2008 — edited Jul 28 2008I have an xmlstring like
<admin name="admin" role="admin" active="A">
<Sanjeev name="Sanjeev Chadha" role="CEO" active="A">
<Manish name="Manish Gupta" role="IT Head" active="A"/>
<Sunil name="Sunil Banthiya" role="LPM" active="A">
<Tushar name="Tushar Tripathi" role="Jr.LPM" active="A"/>
<Amar name="Amar Kant.Agarwal" role="Jr.LPM" active="A"/>
<Sanjay name="Sanjay Singh" role="Jr.LPM" active="A"/>
<Nand name="Nand Kumar.Kulkarni" role="Jr.LPM" active="A"/>
<Sushil name="Sushil Garg.Paithan" role="Jr.LPM" active="A"/>
<Kulvinder name="Kulvinder Segue" role="Jr.LPM" active="A"/>
</Sunil>
</Sanjeev>
</admin>
I have used a javascript function loadXML() to parse this xml string and dynamically create <tr>..<td> block and also use a css file to create a tree structure.I called this javascript function from a jsp onload function. after that the created tree structure is displayed in the jsp. I want to make this jsp file a image file so that any user can save this jsp file as image file . The Javascript function is mentioned below:
var grove = new Array();
function loadXML() {
process();
renderIt();
}
function process()
{
if(trim(document.getElementById("xmlSource").value).length>0){
grove = Xparse(document.getElementById("xmlSource").value);
manipulate(grove)
print(grove);
constructChart(grove);
printChartinPostfixOrder(root);
}
}
function manipulate(tag){
var contentArr = new Array();
var id = 0;
var node;
for(var i = 0; i < tag.contents.length; i++)
{
id = 0;
contentArr = new Array();
if(tag.contents.type == "element")
{
for(var k=0;k<tag.contents[i].contents.length;k++){
if(tag.contents[i].contents[k].type!="element"){
tag.contents[i].contents[k]=null;
}else{
contentArr[id++] = tag.contents[i].contents[k];
}
}
tag.contents[i].contents = contentArr;
for(var j = 0; j < tag.contents[i].attributes.length; j++){
}
manipulate(tag.contents[i]);
}
}
}
function print(tag){
var contentArr = new Array();
var id = 0;
for(var i = 0; i < tag.contents.length; i++)
{
if(tag.contents[i].type == "element")
{
print(tag.contents[i]);
}
}
}
function constructChart(tag,parent){
var childArray = new Array();
var data;
var childNodes;
var parNode;
var currentNode;
var node;
var testNode = null;
var sname;
var srole;
var sactive;
var chkRole;
var nameIndex;
for(var i = 0; i < tag.contents.length; i++)
{
if(tag.contents[i].type == "element" )
{
if(tag.contents[i].attributes[0].name == "role")
{
chkRole = tag.contents[i].attributes[0].value;
}
else if(tag.contents[i].attributes[1].name == "role")
{
chkRole = tag.contents[i].attributes[1].value;
}
else if(tag.contents[i].attributes[2].name == "role")
{
chkRole = tag.contents[i].attributes[2].value;
}
if(tag.contents[i].attributes[0].name == "name")
{
nameIndex = 0;
}
else if(tag.contents[i].attributes[1].name == "name")
{
nameIndex = 1;
}
else if(tag.contents[i].attributes[2].name == "name")
{
nameIndex = 2;
}
if(parent == null && tag.contents[i].attributes!=null && tag.contents[i].attributes[nameIndex] != null && chkRole=="admin"){
for(var j=0;j<3;j++){
if(tag.contents[i].attributes[j].name=="name")
{
sname = tag.contents[i].attributes[j].value;
}
else if(tag.contents[i].attributes[j].name=="role")
{
srole = tag.contents[i].attributes[j].value;
}
else if(tag.contents[i].attributes[j].name=="active")
{
sactive = tag.contents[i].attributes[j].value;
}
}
parNode = new Node({name:''+sname+'',role:''+srole,active:''+sactive});
root = parNode;
parent = parNode;
}
parent.child = createList(tag.contents[i].contents,parent);
testNode = parent.child[0];
}
}
}
var root;
function printChartinPostfixOrder(root){
var node = root;
for(var i=0;root!=null && root.child!=null && i<root.child.length;i++){
printChartinPostfixOrder(root.child[i]);
if(root.child[i].child==null){
count++;
nodeBag[count]=root.child[i];
}
}
if(root!=null && root.child!=null){
count++;
nodeBag[count]=root;
}
}