On Sun, Jun 20, 2010 at 12:10 AM, Student <[email protected]> wrote:
> Sorry I am not able to express properly
> So the code is like.
> I have an html page where a user clicks OK button
> when client hits ok i call the servlet the code is as
> follows..............
>
can you send me the code that handles the click on the OK button?
your code to draw the chart should be on the same HTML page. you should not
be loading a new HTML page to draw the chart.
>
> public class SqlTest extends HttpServlet implements DataTableGenerator
> {
> protected void processRequest(HttpServletRequest request,
> HttpServletResponse response)
> throws ServletException, IOException {
>
> try {
> DataSourceHelper.executeDataSourceServletFlow(request,
> response, this, isRestrictedAccessMode());
>
> }
> catch(Exception e){
> System.out.println(e.getMessage());
> }
> }
> @Override
> public DataTable generateDataTable(Query query, HttpServletRequest
> request)
> throws DataSourceException {
> SqlDatabaseDescription dbDescription = new
> SqlDatabaseDescription("jdbc:mysql://10.0.0.230:3306/
> test","atuser","pwd","userk");//url,user,pass,tablename
> return SqlDataSourceHelper.executeQuery(query, dbDescription);
> }
>
> @Override
> public Capabilities getCapabilities() {
> return Capabilities.SQL;
> }
>
> protected boolean isRestrictedAccessMode() {
> return false;
> }....etc
>
>
> Now when the servlet is called it generates hte json string on the
> browser as given in the tutorials....
> The text begins with google.visualization.Query.setResponse
> and ends with /Tiger'},{v:80.0},{v:false}]}]}});
>
> #So this string is seen on the clients browser ... since he has
> requested by clicking OK button.
>
> So since the Json string is loaded into clients browser ... he calls
> the following HTML page to see the chart....
>
> CLIENT CODE IS AS FOLLOWS -->BUT IT SHOULD BE CALLED ONLY WHEN THE
> SERVLET COMPLETLY SENDS google.visualization.Query.setResponse json
> string to the clients browser
> <html>
> <head>
> <title>Getting Started Example</title>
> <!--Load the AJAX API-->
> <script type="text/javascript" src="http://www.google.com/jsapi"></
> script>
> <script type="text/javascript">
>
> //Load the Visualization API and the ready-made Google table
> visualization
> google.load('visualization', '1', {'packages':
> ['annotatedtimeline']});
>
> // Set a callback to run when the API is loaded.
> google.setOnLoadCallback(init);
>
> // Send the query to the data source.
> function init() {
>
> // Specify the data source URL.
> var query = new google.visualization.Query('GoogleProcessor');//
> NAME OF SERVLET WHICH GIVES RESPONSE TO THE CLIENT REQUEST WITH A
> query.response JSON string to client browser
>
> // Send the query with a callback function.
> query.send(handleQueryResponse);
> }
>
> // Handle the query response.
> function handleQueryResponse(response) {
> if (response.isError()) {
> alert('Error in query: ' + response.getMessage() + ' ' +
> response.getDetailedMessage());
> return;
> }
>
> // Draw the visualization.
> var data = response.getDataTable();
> var chart = new
>
> google.visualization.AnnotatedTimeLine(document.getElementById('chart_div'));
> chart.draw(data, {displayAnnotation: true});
> }
> </script>
> </head>
> <body>
> <h1>Hello! Data Source!</h1>
>
> A table chart that shows data taken from the simple data source.
> <!--Div that will hold the visualization-->
> <div id="chart_div" style='width: 700px; height:240px;'></div>
> </body>
> </html>
>
>
> so the client can see the chart now............
>
> Now according to my requirement when the servlet process the data and
> send the json string on the clients browser, Once the json is loaded
> completly to the clients browser i should call the
> above HTML page which draws the chart.
> How can i do it?
> what I tried was ......
> request dispatcher --> which calls the chart drawing html page att the
> end of the servlet code.
> It did not work since the Json string takes time to get loaded in
> clients browser.
> sendredirect -->dont work either due to the same reason.
>
> I am completly new to the webpage world...
> I think that I have to write a code were-in the client browser get the
> idea that the json string is completly loaded into its browser and its
> time to call the HTML page to see the chart.
> i think that ajax,jquery has the ability to know that the servlet has
> loaded the json string completly on client side and we can call the
> HTML page to see the chart.
> i read some were"" getjson()""" command in jquery which can so that
> trick.
> Please guide me about how to get the idea that the servlet has
> processed and have loaded the json string COMPLETELY on the clients
> browser and then we can call the HTML page to see the chart.
> Ya, and there are no errors in the code... that i have posted ...
> thanks & reagards,
> Akku
>
>
>
>
>
>
>
> On Jun 16, 5:44 am, MC Get Vizzy <[email protected]> wrote:
> > I'm having a hard time understanding what's going on here. Can you paste
> > your client code where you send the query?
> >
> > On Mon, Jun 14, 2010 at 4:52 PM, akshay dange <[email protected]
> >wrote:
> >
> >
> >
> > > Is there anyway to " ELIMINATE " the beautiful string from coming on
> > > clients
> > > browser
> >
> > > On Sun, Jun 13, 2010 at 6:04 PM, CounterStrike <
> [email protected]>wrote:
> >
> > >> Hi
> > >> I have to design such that whenever user pass a query I process it
> > >> using servlet and then call the js page to draw the chart
> >
> > >> 1> user writes a query on a page
> > >> 2> the page call the servelt class
> > >> public class MyServlet extends Httpservlet implements
> > >> DataSourceServlet {..... return data
> > >> The user see a beautiful string like this..
> > >> google.visualization.Query.setResponse......... /Tiger'},{v:80.0},
> > >> {v:false}]}]}});
> > >> 3> when the user hits on different html page myhtml.js it draws the
> > >> chart.
> >
> > >> I want the Myservlet class itself call the myhtml.js page and draw
> > >> the chart directly.
> > >> and want to eliminate the beautiful string
> > >> google.visualization.Query.setResponse......... /Tiger'},{v:80.0},
> > >> {v:false}]}]}});
> > >> from coming on user's browser
> > >> What should i do?
> > >> I tried using functions to call another page like request
> > >> dispatcher(), redirect() calling myhtml.js page directly after
> > >> myservlet process the query results.
> > >> But i get the result like this
> > >> google.visualization.Query.setResponse......... /Tiger'},{v:80.0},
> > >> {v:false}]}]}});
> > >> and the entire myhtml.js code page below it on the browsers that to
> > >> without the chart been draw.
> >
> > >> Is there anyway to element the beautiful string from coming on clients
> > >> browser
> > >> and only show them the chart been drawn ? :)
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google Visualization API" group.
> > > To post to this group, send email to
> > > [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<google-visualization-api%[email protected]><google-visualization-
> api%[email protected] <api%[email protected]>>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-visualization-api?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Visualization API" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-visualization-api%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-visualization-api?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"Google Visualization API" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-visualization-api?hl=en.