`

创建好的BaseAction

阅读更多

创建好的 BaseAction , 在其中实现常用的方法,开发就比较轻松.

 

我们项目中实现基本的 request , response 获得,  Json 数据转换 。

 

/**
 * Action基类
 *
 */
public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware {


    /**
     * 返回json字符串
     */
    protected void renderJSON(Map map) {
        JSONObject jsonObjectFromMap = JSONObject.fromObject(map);
        renderText(jsonObjectFromMap.toString());

    }


    /**
     * 直接输出字符�
     */
    protected String renderText(String text) {
        return render(text, "text/plain;charset=UTF-8");
    }

    /**
     * 直接输出HTML.
     */
    protected String renderHtml(String html) {
        return render(html, "text/html;charset=UTF-8");
    }

    /**
     * 直接输出XML.
     */
    protected String renderXML(String xml) {
        return render(xml, "text/xml;charset=UTF-8");
    }
	/**
	 * Description: 直接输出Text
	 * @param result 输出的内容  removeCache 是否清楚cache
	 * @return 
	 */
	protected void writeResult(String result, boolean removeCache) {
		PrintWriter writer = null;
		try {
			if(removeCache) {
				response.setHeader("Pragma", "No-cache");// 清除缓存
				response.setHeader("Cache-Control", "no-cache");
				response.setDateHeader("Expires", 0);
			}
			response.setContentType("text/html; charset=utf-8");
			writer = response.getWriter();
			writer.print(result);
			writer.flush();
		} catch (IOException e) {
		} finally {
			if (writer != null) {
				writer.close();
			}
		}
	}

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

	@Override
	public void setServletResponse(HttpServletResponse response) {
		this.response = response;
	}

}
	
 

 

 

 

分享到:
评论

相关推荐

    thinkphp3.2.2前后台公用类架构问题分析

    3.13之前好多项目都使用前后台公用类,在lib/action下创建Baseaction做为公共继承类,发现3.2.2里面很多人都用A调用,这样每用一次要用A调用,好麻烦,小编特意偷懒。亲测使用以下方法解决。感兴趣的朋友可以对其...

    达内培训机密资料_struts2_day05(2)

    - 创建`InterceptorAction`类继承自`BaseAction`(假设已存在),并在其中指定返回“one”对应的页面。 - 示例代码如下: ```java package com.tarena.outman.day05; import com.tarena.outman.BaseAction; ...

    ssh实例 集成 例子

    创建BaseAction.java时可能需要手动导入`org.springframework.web.context.WebApplicationContext`包。 **2. 创建JSP页面**: - 创建两个JSP页面:`index.jsp`用于接收用户输入的查询条件;`result.jsp`用于显示...

    ibatis+spring+struts2 整合开发例子

    在实际开发中,开发者通常会创建一个BaseAction类,继承自Struts2的ActionSupport类,并注入必要的Service,这样可以减少重复代码。对于Mapper接口,每个接口对应一个XML文件,其中包含SQL语句和结果映射。当...

    struct2 component

    例如,如果你有一个基础的`BaseAction`类,可以包含通用的错误处理和日志记录功能,那么其他自定义组件可以继承这个基类,从而复用这些功能。 5. **非表单Tag(non-formTag)**: 文件列表中的`non-formTag`可能是...

    SHH 框架 继承 说明 案例

    例如,你可能有一个BaseAction类,其中包含了通用的验证和授权方法,然后所有的具体业务Action类都可继承自这个BaseAction,从而继承这些功能。 案例分析:文件"SHH框架继承 - 魏泽腾.doc"很可能提供了关于如何在...

    类图实例,关于类图学习心得、类图怎么画、visio作图

    至于“visio作图”,Microsoft Visio是一款强大的绘图软件,广泛用于创建各种图表,包括UML类图。要使用Visio绘制类图,首先你需要安装Visio程序。安装完成后,打开Visio并选择UML模型图或类图模板。在模板中,你...

    软件工程综合设计BBS系统.pdf

    1. **环境配置**:文档提到的Windows 7操作系统和Tomcat服务器,需要配置好Java环境、Tomcat服务器和相关的IDE环境,以便于开发和部署。 2. **数据库使用**:Oracle数据库用于存储BBS系统的数据。在开发过程中需要...

    浅谈ThinkPHP中initialize和construct的区别

    举个例子,`BaseAction`类定义了一个`_initialize`方法,当创建`IndexAction`(继承自`BaseAction`)的对象并调用其方法时,`BaseAction`的`_initialize`方法会被自动调用,无需在`IndexAction`中进行任何额外的代码...

    Spring课件,spring入门学习之用

    - **ResumeAddAction 示例**:这部分展示了一个名为 `ResumeAddAction` 的类示例,该类继承自 `BaseAction` 类,并重写了 `doExecute` 方法。这个例子中使用了依赖注入的方式获取 `ResumeService` 对象,并调用了 `...

    ssh集成笔记

    1. **Spring优先原则**:Spring框架必须在其他两个框架之前加载和初始化,以便于它能够管理整个应用程序的生命周期和对象的创建与销毁。这是因为Spring提供了依赖注入功能,可以管理其他框架的实例,比如Struts中的...

    web资源 完本

    Servlet是Java平台上的一个标准接口,它允许开发者创建动态Web应用程序。Servlet运行在Web服务器上,接收并响应来自客户端(如浏览器)的HTTP请求,然后返回相应的HTTP响应。Servlet生命周期包括初始化、服务、销毁...

    [新闻文章]Struts文章系统_strutsarticle_release.zip

    在部署和运行方面,你需要一个支持Servlet和JSP的Web服务器,如Tomcat或Jetty,将解压后的项目文件复制到服务器的Web应用目录下,然后配置好数据库连接参数,启动服务器即可访问文章系统。 为了测试和调试,压缩包...

    使用模型驱动方便从表单获取用户输入的值

    模型驱动的核心思想是通过一个预先定义好的模型对象来完成数据的接收和验证工作,从而大大提高了开发效率和代码的可维护性。 #### 实现步骤详解 **第一步:创建模型驱动类** 在具体的应用场景中,首先需要定义一...

    Struts中等同于DispatchAction类方法

    Struts框架是Java Web开发中一个非常重要的MVC(Model-View-Controller)...尽管这种方法在某些场景下是有效的,但随着Struts框架的发展,现在有更好的实践方式来实现相同的功能,比如使用Struts 2的注解和拦截器机制。

    SSH框架网上商城项目第10战之搭建商品类基本模块

    在本教程中,我们将深入探讨如何使用SSH框架搭建网上商城项目的商品类基本模块。SSH框架,即Struts2、Hibernate和Spring的组合,是Java Web...通过这个项目实战,开发者能够更好地理解和运用SSH框架,提升开发效率。

    thinkPHP中_initialize方法实例分析

    在这个框架中,有一个非常重要的方法——_initialize方法,它是ThinkPHP框架中控制器生命周期的一个重要组成部分。 ...掌握这个方法,可以帮助开发者更好地利用ThinkPHP框架来创建高效的Web应用。

Global site tag (gtag.js) - Google Analytics