SoilAdd中:
      public class SoilAdd implements ActionInterface { public String process(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
Connection con;
String forward = null;
try {
con = DataSourceFactory.getDataSource().getConnection();
SoilDAO sDAO = DAOFactory.getSoilDAO(con);
String getsTrace = request.getParameter("sTrace");
String getsId = request.getParameter("sId");
String getsPrivider = request.getParameter("sPrivider");
String getsNo = request.getParameter("sNo"); PartDTO partDTO = sDAO.findPartBid(getsTrace);
if(partDTO==null){
con.close();
forward = "/soilList.files/NotExistsStraceInSoil_tab.jsp";
}else {
BOMDTO bomDTO = sDAO.checkExistsBidAndSidInBOM(partDTO.getBid(),
getsId);
if (bomDTO == null) {
con.close();
forward = "/soilList.files/NotExistsBidAndSidInBOM.jsp";
} else {
SoilDTO sDTO = new SoilDTO(getsTrace, getsId, getsPrivider,
getsNo);
sDAO.add(sDTO);
con.close();
forward = "SoilList.do?param=getsTrace";
//本想把从添加页面中获取的getsTrace的值传递到SoilList中以进行相应的处理,但是在SoilList中获取param的值是getsTrace,而并不是getsTrace这个变量的值。
     }
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return forward;
}
SoilList中:
public String process(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
String getsTrace=request.getParameter("param");
System.out.println(getsTrace); //输出的是getsTrace,而不是getsTrace的值;

return "/index.jsp";
}

解决方案 »

  1.   

    forward = "SoilList.do?param=" + getsTrace; 试试
      

  2.   


     可以装到,ActionForm里,ActionForm af=(ActionForm).setXXX();  可以装到session里,requeset.setAttribute();   都可以传
      
      

  3.   


     哦写错了 ActionForm af=(ActionForm)form; af.setXXX();
      

  4.   

    在SoilAdd中: forward = "SoilList.do?param=getsTrace"; 改为:forward = "SoilList.do?getsTrace=" + getsTrace; 
    在SoilList中:String getsTrace=request.getParameter("param"); 改为:String getsTrace=request.getParameter("getsTrace"); 
      

  5.   

    servlet(Actiob)间传递传递和jsp到servlet间是一样的。
    最简单的方式是通过?varName=value
      

  6.   

    这里给你总结一下吧1:如何让用户的请求数据从一个Servlet传递给另一个Servlet     第一种方式:通过超链接传递数据 
        第二种方式:通过表传递取参数。 
        第三种方式:通过setAttribute("name",value)与getAttribute(name value)传递参数 
      

  7.   

    具体三种方式的示例或详细讲解,
    楼主可以去我博客看一下这个文章:
    ”Servlet(Action)之间的数据传递“
    路径”
    http://blog.csdn.net/yinyuan1987/archive/2008/11/01/3202393.aspx
      

  8.   

    servlet(Actiob)间传递传递和jsp到servlet间是一样的。 
    最简单的方式是通过?varName=value
      

  9.   

    1.你可以将getsTrace放到request的一个参数中,request.setAttribute("getsTrace",getsTrace);
    在通过request.getRequestDispatcher("你要转到的servlet的路径,是在web.xml配置的路径").forward(request, response);这样你就将getsTrace穿到了你要的servlet中,在这个servlet中再通过request.getAttribute("getsTrace")就可以得到getsTrace的值了。
    2.你也可以把这个存到session里,request.getSession().setAttribute("getsTrace",getsTrace);
    后面的传递过程跟上面的一样,在目的servlet中通过request.getSession().getAttribute("getsTrace")得到getsTrace
      

  10.   

    1.你可以将getsTrace放到request的一个参数中,request.setAttribute("getsTrace",getsTrace);
    在通过request.getRequestDispatcher("你要转到的servlet的路径,是在web.xml配置的路径").forward(request, response);这样你就将getsTrace穿到了你要的servlet中,在这个servlet中再通过request.getAttribute("getsTrace")就可以得到getsTrace的值了。
    2.你也可以把这个存到session里,request.getSession().setAttribute("getsTrace",getsTrace);
    后面的传递过程跟上面的一样,在目的servlet中通过request.getSession().getAttribute("getsTrace")得到getsTrace
      

  11.   

    答案肯定是可以的
    楼主可以封装在actionForm中  然后通过request或者session的getAttribute()方法获得actionForm
    eg: 
        action1:
           yanzhengmaForm.setYanzhengma(this.yanzhengma);
        action2:
          YanzhengmaForm yanzhengmaForm = (YanzhengmaForm)session.getAttribute("yanzhengmaForm");
          String yanzhengma = yanzhengmaForm.getYanzhengma();
        方法应该还有不少 呵呵 
    至于servlet之间传递值那就更方便了 把值存在request 或者 response中就行了  
      

  12.   

    你可以用setParameter("name",value)和getParmeter("name")来设置参数及或取参数
    或setAttribute("name",value)和getAttribute(name value)
      

  13.   


    request.setAttribute("para",para);