java - 在 Struts 2 中的 request.getAttribute(..) 中获取 Null

标签 java parameters struts2

设置属性

public class VoucherApproverListAction extends ActionSupport implements
SessionAware, ServletRequestAware, Preparable {
private HttpServletRequest servletRequest;

    public HttpServletRequest getServletRequest() {
        return servletRequest;
    }


    @Override
    public void setServletRequest(HttpServletRequest servletRequest) {
        this.servletRequest=servletRequest;
    }

public void prepare() throws Exception {
servletRequest.setAttribute("id",tCaseVouchrDto.getId());
}
}

获取属性

 public class VoucherAction extends ActionSupport implements
    SessionAware, ServletRequestAware, Preparable {
    private HttpServletRequest servletRequest;

        public HttpServletRequest getServletRequest() {
            return servletRequest;
        }


        @Override
        public void setServletRequest(HttpServletRequest servletRequest) {
            this.servletRequest=servletRequest;
        }

    public void prepare() throws Exception {
   String paramValue = (String)servletRequest.getAttribute("id");
        logger.info("@-----Id===-----@" + paramValue);
    }
    }

成功后从VoucherApproverListAction操作类重定向到VoucherAction操作类在paramValue中获取null

最佳答案

From VoucherApproverListAction action class after success ,it is redirected to VoucherAction action class

这就是问题所在,如果发送重定向,请求属性就会丢失。您需要在下次请求之前传递一个参数或将其保存在 session 中。

关于java - 在 Struts 2 中的 request.getAttribute(..) 中获取 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14748698/

相关文章:

c# - SQL 参数和问号

c - 有没有办法将 sigaction() 发送到具有多个参数的信号处理程序?

java - maven:执行而不实际构建任何东西

java - 如何找到 JDK 以在我的系统中使用 BlueJ

java - 使 API 中的某些方法仅对特定包可用 - Java

java - 为什么生成的 URL 中缺少我的参数值?

java - Struts 2 拦截器响应 header 未设置

java - 从c#到java的AES加密/解密

python-3.x - 在 pytorch 中,如何将 add_param_group() 与优化器一起使用?

java - 如何将struts2中的字符集更改为utf-8