其中一个动作类具有以下fromDate字段。其值来自正确的 jsp 文件。并使用 ServletContextAware 接口使用 contex.setAttribute 设置 fromDate 值,如下所示。1)场景一
public class Search extends ActionSupport implements ServletContextAware {
private String fromDate;
public String getFromDate() {
return fromDate;
}
public void setFromDate(String fromDate) {
this.fromDate = fromDate;
}
}
@Override
public void setServletContext(ServletContext ctx) {
ctx.setAttribute("startDate", getFromDate());
}
现在在执行方法中的其他一些动作类中,我正在获取它的值,如下所示。
public String execute() {
ServletContext context = ServletActionContext.getServletContext();
String obj = (String)context.getAttribute("startDate");
obj 值显示为空。
在第一个动作类中设置上下文变量如下
2)Scenario-2
public class Search extends ActionSupport implements ServletContextAware {
private String fromDate;
public String getFromDate() {
return fromDate;
}
public void setFromDate(String fromDate) {
this.fromDate = fromDate;
}
@Override
public void setServletContext(ServletContext ctx) {
ctx.setAttribute("startDate", "Test message");
}
}
现在在执行方法中的其他一些动作类中,我正在获取它的值,如下所示。
public String execute() {
ServletContext context = ServletActionContext.getServletContext();
String obj = (String)context.getAttribute("startDate");
obj 值显示正确的“测试消息”
我需要在 ctx.setAttribute 中传递来自 jsp 的动态“私有字符串 fromDate”,如第一个场景中所述。
我的要求是我可以在第一个动作类中设置变量(fromDate)。在任何其他动作类中,我都需要使用该变量。请帮我。先感谢您。