struts2中的action怎么获取response对象

avatar
作者
猴君
阅读量:8

在Struts2中,可以通过实现Servlet API中的ServletResponseAware接口来获取response对象。具体步骤如下:

  1. 创建一个Action类,并实现ServletResponseAware接口。
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";     } } 
  1. 配置Struts2的配置文件struts.xml,将Action类配置为一个可以被访问到的Action。
<struts>     <package name="default" namespace="/" extends="struts-default">         <action name="myAction" class="com.example.MyAction">             <result>/success.jsp</result>         </action>     </package> </struts> 
  1. 在JSP页面中调用Action。
<%@ taglib prefix="s" uri="/struts-tags" %>  <s:form action="myAction">     <s:submit value="Submit" /> </s:form> 

在上述示例中,当用户点击Submit按钮时,将会触发myAction对应的execute()方法,从而获取到response对象并进行相应的操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!