我想实现的功能是在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打不开,请问是什么原因呢?
现在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打不开,请问是什么原因呢?
<% String ob=request.getAttribute("传递过来的值")%>
然后在
<%=obj.Result() %> 输出。不然第二个界面就出现错误。说找不到 obj
我原来请求02的时候,直接写入 req.getRequestDispatcher("/02.jsp");
后来我想先执行一个servlet的java程序,把结果传递给setcontext类,然后用javabean调用setcontext类的属性取到结果
现在是不清楚应该如何做了
你说的这种方法肯定是可以的
但是我想换一种方式实现,就是刚才说的那样,servlet打开指定的一个servlet,处理之后在显示页面上调用javabean显示,不知道能否表达清楚了.