Auto Populate Form Fields

How to Auto Populate Form fields in HTML/JSP page with data retrieved from an Oracle Database?

Questions by anuantony

Showing Answers 1 - 3 of 3 Answers

with the help of ajax you can easily populate form fields.

Step you need to do is
1. Make a servlet that give response in form of XML to HTML form.
2. call the servlet fron HTML with the help of XMLHttpRequest Object through javascript .
3. got and parse the XML string send by servlet and populate form field.

//dummy code
public class myServlet extends HttpServlet
{
   public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
  
    String inputFiled = request.getParameter("InputFiledName");
    //Your JDBC code or call of you Model
    //create xml string
    StringBuffer lsbrXMLString = new StringBuffer();
         lsbrXMLString.append("<root>");

         lsbrXMLString.append("<InputFiledName>");
         lsbrXMLString.append("value Got from Database");
         lsbrXMLString.append("</InputFiledName>");
         lsbrXMLString.append("</root>");
         response.setContentType("text/xml;charset=UTF-8");
         response.setHeader("Cache-Control", "no-cache");
         response.getWriter().write(lsbrXMLString.toString());
   }

}

//call servlet
function getFieldValue(){
    var url = <servlet url>;
    var req = initRequest(url);
    req.onreadystatechange =
            function() {
                if (req.readyState == 4) {
                    if (req.status == 200) {
                        populateFormField(req.responseXML);
                    } else if (req.status == 204){
                      alert('erroe');
                    }
                }
            };
    req.open("GET", url, true);
    req.send(null);
}
//create request object
function initRequest(url) {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        isIE = true;
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
}


//get response from servlet parse and field in folm field
function populateFormField(responseXML){

    lobjroot =  responseXML.getElementsByTagName("root")[0];
    if (lobjroot.childNodes.length <= 0) {
    formField.value = lobjroot.getElementsByTagName("InputFiledName")[0].childNodes[0].nodeValue;
    }

}










You can also use other ajax based solutions like dojo,json ,DWR etc.

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions