创建好的 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;
}
}
分享到:
相关推荐
3.13之前好多项目都使用前后台公用类,在lib/action下创建Baseaction做为公共继承类,发现3.2.2里面很多人都用A调用,这样每用一次要用A调用,好麻烦,小编特意偷懒。亲测使用以下方法解决。感兴趣的朋友可以对其...
- 创建`InterceptorAction`类继承自`BaseAction`(假设已存在),并在其中指定返回“one”对应的页面。 - 示例代码如下: ```java package com.tarena.outman.day05; import com.tarena.outman.BaseAction; ...
创建BaseAction.java时可能需要手动导入`org.springframework.web.context.WebApplicationContext`包。 **2. 创建JSP页面**: - 创建两个JSP页面:`index.jsp`用于接收用户输入的查询条件;`result.jsp`用于显示...
在实际开发中,开发者通常会创建一个BaseAction类,继承自Struts2的ActionSupport类,并注入必要的Service,这样可以减少重复代码。对于Mapper接口,每个接口对应一个XML文件,其中包含SQL语句和结果映射。当...
例如,如果你有一个基础的`BaseAction`类,可以包含通用的错误处理和日志记录功能,那么其他自定义组件可以继承这个基类,从而复用这些功能。 5. **非表单Tag(non-formTag)**: 文件列表中的`non-formTag`可能是...
例如,你可能有一个BaseAction类,其中包含了通用的验证和授权方法,然后所有的具体业务Action类都可继承自这个BaseAction,从而继承这些功能。 案例分析:文件"SHH框架继承 - 魏泽腾.doc"很可能提供了关于如何在...
至于“visio作图”,Microsoft Visio是一款强大的绘图软件,广泛用于创建各种图表,包括UML类图。要使用Visio绘制类图,首先你需要安装Visio程序。安装完成后,打开Visio并选择UML模型图或类图模板。在模板中,你...
1. **环境配置**:文档提到的Windows 7操作系统和Tomcat服务器,需要配置好Java环境、Tomcat服务器和相关的IDE环境,以便于开发和部署。 2. **数据库使用**:Oracle数据库用于存储BBS系统的数据。在开发过程中需要...
举个例子,`BaseAction`类定义了一个`_initialize`方法,当创建`IndexAction`(继承自`BaseAction`)的对象并调用其方法时,`BaseAction`的`_initialize`方法会被自动调用,无需在`IndexAction`中进行任何额外的代码...
- **ResumeAddAction 示例**:这部分展示了一个名为 `ResumeAddAction` 的类示例,该类继承自 `BaseAction` 类,并重写了 `doExecute` 方法。这个例子中使用了依赖注入的方式获取 `ResumeService` 对象,并调用了 `...
1. **Spring优先原则**:Spring框架必须在其他两个框架之前加载和初始化,以便于它能够管理整个应用程序的生命周期和对象的创建与销毁。这是因为Spring提供了依赖注入功能,可以管理其他框架的实例,比如Struts中的...
Servlet是Java平台上的一个标准接口,它允许开发者创建动态Web应用程序。Servlet运行在Web服务器上,接收并响应来自客户端(如浏览器)的HTTP请求,然后返回相应的HTTP响应。Servlet生命周期包括初始化、服务、销毁...
在部署和运行方面,你需要一个支持Servlet和JSP的Web服务器,如Tomcat或Jetty,将解压后的项目文件复制到服务器的Web应用目录下,然后配置好数据库连接参数,启动服务器即可访问文章系统。 为了测试和调试,压缩包...
模型驱动的核心思想是通过一个预先定义好的模型对象来完成数据的接收和验证工作,从而大大提高了开发效率和代码的可维护性。 #### 实现步骤详解 **第一步:创建模型驱动类** 在具体的应用场景中,首先需要定义一...
Struts框架是Java Web开发中一个非常重要的MVC(Model-View-Controller)...尽管这种方法在某些场景下是有效的,但随着Struts框架的发展,现在有更好的实践方式来实现相同的功能,比如使用Struts 2的注解和拦截器机制。
在本教程中,我们将深入探讨如何使用SSH框架搭建网上商城项目的商品类基本模块。SSH框架,即Struts2、Hibernate和Spring的组合,是Java Web...通过这个项目实战,开发者能够更好地理解和运用SSH框架,提升开发效率。
在这个框架中,有一个非常重要的方法——_initialize方法,它是ThinkPHP框架中控制器生命周期的一个重要组成部分。 ...掌握这个方法,可以帮助开发者更好地利用ThinkPHP框架来创建高效的Web应用。