nedave
09-15-2008, 03:31 AM
Hi all,
I am writing a JavaBean to connect to a JSP page. I have been adding the codes for the following methods in my JavaBean
... [ Below is the JavaBean methods ]...
public String createMenuVar(Vector menu){
String script = "";
for(int i=0;i<menu.size();i++){
MenuItem menuItem = (MenuItem)menu.get(i);
if(!(menuItem.getVector() == null)){
script += "var " + (menuItem.getName() + "_" + menuItem.getDescription()).replace(" ", "_") + " = new Array(" + menuItem.getVector().size() + ");\n" +
createMenuVar(menuItem.getVector());
} // end if
}
return script;
} // end createMenuVar method
public String createMenuData(Vector menu, String parentMenu) {
String script = "";
for(int i=0;i<menu.size();i++){
MenuItem menuItem = (MenuItem)menu.get(i);
String menuVar = (menuItem.getName() + " " + menuItem.getDescription()).replace(" ", "_");
String menuName = menuItem.getName().replace(" ", "_");
String menuParent = parentMenu.replace(" ", "_");
if(!(menuItem.getVector() == null) ) {
script = script + menuVar + ".parent = " + menuParent + ";\n" +
menuVar + ".name = \"" + menuName + "\";\n" +
menuVar + ".size = " + menuItem.getVector().size() + ";\n" +
menuVar + ".index = 0; \n" +
menuVar + ".html = \"" + generateMenuHTML(menuItem.getVector(), menuItem.getName()) + "\"\n" +
createMenuData(menuItem.getVector(), menuVar) + "\n" +
createMenuObject(menuItem.getVector(), menuVar) + "\n";
System.out.println("[createMenuData] IF: " + menuParent);
System.out.println("[createMenuData] IF: " + menuName);
System.out.println("[createMenuData] IF: " + menuItem.getVector());
} // end if
else {
System.out.println("[createMenuData] Else" + menuParent);
}
} // end for
return script;
} // end createMenuData method
public String createMenuObject(Vector menu, String parentMenu) {
String script = "";
for(int i=0;i<menu.size();i++){
MenuItem menuItem = (MenuItem)menu.get(i);
String menuVar = parentMenu.replace(" ", "_");
String submenuName = (menuItem.getName() + " " + menuItem.getDescription()).replace(" ", "_");
if(!(menuItem.getVector() == null)){
script = script + menuVar + "[" + i + "] = new Object();\n" +
menuVar + "[" + i + "].hasData = true;\n" +
menuVar + "[" + i + "].name = \"" + menuItem.getName() + "\";\n" +
menuVar + "[" + i + "].display = \"" + menuItem.getDisplay() + "\";\n" +
menuVar + "[" + i + "].data = " + submenuName + ";\n";
} else{
script = script + menuVar + "[" + i + "] = new Object();\n" +
menuVar + "[" + i + "].hasData = false;\n" +
menuVar + "[" + i + "].name = \"" + menuItem.getName() + "\";\n" +
menuVar + "[" + i + "].url = \"" + menuItem.getUrl() + "\";\n" +
menuVar + "[" + i + "].display = \"" + menuItem.getDisplay() + "\";\n";
if(menuItem.getImage() != ("</image>"))
script = script + menuVar + "[" + i + "].image = \"data:image/png;base64," + menuItem.getImage() + "\";\n";
} // end else
} // end for
return script;
} // end createMenuObject method
public String generateMenuHTML(Vector data, String parentMenu) {
String html = "<ul id=\\\"" + parentMenu.replace(" ", "_") + "\\\" class=\\\"horizontal\\\" style=\\\"list-style-type:none; width: 800px; height: 200px; margin: 0; padding: 0; \\\">";
for(int i=0;i<data.size();i++) {
MenuItem menuItem = (MenuItem)data.get(i);
String display = menuItem.getDisplay();
if( display.equalsIgnoreCase("Image only") ) {
html += "<li id=\\\""+parentMenu.replace(" ", "_")+""+i+"\\\" align=\\\"center\\\" \\\"><img id=\\\""+parentMenu.replace(" ", "_")+"_image"+i+"\\\" alt=\\\"\\\" src=\\\"data:image/png;base64,"+ menuItem.getImage() + " \\\" width=\\\"68\\\" height=\\\"68\\\" \\\"/></li>";
} // end if
else if( display.equalsIgnoreCase("Image and Text") ) {
html += "<li id=\\\""+parentMenu.replace(" ", "_")+""+i+"\\\" align=\\\"center\\\" \\\">"+menuItem.getName()+"<img id=\\\""+parentMenu.replace(" ", "_")+"_image"+i+"\\\" alt=\\\"\\\" src=\\\"data:image/png;base64,"+ menuItem.getImage() + "\\\" width=\\\"68\\\" height=\\\"68\\\" \\\"/></li>";
} // end else if
else {
html += "<li id=\\\""+parentMenu.replace(" ", "_")+""+i+"\\\" align=\\\"center\\\" \\\">" +menuItem.getName()+"</li>";
} // end else
} // end for
html += "</ul>";
return html;
} // end generateMenuHTML method
... [ Below are other JavaBean methods ]...
Can anyone guide me as how can I prevent from generating dynamic HTML into the JSP files using innerHTML property? (No tag libraries or any frameworks can be used though cuz the client doesn't want any of them.
Regards
Nedave
I am writing a JavaBean to connect to a JSP page. I have been adding the codes for the following methods in my JavaBean
... [ Below is the JavaBean methods ]...
public String createMenuVar(Vector menu){
String script = "";
for(int i=0;i<menu.size();i++){
MenuItem menuItem = (MenuItem)menu.get(i);
if(!(menuItem.getVector() == null)){
script += "var " + (menuItem.getName() + "_" + menuItem.getDescription()).replace(" ", "_") + " = new Array(" + menuItem.getVector().size() + ");\n" +
createMenuVar(menuItem.getVector());
} // end if
}
return script;
} // end createMenuVar method
public String createMenuData(Vector menu, String parentMenu) {
String script = "";
for(int i=0;i<menu.size();i++){
MenuItem menuItem = (MenuItem)menu.get(i);
String menuVar = (menuItem.getName() + " " + menuItem.getDescription()).replace(" ", "_");
String menuName = menuItem.getName().replace(" ", "_");
String menuParent = parentMenu.replace(" ", "_");
if(!(menuItem.getVector() == null) ) {
script = script + menuVar + ".parent = " + menuParent + ";\n" +
menuVar + ".name = \"" + menuName + "\";\n" +
menuVar + ".size = " + menuItem.getVector().size() + ";\n" +
menuVar + ".index = 0; \n" +
menuVar + ".html = \"" + generateMenuHTML(menuItem.getVector(), menuItem.getName()) + "\"\n" +
createMenuData(menuItem.getVector(), menuVar) + "\n" +
createMenuObject(menuItem.getVector(), menuVar) + "\n";
System.out.println("[createMenuData] IF: " + menuParent);
System.out.println("[createMenuData] IF: " + menuName);
System.out.println("[createMenuData] IF: " + menuItem.getVector());
} // end if
else {
System.out.println("[createMenuData] Else" + menuParent);
}
} // end for
return script;
} // end createMenuData method
public String createMenuObject(Vector menu, String parentMenu) {
String script = "";
for(int i=0;i<menu.size();i++){
MenuItem menuItem = (MenuItem)menu.get(i);
String menuVar = parentMenu.replace(" ", "_");
String submenuName = (menuItem.getName() + " " + menuItem.getDescription()).replace(" ", "_");
if(!(menuItem.getVector() == null)){
script = script + menuVar + "[" + i + "] = new Object();\n" +
menuVar + "[" + i + "].hasData = true;\n" +
menuVar + "[" + i + "].name = \"" + menuItem.getName() + "\";\n" +
menuVar + "[" + i + "].display = \"" + menuItem.getDisplay() + "\";\n" +
menuVar + "[" + i + "].data = " + submenuName + ";\n";
} else{
script = script + menuVar + "[" + i + "] = new Object();\n" +
menuVar + "[" + i + "].hasData = false;\n" +
menuVar + "[" + i + "].name = \"" + menuItem.getName() + "\";\n" +
menuVar + "[" + i + "].url = \"" + menuItem.getUrl() + "\";\n" +
menuVar + "[" + i + "].display = \"" + menuItem.getDisplay() + "\";\n";
if(menuItem.getImage() != ("</image>"))
script = script + menuVar + "[" + i + "].image = \"data:image/png;base64," + menuItem.getImage() + "\";\n";
} // end else
} // end for
return script;
} // end createMenuObject method
public String generateMenuHTML(Vector data, String parentMenu) {
String html = "<ul id=\\\"" + parentMenu.replace(" ", "_") + "\\\" class=\\\"horizontal\\\" style=\\\"list-style-type:none; width: 800px; height: 200px; margin: 0; padding: 0; \\\">";
for(int i=0;i<data.size();i++) {
MenuItem menuItem = (MenuItem)data.get(i);
String display = menuItem.getDisplay();
if( display.equalsIgnoreCase("Image only") ) {
html += "<li id=\\\""+parentMenu.replace(" ", "_")+""+i+"\\\" align=\\\"center\\\" \\\"><img id=\\\""+parentMenu.replace(" ", "_")+"_image"+i+"\\\" alt=\\\"\\\" src=\\\"data:image/png;base64,"+ menuItem.getImage() + " \\\" width=\\\"68\\\" height=\\\"68\\\" \\\"/></li>";
} // end if
else if( display.equalsIgnoreCase("Image and Text") ) {
html += "<li id=\\\""+parentMenu.replace(" ", "_")+""+i+"\\\" align=\\\"center\\\" \\\">"+menuItem.getName()+"<img id=\\\""+parentMenu.replace(" ", "_")+"_image"+i+"\\\" alt=\\\"\\\" src=\\\"data:image/png;base64,"+ menuItem.getImage() + "\\\" width=\\\"68\\\" height=\\\"68\\\" \\\"/></li>";
} // end else if
else {
html += "<li id=\\\""+parentMenu.replace(" ", "_")+""+i+"\\\" align=\\\"center\\\" \\\">" +menuItem.getName()+"</li>";
} // end else
} // end for
html += "</ul>";
return html;
} // end generateMenuHTML method
... [ Below are other JavaBean methods ]...
Can anyone guide me as how can I prevent from generating dynamic HTML into the JSP files using innerHTML property? (No tag libraries or any frameworks can be used though cuz the client doesn't want any of them.
Regards
Nedave