如何强制方法只接受Struts2中的POST参数?

时间:2014-05-21 01:51:42

标签: java struts2 http-post

我有以下方法,我需要强制只接受POST参数。 此方法接收所选用户的id以检索其对象。我需要强制这个方法只接受发布的ID而不是GET发送的那些。

   public class Users{
     private long uid;

     public String show() {
            UsersModel usrModel = new UsersModel();
            return usrModel.retrieveUser(uid); //uid paramets will be sent by client to 
                                              //retrieve object of selected user
     }
     ....
   }

3 个答案:

答案 0 :(得分:4)

您还可以创建一个拦截器来检查您只想使用的所有请求 post方法,请参阅以下示例:

HttpServletRequest request = ServletActionContext.getRequest();
...
request.getMethod().equals("POST") // check using this condition.

请参阅以下链接Restrict Struts2 action to post method only

答案 1 :(得分:2)

试试这个:

String method = ServletActionContext.getRequest().getMethod();
if (method.equals("POST") {
    // do something
} else {}

答案 2 :(得分:1)

试试这个,

 HttpServletRequest request=(HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
 if(request.getMethod().equals("POST"))
    {
             //your code
              return "accept";
    }else{
             return "not_accept";
    }