Need variables to carry over to another included page

About half way down a JSP, I have an include statement like this:

<jsp:include page="page2b.jsp" flush="true"/>

page2b.jsp then uses some logic that evaluates some variables from the first page.

Is there a way that I can declare and set the variables on the first page in a way that they can be read on page2.jsp?

I imagine that there are session varibales (although I am not sure how to declare them).
But is there another way that I can include the page2.jsp so that it will be read by the server as a part of the first page an accept the variables as though they were set on that page?
mderbinAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
objectsConnect With a Mentor Commented:
> Do I need to do something on page2b.jsp to get the variable from page2.jsp
> (right now I am using String $name2 = request.getParameter("name2");)?

No you don't need anything.
That line is in fact what is setting it to null.


0
 
mderbinAuthor Commented:
Let me rephrase and show my code:

I have the following page(page1.jsp):
*************** page1.jsp *********************
<html>
<head>
<title>Page1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="page2.jsp?link=1" method="post" name="form1" enctype="multipart/form-data">
         <input name="name2" type="text" size="25" maxlength="25"><br>
       <input type="file" name="uploadfilename" > <br>
       <input type="reset" value="Reset" name="Reset">
       <input type="submit" value="Submit" name="Submit">
</form>
</body>
</html>
***************end of page1.jsp *******************

This form calls page2.jsp, which uses oReilly.servlet to get the form data:
****************** page2.jsp *********************
<%@ page import="java.sql.*, java.util.*, oracle.sql.*,oracle.jdbc.driver.*,java.io.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest"%>
<%      
String $link = request.getParameter("link");
if($link.equals("1")){
      MultipartRequest multi = new MultipartRequest(request,"d:/WebSphere/AppServer/installedApps/globalis.ear/globalis.war/META-INF/uploads/images", 50 * 1024, new com.oreilly.servlet.multipart.DefaultFileRenamePolicy());
      out.println("<br><b>Parameters</b><br>");
      Enumeration params = multi.getParameterNames();
      while (params.hasMoreElements()) {
            String $parm_name = (String)params.nextElement();
            String $parm_value = multi.getParameter($parm_name);
            if($parm_value == null || $parm_value.equals("")){ $parm_value = ""; }
            out.println("<br>"+$parm_name + " = " + $parm_value);
            
            if($parm_name.equals("name2")){
                  String $name2 = $parm_value;
            }
      }
}else{
      String $through = request.getParameter("through");
      out.println("<br>through="+$through);
      out.println("<br>link="+$link);
}
%>
<% String $myzone = "page2b.jsp"; %>
<jsp:include page="<%=$myzone%>" flush="true"/>

***************end of page2.jsp *******************

The bottom of page2.jsp calls the simple include page2b.jsp, which I want to print to the screen the variable "name2"
***************end of page1.jsp *******************
<%@ page import="java.sql.*, java.util.*, oracle.sql.*,oracle.jdbc.driver.*,java.io.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest"%>
<%
String $name2 = request.getParameter("name2");
out.println("<br>The text in name2="+$name2);
out.println("<br><br><a href=page2.jsp?link=1&through=michael>page2 click here</a>");
out.println("<br><a href=page1.jsp>page1 click here</a>");
%>
***************end of page2b.jsp *******************


But "name2" always comes out null.
I cannot use oReilly.servlet to read in the parts of the form again in page2b.jsp (it always fails - probably because page2.jsp is not a form).
How can I get page2b.jsp to recognize "name2" and print the value to the screen that i type into page1.jsp?

Thanks,
-MD
0
 
objectsCommented:
you need to use
<%@ include file="page2b.jsp" %>

That way the file gets included at translation phase
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
mderbinAuthor Commented:
I tried that, but the value of the variable is still coming up null all of the time on page2b.jsp.


So now my page2.jsp looks like:

<%@ page import="java.sql.*, java.util.*, oracle.sql.*,oracle.jdbc.driver.*,java.io.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest"%>
<%      
      String $link = request.getParameter("link");
      if($link.equals("1")){
            MultipartRequest multi = new MultipartRequest(request,"d:/WebSphere/AppServer/installedApps/globalis.ear/globalis.war/META-INF/uploads/images", 50 * 1024, new com.oreilly.servlet.multipart.DefaultFileRenamePolicy());
            out.println("<br><b>Parameters</b><br>");
            Enumeration params = multi.getParameterNames();
            while (params.hasMoreElements()) {
                  String $parm_name = (String)params.nextElement();
                  String $parm_value = multi.getParameter($parm_name);
                  if($parm_value == null || $parm_value.equals("")){ $parm_value = ""; }
                  out.println("<br>"+$parm_name + " = " + $parm_value);
                  
                  if($parm_name.equals("name2")){
                        String $name2 = $parm_value;
                  }
            }
      }else{
            String $through = request.getParameter("through");
            out.println("<br>through="+$through);
            out.println("<br>link="+$link);
      }
%>
<%@ include file="page2b.jsp" %>



And page2b.jsp looks like this:

<%@ page import="java.sql.*, java.util.*, oracle.sql.*,oracle.jdbc.driver.*,java.io.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest"%>
<%
String $name2 = request.getParameter("name2");
out.println("<br>The text in name2="+$name2);
out.println("<br><br><a href=page2.jsp?link=1&through=michael>page2 click here</a>");
out.println("<br><a href=page1.jsp>page1 click here</a>");
%>



And the results on the web look like this:

Parameters

Submit = Submit
link = 1
name2 = kmkmkmkm
The text in name2=null

page2 click here
page1 click here

Do I need to do something on page2b.jsp to get the variable from page2.jsp (right now I am using String $name2 = request.getParameter("name2");)?

Thanks,
-MD
0
 
rrzCommented:
>using String $name2 = request.getParameter("name2");
You could just remove that line from  page2b.jsp  .  
The variable will be seen in a <%@ include .


0
 
mderbinAuthor Commented:
It worked - thanks - now I just have to get the code from this simple test environment to the REAL code.
This project is going to be the death of me...
Thanks again.
0
 
objectsCommented:
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.

All Courses

From novice to tech pro — start learning today.