java - Struts2:如何在 ActionSupport 中获取 ServletRequest 实例

标签 java javascript ajax json struts2

如何在我的操作中获取 ServletRequest 实例?

我实现了 ServletRequestAware 但我无法在操作中获取请求对象。

struts.xml

<package name="default" extends="struts-default,json-default">
    <action name="Cart"
    class="struts.cart.action.CartAction">
        <interceptor-ref name="json">
            <param name="contentType">application/json</param>
        </interceptor-ref>
        <result type="json"/> 
    </action>   
</package>

我正在使用 Ajax/JavaScript 进行调用:

req.onreadystatechange = onReadyState;  
req.open(POST, Cart.action, false);  
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");  
req.send(JSONstr);

JSON 对象:

var data = { cartItem: {
     modelNo: $('#modelNo').val(),
     description: $('#description').val(),
     price: $('#price').val(),
     action: $('#action').val(),
     quantity: $('#quantity').val()
}};
JSONstr = JSON.stringify(data);

行动:

public class CartAction extends ActionSupport implements  ServletRequestAware {

    private HttpServletRequest request;
    private Map cartItem = new HashMap();

    public String execute() throws Exception {
        System.out.println("request  " + cartItem); // getting here cartitem
        System.out.println("request  " + request);  // request  null 
    }

    public void setServletRequest(HttpServletRequest httpServletRequest) {
        this.request = httpServletRequest;
    }

    public Map getCartItem() {
        return cartItem;
    }

    public void setCartItem(Map cartItem) {
        this.cartItem = cartItem;
    }

}   

最佳答案

试试这个

HttpServletRequest request = ServletActionContext.getRequest() ;

关于java - Struts2:如何在 ActionSupport 中获取 ServletRequest 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15092680/

相关文章:

java - 在eclipse中添加maven依赖

java - 如何在Java中正确使用SSL?

java - 如何防止 Hibernate 修剪字符串?

javascript - 使用 ||运营商通知

javascript - Mongoose 中的回调函数

javascript - 如何更改使用 javascript 创建的单元格内容的字体大小

php - 如何通过ajax从php传回变量

java - 如何使用里面包含OR条件的AND SqlRestriction?

javascript - Grails - Ajax 提交不工作?

java - jackson 无法识别@JsonCreator 注释