Monday, 29 April 2013

How to generate dynamic row and delete that row using add and delete button using jQuery

Hi friends. I am sharing with you that how to generate dynamic row and also delete that dynamic generated row this concept is used when u will developed billing software because in billing software we do not know how many item purchase by customer. So base on customer item we need to generate row or this can be used in the storing contact details of person. Here I giving example for storing contact details of person

For This example we need to include the jQuery.js file.

This GenerateRow.html  file which is generated row and delete row.


 <html>  
 <head>  
 <script src="jquery.js"></script>  
 <script>  
 var k;  
 $(document).ready(function()  
 {  
      k=1;     //for first row  
      $("#rdata").append(showData());  
      $("#add").live('click',function()  
     {  
               k++;        
       $('#rdata').append(showData());  
                $("#counter").val(k);      
     });  
 });  
 function lremove(l)  
 {  
            var lid=l.id;  
            var rowno = lid.match(/\d+$/);  
            if(rowno>1)  //if only one row then i am now allow to remove.if more than then remove that row
             {  
                 $("#line"+rowno).remove();  
             }  
 }  
 function showData()  
 {       
           var str="<table><tr id='line"+k+"'>"  
                     +"<td align='center' width='20'>"  
                          +"<font face='calibri' size='2' color='#'><b>"+k+")</b></font>"  
                     +"</td>"  
                     +"<td align='center' width='150'>"  
                     +"<input type='text' name='name"+k+"' id='name"+k+"' >"  
                     +"</td>"  
                  +"<td align='center' width='80'>"  
                          +"<input type='text' name='number"+k+"' id='number"+k+"' value=''>"  
               +"</td>"  
                  +"<td align='center'>"  
               +"<input type='button' id='add' value='+' height='15' width='15'/></td>"  
                     +"<td><input type='button' value='x' id='remove"+k+"' onclick='lremove(this)' src='Delete.png' height='30' width='30'/></td>"  
                +"</tr></table>";  
       return str;  
 }  
 </script>  
 </head>  
 <body>  
 <table>  
 <caption>Storing Mobile Number</catption>  
 <tr>  
      <td width='70'></td>  
      <td width='140' align='left'>Name</td>  
      <td width='150' align='left'>Mobile Number</td>  
 </tr>  
 </table>  
 <form name="frminfom" action="ConnectRowGenerate.jsp">  
      <div id="rdata">  
      </div>  
      <input type="hidden" value="1" name="counter" id="counter">  
      <input type="submit" value="submit">  
      <input type="reset" value="clear">  
 </form> 
  </body>  
 </html>  

in this above example i used the

$(document).ready(function()
{
   
    code
});
this above function of jQuery which is called after document will be load or after your document will be ready.
inside this i am writing following code.

k=1;   
$("#rdata").append(showData());

k-> variable i used for giving each row unique name.
rdata-> is an div id in which i need to add a row

append(showData())
this append method is used for append content at last in div(rdata).

showData() is an function which it will return the Dynamically generated row so that row i am passing as a parameter of append so its will append to rdata (div tag).
eg.append(showData()).

The ShowData function containt
str="<table><tr id='line"+k+"'>"
.....
return str;

here i used table and i am storing this table into the str variable because i need to return thats why and i assigning the unique row id
like  id='line"+k"'
so this will replace as line1 after u generated second row it will line2 as k variable will increase when you add the new row.


$("#add").live('click',function()
{
});
this function will invokes when user click on the add button
the live() is an method which is providing the fecilities for firing the on click(othere even) event on new generated add button if you will not used live then its add only one row.

Removing row
<input type='button' value='x' id='remove"+k+"' onclick='lremove(this)' src='Delete.png' height='30' width='30'/>


here when user click on remove button i am passing the 'this' object which is reffere the current row remove button object and in function
function lremove(l)
Now here  'this' is an object will replace with 'l' object name and get id from object.
var lid=l.id
now lid will store the id of remove button..e.g remove1,remove2..
var rowno = lid.match(/\d+$/);
this will extract last digits from the string.
e.g remove1 then its will return 1.

$("#line"+rowno).remove();
here line is common when you generating row its one row value containt line1,line2.
so line will same just i need to contacate the number of line and  remove() method is used for remove the specific tag.

How to Read values using jsp file ConnectRowGenerate.jsp when user click on submit button.
code.
 <%  
 int counter=Integer.parseInt(request.getParameter("counter"));  
 for(int i=1;i<=counter;i++)  
 {  
       try  
       {  
        String name=request.getParameter("name"+i);  
        String number=request.getParameter("number"+i);  
    out.println(name + " "+number+"<br>");  
   }  
   catch(Exception e)  
   {  
           continue;  
      }  
 }  
 %>  


Now we will understand above code
counter variable which containt thea number of row add in page.

try and catch block as if user will removed line from middle and we try to read that value which is not available then it will throw exception so for that i am writing code in try and catch block and if it will throw error then its will go in catch block and again its will continue reading with next row or line.

output:
when you open GenerateRow.html its will show like following.




if you click on add button it will add new row.

if you click on delete button it will remove row but here first row its not remove as i am gave validation so now when u click on submit its will call the ConnectRowGenerate.jsp file and its will display the data.
 
You can download above example from  here

Saturday, 27 April 2013

how to read an XML file via DOM XML parser in java

The XML is very simple language that allows the developers to store the structured data into XML files.XML is designed to transport and store data.

XML Document Example
In this tutorial, we will show you how to read an XML file via DOM XML parser. DOM parser parses the entire XML document and loads it into memory; then models it in a “TREE” structure for easy traversal or manipulation.
In short, it turns a XML file into DOM or Tree structure, and you have to traverse a node by node to get what you want.

e.g of your  personalinfo.xml file

 <?xml version="1.0"?>  
 <company>  
      <staff id="1">  
           <firstname>ishwar</firstname>  
           <lastname>Panjari</lastname>  
           <nickname>ish</nickname>  
           <salary>1000</salary>  
      </staff>  
      <staff id="2">  
           <firstname>jaydip</firstname>  
           <lastname>Raol</lastname>  
           <nickname>DK</nickname>  
           <salary>2000</salary>  
      </staff>  
 </company>  

when you create xml file you need to specify the version of xml file.  i created <company>---</company> this is called as root element of xml file.other its called node.eg. staff.

 import javax.xml.parsers.DocumentBuilderFactory;  
 import javax.xml.parsers.DocumentBuilder;  
 import org.w3c.dom.Document;  
 import org.w3c.dom.NodeList;  
 import org.w3c.dom.Node;  
 import org.w3c.dom.Element;  
 import java.io.File;  
 public class ReadXMLFile {  
  public static void main(String argv[]) {  
   try {  
      File fXmlFile = new File("personalInfo.xml");//personalInfo.xml is xml file name  
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();  
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();  
      Document doc = dBuilder.parse(fXmlFile);  
      System.out.println("Root element :" + doc.getDocumentElement().getNodeName());  
      NodeList nList = doc.getElementsByTagName("emp");//here emp is the tag in xml file  
      System.out.println("----------------------------");  
      for (int temp = 0; temp < nList.getLength(); temp++) {  
           Node nNode = nList.item(temp);  
           System.out.println("\nCurrent Element :" + nNode.getNodeName());  
           if (nNode.getNodeType() == Node.ELEMENT_NODE) {  
                Element eElement = (Element) nNode;  
                System.out.println("Staff id : " + eElement.getAttribute("id"));  
                System.out.println("First Name : " + eElement.getElementsByTagName("firstname").item(0).getTextContent());  
                System.out.println("Last Name : " + eElement.getElementsByTagName("lastname").item(0).getTextContent());  
                System.out.println("Nick Name : " + eElement.getElementsByTagName("nickname").item(0).getTextContent());  
                System.out.println("Salary : " + eElement.getElementsByTagName("salary").item(0).getTextContent());  
           }  
      }  
   } catch (Exception e) {  
      e.printStackTrace();  
   }  
  }  
 }  

here we used the classes
DocumentBuilderFactory:Defines a factory API that enables applications to obtain a parser that produces DOM object trees from XML documents.

DocumentBuilder:Defines the API to obtain DOM Document instances from an XML document. Using this class, an application programmer can obtain a Document from XML.

An instance of this class can be obtained from the DocumentBuilderFactory.newDocumentBuilder() method. Once an instance of this class is obtained, XML can be parsed from a variety of input sources. These input sources are InputStreams, Files, URLs, and SAX InputSources.


output:

Root element :company
----------------------------
Current Element :emp
Staff id : 1
First Name : ishwar
Last Name : Panjari
Nick Name : ish
Salary : 1000

Current Element :emp
Staff id : 2
First Name : jaydip
Last Name : Raol
Nick Name : DK
Salary : 2000

Friday, 5 April 2013

How to read Multiple checkbox value and Radio button value at client side and serverside using jsp


Html file

 <html>  
 <head>  
 <title>Check Box Example</title>  
 <script src="jquery.js"></script>  
 <script>  
 function checkdisp()  
 {  
       $('input[name="hobby"]:checked').each(function()  
       {  
      alert("Check Button Value:"+$(this).val());  
    });  
      alert("The Radio Button Value:"+$('input[name="gen"]:checked').val());  
 }  
 </script>  
 </head>  
 <body>  
 <form name="frmpdf" action="connectCheck.jsp" method="GET">  
 Hobbies:<br>  
            <input type="checkbox" name="hobby" value="Cricket">Cricket<br>  
            <input type="checkbox" name="hobby" value="Movie">Watching Movie<br>  
            <input type="checkbox" name="hobby" value="Book">Reading Book<br>  
            <br>  
 Gender:<input type="radio" value="Male" name="gen" Checked>Male  
           <input type="radio" value="Female" name="gen">Female  
           <br>  
            <input type="button" value="ClientSide" onclick="checkdisp()">  
            <input type="submit" value="ServerSide">  
 </form>  
 </body>  
 </html>  


jsp file
connectCheck.jsp
 <%  
      out.println("CheckBox Value");  
      String[] checkb=request.getParameterValues("hobby");  
      try  
      {  
           for(int i=0;i<checkb.length;i++)  
                out.println(checkb[i]);  
           out.println("Radio Button value");  
           String radiob=request.getParameter("gen");  
           out.println(radiob);  
      }  
      catch(Exception e)  
      {  
           out.println("erro "+e.toString());  
      }  
 %>  

Client side : when you click on clientSide button it will display value of selected Checkbox and Radio button in Html File using jquery.

Server side:after selecting value in html page when you click on servierSide button it  will got to connectCheck.jsp page that print the selected checkbox and Radio button value.
           i used try and catch block because if user is not selected checkbox value and you try to access then its will throw error so handling exceptin i used try and catch block.

Wednesday, 27 March 2013

Check Valid extension of file at client side while uploding file

This following example allow to user upload only pdf file.for this example we need the jquery.js file.
<html>
<head>
<script src="jquery.js"></script>
<style>
body {
    margin:1em;
    font-size:.9em;
}
h1 {
    margin:1em 0;
    font-weight:bold;
}
h1:not(:first-of-type) {
    border-top:1px solid #ccc;
    padding:1em 0 0;
}
p {
    margin:1em 0;
}
p label {
    color:#333;
    font-family:sans-serif;
    display:inline-block;
    padding:.1em .1em .1em .3em;
    background:#f7f7f7;
    border:1px solid #ccc;
}
aside {
    margin-top:-.5em;
}
aside p {
    color:#333;
    font-size:.8em;
    font-family:sans-serif;
}

</style>
<script>
function getExtension(filename)
{

    var parts = filename.split('.');
    return parts[parts.length - 1];
}

function isPDF(filename)
{
    var ext = getExtension(filename);
    switch (ext.toLowerCase())
    {
    case 'pdf':
   
        /*
        etc
        like
        'xsl'
        */
        return true;
    }
    return false;
}

function failValidation(msg)
{
            alert(msg);
            return false;
}
function validate()
{      
        var file = $('#file');    
       
        if (!isPDF(file.val()))
        {
            return failValidation('Please select a valid file');
        }
               
        // indicate success with alert for now
        alert('Valid file');
        return true;
 }

</script>
</head>
<body>

<form name="frmpdf" action="connect.jsp" onsubmit="return validate()">
<h1>Match all pdf  files (application/pdf)</h1>
<p><label>Pdf File <input type="file" id="file" accept="application/pdf"></label></p>
<input type="submit" value="submit">
</form>
</body>
</html>

for checking image you can write following function.
function isImage(filename) 
 {
    var ext = getExtension(filename);
    switch (ext.toLowerCase()) 
   {
    case 'jpg':
    case 'gif':
    case 'bmp':
        //etc
        return true;
    }
    return false;
}

Tuesday, 26 March 2013

How to read and write value in List,Map,Set using getter and setter method in java

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.*;


public class CollectionEG
{

private Set setv;
private List listv;
private Map<String,String> mapv;


public Set getSetv() {
    return setv;
}
public void setSetv(Set setv) {
    this.setv = setv;
}
public List getListv() {
    return listv;
}
public void setListv(List listv) {
    this.listv = listv;
}
public Map<String, String> getMapv() {
    return mapv;
}
public void setMapv(Map<String, String> mapv) {
    this.mapv = mapv;
}

public static void main(String args[])
{
    CollectionEG cd=new CollectionEG();


    //This example for Map
    Map<String,String> map=new HashMap<String,String>();

        map.put("one","1");
        map.put("two","2");
        map.put("three","3");

        cd.setMapv(map);
        map=null;
        map=cd.getMapv();


        Set s=map.entrySet();
        Iterator mapIterator = s.iterator();
        System.out.println("Map Demo");
        while(mapIterator.hasNext())
        {
            Map.Entry mapEntry = (Map.Entry) mapIterator.next();
            // getKey Method of HashMap access a key of map
            String keyValue = (String) mapEntry.getKey();
            //getValue method returns corresponding key's value
            String value = (String) mapEntry.getValue();
            System.out.println("Key : " + keyValue + "= Value : " + value);

        }



    //This example for List
    System.out.println("List Demo");
    List list=new ArrayList<Integer>();
    list.add(1);
    list.add(2);
    cd.setListv(list);

    list=null;
    list=cd.getListv();
    for(int i=0;i<list.size();i++)
    {
        System.out.println(list.get(i));
    }


    //This example for Set
    System.out.println("Set Demo");
      Set<Integer> set = new TreeSet<Integer>();

    set.add(1);
    set.add(2);
    set.add(3);

    cd.setSetv(set);

    set=null;
    set=cd.getSetv();

    Iterator<Integer> iterator = set.iterator();
    while(iterator.hasNext())
    {
        Integer setElement = iterator.next();
        System.out.println(setElement);
    }

  }
}

Friday, 22 March 2013

How to set session and destroy session and setInactive time of session in jsp

1)Set the session
<%
String uname="ishwar";
session.setAttribute("name",uname);
%>

2)read the value of session and if user is not login then redirect to login.jsp page
<%
if(session.getAttribute("name")==null)
{
    out.println("<script>alert('please login first')</script>");
    out.println("<script>location.href='login.jsp'</script>");
   
}
else
{
    String uname=(String)session.getAttribute("name");
    out.println("uname is"+uname);
}
%>

3)Destroy or Delete the session
<%
    session.invalidate();
%>

4)set inactive time for session

for programmatically set session
This for 10 seconds
<% session.setMaxInactiveInterval(10); %>

This will set your session to keep everything till the browser is closed
<% session.setMaxInactiveInterval(-1); %>

This should set it for 1 day
<% session.setMaxInactiveInterval(60*60*24); %>

Other way you can set inactive time for session in web-inf file
<web-app>
<session-config>
<session-timeout>10</session-timeout>
</session-config>
</web-app>

Thursday, 21 March 2013

How to disable Browser back button using java script

<html>
<body>
<head>
<SCRIPT type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</SCRIPT>
</head>
<body onload="noBack();"  onpageshow="if (event.persisted) noBack();" onunload="">
<h1>Disable Back Button Demo</h1>
</body>
</html>