Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

For loop not working in my output 1

Status
Not open for further replies.

evergrean100

Technical User
Dec 1, 2006
115
0
0
US
I have a JSP that outputs 10 links and it works great but want to cut down on the scriptlet lines in my JSP.
Now I want to put the for loop that outputs the 10 links into a source file and call the class in my JSP using just one line scriptlet.

Here is what my current JSP looks like where it outputs the 10 links:

Code:
<jsp:useBean id="pageinfo" class="storm.Pageinfo" scope="session" />
.....
<% 	
if (pageinfo!=null)
 {
      for(int i=0;i < 10;i++)
     { 
          out.println("<a href=moveto.jsp?inpage=" + i + ">" + i + "</a>");
     }		
} 

%>

Now my attempt to put it in a class outputs only 1 link instead of 10.

Source code for the Java class:

Code:
package storm;
import storm.*;

public class PageUtil
{
       public static String theMethod(Pageinfo pageinfo)
       {
           if (pageinfo!=null)
           {
              for(int i=0;i < 10;i++)
              { 
                 return "<a href=moveto.jsp?inpage=" + i + ">" + i + "</a>";
              }		
           } 
       return "";
       }
}

JSP scriptlet calling the static method:

Code:
<%= PageUtil.theMethod(pageinfo)  %>
 
You're just doing the first iteration and the returning. Also consider using a Stringbuffer.

Code:
package storm;
import storm.*;

public class PageUtil
{
       public static String theMethod(Pageinfo pageinfo)
       {
           if (pageinfo!=null)
           {
              StringBuffer links = new StringBuffer(3000);
              for(int i=0;i < 10;i++)
              { 
                 links.append( "<a href=moveto.jsp?inpage=" + i + ">" + i + "</a>");
              }        
           } 
       return links.toString();
       }
}
 
Thanks that works great.

I assume this line: return links.toString();
is casting the StringBuffer object reference to a String object reference?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top