您的位置:首页 > 编程语言 > Java开发

struts2中耦合servlet API

2016-07-17 11:41 393 查看
Struts2的Action并未直接与任何Servlet  API偶合,这也是Struts2的一个改良的地方。但如何进行访问?

方法一:.[一般推荐使用](只能获得request,而response则得不到)

Struts2提供了一个ActionContext类,Struts2中的Action可以通过它进行访问。

其方法有:get(),getApplication(),getContext(),getParameters(),getSession(),setApplication(),setSession()

public class LoginAction implements Action

{

    private String username;

    private String password;

    public String getPassword()

    {

        return password;

    }

    public void setPassword(String password)

    {

        this.password = password;

    }

    public String getUsername()

    {

        return username;

    }

    public void setUsername(String username)

    {

        this.username = username;

    }

    public String execute() throws Exception

    {

        //获取静态方法,获取系统的ActionContext实例

            ActionContext ctx = ActionContext.getContext();

        //获取servletContext里的counter属性

        Integer counter = (Integer)ctx.getApplication().get("counter");

        if (counter == null)

        {

            counter = 1;

        }

        else

        {

            counter = counter + 1;

        }

        //将增加1后的counter值设置成counter属性

        ctx.getApplication().put("counter" , counter);

        ctx.getSession().put("user" , getUsername());

        if (getUsername().equals("scott")&& getPassword().equals("tiger") )

        {

        //直接设置HttpServletRequest属性

            ctx.put("tip" , "服务器提示:您已经成功的登陆");

                    return SUCCESS;

        }else{

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: