Struts 1 Struts使用params重定向

Struts 1 Struts使用params重定向,struts-1,Struts 1,我使用的是struts 1.2.4,但我需要使用参数从ActionServlet重定向到目标页面。我无法升级到1.2.7+struts,因此无法利用ActionRedirect 现在,我的action类中的save方法返回ActionForward 它映射到struts-config.xml中的该条目 <forward name="success" path="/enterprise/company/searchCompa

我使用的是struts 1.2.4,但我需要使用参数从ActionServlet重定向到目标页面。我无法升级到1.2.7+struts,因此无法利用ActionRedirect

现在,我的action类中的save方法返回ActionForward

它映射到struts-config.xml中的该条目

        <forward 
            name="success" 
            path="/enterprise/company/searchCompany.do"/>
实际上,我希望save方法转发到“/enterprise/company/saveSurvey.do?companyID=1”之类的内容,companyID的值可用于我的action类的save方法


如果我无法升级Struts以利用ActionRedirect,那么使用param实现重定向的最佳方法是什么?

我看到了两种变体,但我肯定对这方面的知识不太了解

第一: 您可以将参数保存在Map中,然后保存在session中,然后可以加载它们

public ActionForward execute (HttpServletRequest request, ....){
  Map<String,String> params = new HashMap<>();
  params.put("companyId","1");
request.getSession().setAttribute("PARAM_MAP",params);
   return (mapping.findForward("success"));
}
在另一种方法中,您可以从该映射获取参数,如

Map<String,String> map = (Map<String,String>)request.getSession().getAttribute("PARAM_MAP");
第二种变体更简单。您可以对这两个操作使用1个表单,在struts.xml中,您必须指出这一点

<form-beans>
   <form-bean name="MyBeanForm" type="your.full.packet.path.MyBeanForm"/>
</form-beans>

<action-mappings>

  <action path="searchCompany"
          name ="MyBeanForm"
          scope="session"
          type="enterprise.company.SearchCompanyAction" />


  <forward 
            name="success" 
            path="/enterprise/company/searchCompany.do"/>

</action-mappings>

我看到了两种变体,但我肯定在这方面的知识水平较低

第一: 您可以将参数保存在Map中,然后保存在session中,然后可以加载它们

public ActionForward execute (HttpServletRequest request, ....){
  Map<String,String> params = new HashMap<>();
  params.put("companyId","1");
request.getSession().setAttribute("PARAM_MAP",params);
   return (mapping.findForward("success"));
}
在另一种方法中,您可以从该映射获取参数,如

Map<String,String> map = (Map<String,String>)request.getSession().getAttribute("PARAM_MAP");
第二种变体更简单。您可以对这两个操作使用1个表单,在struts.xml中,您必须指出这一点

<form-beans>
   <form-bean name="MyBeanForm" type="your.full.packet.path.MyBeanForm"/>
</form-beans>

<action-mappings>

  <action path="searchCompany"
          name ="MyBeanForm"
          scope="session"
          type="enterprise.company.SearchCompanyAction" />


  <forward 
            name="success" 
            path="/enterprise/company/searchCompany.do"/>

</action-mappings>