gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:55:28 28 4
gpt4 key购买 nike

如何在我的操作中获取 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com