我想实现的功能是在01页面输入两个数在02页面显示结果.
现在02页面的结果我想通过servlet来设定,但是01页面不知道应该如何打开并且显示结果
代码如下
xml<servlet>
        <servlet-name>SampleServlet01</servlet-name>
        <servlet-class>SampleServlet01</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SampleServlet01</servlet-name>
        <url-pattern>/j</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>SampleServlet02</servlet-name>
        <servlet-class>SampleServlet02</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SampleServlet02</servlet-name>
        <url-pattern>/g</url-pattern>
    </servlet-mapping>SampleServlet01的代码:
 RequestDispatcher rd = null;
int value01 = Integer.parseInt(request.getParameter("value01"));
        int value02 = Integer.parseInt(request.getParameter("value02"));        AioslBizSample01 sample01 = new AioslBizSample01();
        Integer result = sample01.multiple(value01,value02);        request.setAttribute("Rusult", result);         //ServletContext context = getServletContext();
         //context.getRequestDispatcher("/g").forward(request, response);
        rd = request.getRequestDispatcher("/g");
        rd.forward(request,response);
         //context.getRequestDispatcher("g")SampleServlet02的代码:
public class SampleServlet02 extends HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse res)throws IOException, ServletException{SetContext sc =new SetContext();
sc.setResult((String)req.getAttribute("result")); } protected void doPost(HttpServletRequest req, HttpServletResponse res)throws IOException,ServletException{
//RequestDispatcher rd = null;
//rd = req.getRequestDispatcher("/02.jsp");
//rd.forward(req,res);
}
}
其中SetContext 是自己写的一个java文件,就是存储结果.02页面的jsp代码
<%@ page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"%>
    <jsp:useBean id="obj" scope="session" class="SetContext" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>Insert title here</title>
</head>
<body>
<font color = "#0000ff"><b>計算結果</b></font><br>
<%=obj.Result() %>。
    <form action = "g" method="POST">
        <input type = "submit" value="返回" />
    </form>
</body>
</html>现在是第二个jsp打不开,请问是什么原因呢?

解决方案 »

  1.   

       <%=obj.Result() %>在第二个界面有没有获取到 obj 啊? 
    <% String ob=request.getAttribute("传递过来的值")%>
    然后在
    <%=obj.Result() %> 输出。不然第二个界面就出现错误。说找不到 obj 
      

  2.   

    有问题是肯定的了
    我原来请求02的时候,直接写入 req.getRequestDispatcher("/02.jsp");
    后来我想先执行一个servlet的java程序,把结果传递给setcontext类,然后用javabean调用setcontext类的属性取到结果
    现在是不清楚应该如何做了
      

  3.   


    你说的这种方法肯定是可以的
    但是我想换一种方式实现,就是刚才说的那样,servlet打开指定的一个servlet,处理之后在显示页面上调用javabean显示,不知道能否表达清楚了.