如何从另一个获取动作类的值

时间:2017-11-14 15:12:36

标签: java servlets struts-1

我有两个动作类

public class TokenAction extends Action {
    private ActionForward getToken(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request,
            HttpServletResponse response) throws IOException {
        String token = generateToken();
        response.setContentType("text/plain");
        response.getWriter().print(token);

        return null;
    }

public class ActionTwo extends Action{
    private ActionForward doSomething(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request,
            HttpServletResponse response)  {
        token = ???
        return actionMapping.findForward("page");
    }

}

如何从TokenAction进入ActionTwo?

1 个答案:

答案 0 :(得分:-1)

基本上,在Java中有多种方法可以跨上下文传递对象,最常见的可能是:

  • 通过静态变量(不推荐)
  • 通过共享参数映射
  • 通过控制器对象

在您的情况下,由于传递给方法的参数似乎具有包含两个调用的生命周期(尽管没有具体细节很难说),您应该将它们存储在参数中({{1对于这个目的来说,它并不是很有用,但HttpServletResponseActionMapping可能是有效的。如果在某个控制器的上下文中创建了ActionForm,则可以使用控制器来传递参数。