3

Struts2アクションをメソッドに対してのみ機能するように制限するにはどうすればよいPostですか?

4

1 に答える 1

12

なぜあなたはこれをしたいのですか?

ここでそれはさておき、あなたがそれを行う方法です...

//Following has not been tested
package com.quaternion.interceptor;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;

public class PostOnlyInterceptor  extends AbstractInterceptor {
    @Override
    public String intercept(ActionInvocation ai) throws Exception {
        HttpServletRequest request = ServletActionContext.getRequest();
        if (!request.getMethod().equals("POST")){
            return Action.ERROR;
        }
        return ai.invoke();
    }  
}

次に、特定のパッケージのインターセプタースタックを構築し、アクションをそのパッケージに配置するか、アノテーションを使用して、ParentPackageアノテーションを使用してアクションをパッケージに関連付けます。

于 2012-11-12T02:03:10.170 に答える