在Struts2中,可以通過實(shí)現(xiàn)Servlet API中的ServletResponseAware接口來獲取response對象。具體步驟如下:
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletResponseAware;
public class MyAction implements ServletResponseAware {
private HttpServletResponse response;
@Override
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
// 在需要使用response對象的方法中,可以直接使用this.response來獲取response對象
public String execute() {
// 使用response對象的方法
response.setContentType("text/html");
// ...
return "success";
}
}
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="myAction" class="com.example.MyAction">
<result>/success.jsp</result>
</action>
</package>
</struts>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:form action="myAction">
<s:submit value="Submit" />
</s:form>
在上述示例中,當(dāng)用戶點(diǎn)擊Submit按鈕時(shí),將會(huì)觸發(fā)myAction對應(yīng)的execute()方法,從而獲取到response對象并進(jìn)行相應(yīng)的操作。