• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 154
  • Last Modified:

Error in JSP script

I run the attach JSP script and I get error please I need help here
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<%
	double x1 = 0.0;
	double y1 = 0.0;
	double x2 = 0.0;
	double y2 = 0.0;	
	
	for (int i=0; i < 5; i++)
	{
		if (i == 1)
		{
			x1 = 12.0;
			y1 = 15.5;
			x2 = 16.2;
			y2 = 17.8;
			
			out.print ("<a href=\"javascript:Zoom_to_Extent();\">Coordinate</a>");
		}	
	}
%>
 
<script language="JavaScript">
	function Zoom_to_Extent()
	{
		var x1 = <%= x1 %>;
    	var y1 = <%= y1 %>;
    	var x2 = <%= x2 %>;
    	var y2 = <%= y2 %>;
		
		println ("Done.");
		println (x1);
		println (y1);			
		println (x2);		
		println (y2);		
	}
</script>
</body>
</html>

Open in new window

0
bwor
Asked:
bwor
  • 4
  • 2
  • 2
  • +1
1 Solution
 
rrzCommented:
I am not sure what you want here. But here is something that give you an output.
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<%
	double x1 = 0.0;
	double y1 = 0.0;
	double x2 = 0.0;
	double y2 = 0.0;	
	
	for (int i=0; i < 5; i++)
	{
		if (i == 1)
		{
			x1 = 12.0;
			y1 = 15.5;
			x2 = 16.2;
			y2 = 17.8;
			
			out.print ("<a href=\"javascript:Zoom_to_Extent();\">Coordinate</a>");
		}	
	}
%>
 
<script language="JavaScript">
	function Zoom_to_Extent()
	{
		var x1 = <%= x1 %>;
    	var y1 = <%= y1 %>;
    	var x2 = <%= x2 %>;
    	var y2 = <%= y2 %>;
		
		document.write("Done.");
		document.write(x1);
		document.write(y1);			
		document.write(x2);		
		document.write(y2);		
	}
</script>
</body>
</html>

Open in new window

0
 
bworAuthor Commented:
I need to call function and print output but your code is not print output on screen please check your code
0
 
rrzCommented:
The code I posted prints the values when the link is clicked.  Please copy and paste.  If this is not what you want, then please describe your requirements more clearly.
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
bworAuthor Commented:
The problem here when I click over coordinate to check values for x1, y1, x2, y2 I see only the last values. For example if I click over coordinate #1 I will see the last value not values when i =1
Please check attach code

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<%
	double x1 = 0.0;
	double y1 = 0.0;
	double x2 = 0.0;
	double y2 = 0.0;	
	
	for (int i=1; i <= 5; i++)
	{
		if (i == 1)
		{
			x1 = 10.0;
			y1 = 15.0;
			x2 = 20.0;
			y2 = 25.0;			
		}
		else if (i == 2)
		{
			x1 = 15.0;
			y1 = 20.0;
			x2 = 25.0;
			y2 = 30.0;			
		}
		else if (i == 3)
		{
			x1 = 20.0;
			y1 = 25.0;
			x2 = 30.0;
			y2 = 35.0;			
		}					
		
		out.println ("<p></p><a href=\"javascript:Zoom_to_Extent();\">" + i + " Coordinate x1= " + x1 + 
		" y1= " + y1 + " x2= " + x2 + " y2= " + y2 + "</a>");
	}
%>
 
<script language="JavaScript">
	function Zoom_to_Extent()
	{
		var x1 = <%= x1 %>;
    	var y1 = <%= y1 %>;
    	var x2 = <%= x2 %>;
    	var y2 = <%= y2 %>;
		
		alert("x1= " + x1 + " y1= " + y1 + " x2= " + x2 + " y2= " + y2);
	}
 
	<!-- document.write ("<h1>Done.</h1>");	 -->
</script>
</body>
</html>

Open in new window

0
 
Thomas4019Commented:
This looks to me like JSP is really not needed for what you are trying to do. I recommend for this using just Javascript. Could you clearly explain what the goal of this script is? Then i can give you help on how to write it with Javascript.
0
 
rrzCommented:
Hi Thomas, thanks for the help. I was busy all day. Yes, it is difficult to know what  bwor has in mind here. Here is some code that might be help.  
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<%
	double x1 = 0.0;
	double y1 = 0.0;
	double x2 = 0.0;
	double y2 = 0.0;	
	
	for (int i=1; i <= 5; i++)
	{
		if (i == 1)
		{
			x1 = 10.0;
			y1 = 15.0;
			x2 = 20.0;
			y2 = 25.0;			
		}
		else if (i == 2)
		{
			x1 = 15.0;
			y1 = 20.0;
			x2 = 25.0;
			y2 = 30.0;			
		}
		else if (i == 3)
		{
			x1 = 20.0;
			y1 = 25.0;
			x2 = 30.0;
			y2 = 35.0;			
		}					
		
		out.println ("<p></p><a href=\"javascript:Zoom_to_Extent(" + x1 + "," + y1 + "," 
                               + x2 + "," + y2 + ");\">" + i + " Coordinate x1= " + x1 + " y1= " 
                               + y1 + " x2= " + x2 + " y2= " + y2 + "</a>");
	}
%>
 
<script language="JavaScript">
	function Zoom_to_Extent(x1,y1,x2,y2)
	{
 
		
		alert("x1= " + x1 + " y1= " + y1 + " x2= " + x2 + " y2= " + y2);
	}
 
	<!-- document.write ("<h1>Done.</h1>");	 -->
</script>
</body>
</html>

Open in new window

0
 
Thomas4019Commented:
bwor, since you are initializing x1,y1,x2,y2 all on the server side with JSP, this will never change unless you reload the page.
0
 
Michel PlungjanIT ExpertCommented:
And bwor is obviously mixing server side java with client side javascript

rrz@871311: You cannot use document.write after the load of a page. Change some element's innerHTML instead
0
 
rrzCommented:
mplungian, thank you for the knowledge.
But what about the changes I made to bwor's latest code ?
0
 
Michel PlungjanIT ExpertCommented:
That should work - e.g. not give error, but if the aim is to zoom, then instead of alert, the script needs to (ajax) call the server with the new x/y values
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

  • 4
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now