js
function initform()
{
selectlayer(document.forms[0].layertype);
loadComboSpec("../ComboServlet","tbllayertype","id","name",document.forms[0].layertype);
loadComboSpec("../ComboServlet","viewlayertype","id","name",document.forms[0].group);
loadComboSpec("../ComboServlet","viewlayertype","id","name",document.forms[0].subgroup);
}
function loadComboSpec(servletPath,tableName,idField,nameField,combo)
{
var strX="<root>";
strX+="<_session>s</_session>";
strX+="<__tableName>"+tableName+"</__tableName>";
strX+="<__id>"+idField+"</__id>";
strX+="<__name>"+nameField+"</__name>";
strX+="<_pageCount>-1</_pageCount>";
strX+="</root>";
var strReturn=cSendHttp(servletPath,strX);
var oXML1=new ActiveXObject("Microsoft.XMLDOM");
oXML1.async="false";
oXML1.loadXML( strReturn);
var root = oXML1.documentElement;
try
{
for (i=1;i<root.childNodes.length;i++)
{
strSValue=root.childNodes.item(i).childNodes.item(0).text;
strSText=root.childNodes.item(i).childNodes.item(1).text;
if(strSValue!=null)
{
combo.length=combo.length+1;
combo.options[combo.length-1].text=strSText;
combo.options[combo.length-1].value=strSValue;
}
}
}catch(exception)
{}
}
servlet :
import java.io.DataInputStream;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class ComboServlet extends HttpServlet
{
private static final String CONTENT_TYPE = "text/xml; charset=UTF-8";
public ComboServlet()
{
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
try
{
response.setContentType("text/xml; charset=UTF-8");
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dbfac.newDocumentBuilder();
DataInputStream is = new DataInputStream(request.getInputStream());
Document doc = builder.parse(is);
String str = doc.getDocumentElement().getAttribute("action");
Input input = new XmlInput(doc);
ServletOutputStream out = response.getOutputStream();
Element el = null;
if(input.getParameter("__id") != null && !input.getParameter("__id").equals(""))
el = TableClass.getResult(input.getParameter("__tableName"), new String[] {
input.getParameter("__id"), input.getParameter("__name")
}, new String[] {
input.getParameter("__name")
}, input).toXML(null);
else
if(input.getParameter("__tableName").equals("tblpermission"))
el = TableClass.getResult(input.getParameter("__tableName"), new String[] {
"id", "descript"
}, new String[] {
"descript", "id"
}, input).toXML(null);
else
el = TableClass.getResult(input.getParameter("__tableName"), new String[] {
"id", "name"
}, new String[] {
"name", "id"
}, input).toXML(null);
if(el == null)
el = builder.newDocument().createElement("Informations");
StreamResult sr = new StreamResult(out);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("encoding", "UTF-8");
DOMSource doms = new DOMSource(el);
t.transform(doms, sr);
out.flush();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}