Hi Prashant,

I have to confess that you have cheered up my morning :) That is quite an 
amusing code snippet.

Not sure what you are actually trying to do, but what you are doing is opening 
a URL connection to the Showprodsuppliers from within its execute method. So, 
naturally, you have created an infinite loop. Can you come back to the list 
with a more detailed explanation of you aims?

Stuart

On 28/05/2009 10:41, "Prashant Singh" <prashantk.si...@yahoo.co.in> wrote:






Hi dear,

I have been trying to read the productID from the url but it goes into an 
infinite loop at point 1. I am posting the code below. Please help.






 package net.astralpharma;
import java.io.*;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;

import java.io.BufferedReader;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;
import java.util.*;

import net.astralpharma.Connect;
import net.astralpharma.Product;
import net.astralpharma.Productdisplay;

public class Showprodsuppliers extends ActionSupport
    {
    private String productID;
    private String productName;
    List<Supplier> supplierName = new ArrayList<Supplier>();


    public String execute() throws Exception{
        StringBuffer sb = new 
StringBuffer("http://localhost:8080/Astralpharma1/astralpharma/astralpharma/showprodsuppliers.action?productID=1";);

        URL url = new URL(sb.toString());
        URLConnection urlConn = url.openConnection();
        urlConn.setUseCaches(true);
        urlConn.setDoOutput(true);
        urlConn.setDoInput(true);
        System.out.println("reached point 1");

        OutputStreamWriter osr = new 
OutputStreamWriter(urlConn.getOutputStream());

        BufferedReader br = new BufferedReader(new 
InputStreamReader(urlConn.getInputStream()));

        String tempStr;
        StringBuffer buffer = new StringBuffer();
        System.out.println("Reached point 2");

        while((tempStr = br.readLine())!= null)
            {
                buffer.append(tempStr + "<br>\n");

            }
        br.close();

        StringTokenizer st = new StringTokenizer(buffer.toString());
        ArrayList<String> output = new ArrayList<String>();
        System.out.println("reached point 3");
        while(st.hasMoreTokens())
        {
            String server = st.nextToken();
            try{
                if(st.nextToken().contentEquals("productID"));
                {
                    productID=st.nextToken().valueOf("productID");
                    System.out.println("Value of productID" + productID);
                }
            }
            catch(Exception e)
            {
                System.out.println("Exception" + e.getMessage());
            }
        }
        System.out.println("Reached point 4");

            Connect connect = new Connect();
            Connection con = connect.useConnection();
            String query="Select suppliername from supplier_proddetails where 
productid=?";
            PreparedStatement stat = con.prepareStatement(query);
            stat.setString(1, productID);
            System.out.println(stat);
            ResultSet rs = stat.executeQuery();
            System.out.println("rs"+ rs);
            while(rs.next())
            {
                System.out.println("inside while");
                supplierName.add(new Supplier((rs.getString("supplierName"))));
                System.out.println("item added successfully");
            }
        return "success";
        }

        public List<Supplier> getSupplierName() {
            return  supplierName;
        }

        public void setSupplierName(List<Supplier> supplierName) {
            this.supplierName = supplierName;
        }

        public String  getProductID() {
            return  productID;
        }

        public void setProductID(String productID ) {
            this.productID  = productID ;
        }


        public String getProductName() {
            return productName;
        }

        public void setProductName(String productName) {
            this.productName = productName;
        }

}



My front end jsp is as follows:

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
<head>
<title>Product Handled</title>
<link href="<s:url value="/css/main.css"/>" rel="stylesheet"
type="text/css"/>
</head>

<body>
<table class="productTable">



<tr><td>This Page Gives the List of Products handled by Astral 
Pharmaceuticals</td></tr>

<tr><td>Products Handled</td></tr>

<s:iterator value="productDetail" >
<tr><td><a href="showprodsuppliers.action?productID=<s:property 
value="productID"/>">
<s:property value="productName"/>
</a></td></tr>
</s:iterator>

</table>


</body>
</html>

The url i am generating is as follows:
http://localhost:8080/Astralpharma1/astralpharma/astralpharma/showprodsuppliers.action?productID=1
I just need to get the productID from the url.

Sincerely,
Prashant Singh




      Explore and discover exciting holidays and getaways with Yahoo! India 
Travel http://in.travel.yahoo.com/

Reply via email to