配置环境: 
D:\Java\jdk1.5.0_15 
C:\Tomcat6 
第一个接口类Action编译成功,如下 
public interface Action 

public static final String SUCCESS="success"; 
public static final String NONE="none"; 
public static final String ERROR="error"; 
public static final String INPUT="input"; 
public static final String LOGIN="login"; public String execute() throws Exception; }  在编译下面这个类的时候 
public class LoginAction implements Action 

private String username; 
private String password; public String getUsername() 

return username; 

public void setUsername(String username) 

this.username=username; 

public String getPassword() 

return password; 

public void setPassword(String password) 

this.password=password; 
} public String execute() throws Exception 

if(getUsername().equals("admin")&&getPassword().equals("123456")) 

ActionContext.getContext().getSession().put("user",getUsername()); 
return "SUCCESS"; 

else 

return "ERROR"; 


} 用javac LoginAction.java编译,报这个错误 
LoginAction.java:28:找不到符号 
符号:变量ActionContext 
位置:类LoginAction 
ActionContext.getContext().getSession().put("user",getUsername()); 
1 错误 
这个是个很纯粹的类,是在STRUTS2学习的过程中遇到的 
我的lib下,struts216包有 
commons-fileupload-1.2.1.jar 
commons-io-1.3.2.jar 
commons-logging-1.0.4.jar 
commons-logging-api-1.1.jar 
freeer-2.3.13.jar 
ognl-2.6.11.jar 
struts2-core-2.1.6.jar 
xwork-2.1.2.jar 
有没有人遇到过类似的问题啊,是如何解决的呢?

解决方案 »

  1.   

    import了"ActionContext"这个类没有?
      

  2.   

    ActionContext.getContext().getSession().put("user",getUsername()); 
    你的这还代码 好像有问题啊
    你是点出来的吗 有没有报错或是红线
    你的包导对了么
    或是 有的jar 包没有导
    路径有没有问题
    仔细看看
    ^_*
      

  3.   

    import com.opensymphony.xwork2.ActionContext; 我导入这个包了,在 myeclipse7里代码提示不出错了,但运行时仍然报错,我把这个类在DOS下javac了一下,还是提示这个错误
      

  4.   

    import com.opensymphony.xwork2.ActionContext; 我导入这个包了,在 myeclipse7里代码提示不出错了,但运行时仍然报错,我把这个类在DOS下javac了一下,还是提示这个错误而且提示找不到这个包,我这个包是lib\xwork-2.1.2.jar而且我打开看了,里面的确有这个类,是对的。但DOS编译就错误,但编译Action接口类就没问题,奇怪了啊
      

  5.   

    lz看看你import了"ActionContext"这个类没有?可能是没有继承的原因~
    如果还不行建议换种方法~Map<String, String> session = ActionContext.getContext().getSession();
    session.put("username", getUsername());
      

  6.   

    感谢你的方法,
    我在myeclipse中运行成功了,也编译成功了,尝试了你的方法也成功了,但就是不知道为什么DOS下编译有问题,应该说myeclipse中的JDK和环境变量中的JDK是一样的啊