`
hui_jing_880210
  • 浏览: 42792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java Action 请求封装(一)

    博客分类:
  • java
阅读更多

     该框架是用Spring MVC 3.0实现,首先定义一个Action类,然后把init()方法给封装,然后在把?以后的所有数据全部封装到Map集合,实现方法如下:

/*

 *Action 请求参数封装,不区分get和post请求

 *zhouguohui

 */

public class Action {

    private HttpServletRequest request;    
    private HttpServletResponse response;
    private ActionValues values; //参数封装到Map集合里面
    private MultipartFile[] files;  //多个文件上传的路径地址
   
    /**
     * 初始化Action
     * @param request
     * @param response
     * @param model
     * @param fils
     */
    @ModelAttribute
    public void init(HttpServletRequest request,HttpServletResponse response,@RequestParam(required=false) MultipartFile[] fils,Model model){
        this.request=request;
        this.response=response;
        this.values=new ActionValues(request);
       
        if(null!=fils&&fils.length>0){
            this.files=fils;
        }
       
        model.addAttribute("values", values);
        response.setContentType("text/html;charset=UTF-8");
       
    }
   
    /**
     * 输出字符串
     * @param msg
     */
    protected void print(Object msg){
        PrintWriter out=null;
        try{
            out=response.getWriter();
            out.print(msg);
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            out.close();
        }
    }
   
    /**
     * 以Json格式输出参数
     * @param obj
     */
    protected void printJSON(Object obj){
        PrintWriter out=null;
        try{
            out=response.getWriter();
            out.print(JsonUtils.toJsonStr(obj));
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            out.close();
        }
    }
   
    /**
     * 以keyName为键名,以obj为键值,返回Json对象
     * @param keyName
     * @param obj
     */
    protected void printJSON(String keyName,Object obj){
        PrintWriter out=null;
        try{
            out=response.getWriter();
            out.print(JsonUtils.toJsonStr(keyName, obj));
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            out.close();
        }
    }
   
    public HttpServletRequest getRequest() {
        return request;
    }
   
    public HttpServletResponse getResponse() {
        return response;
    }
   
    /**
     * 得到前台参数对象
     * @param page
     * @return
     */
    public ActionValues getValues() {
        return values;
    }
   
    /**
     * 得到前台参数对象
     * @param page
     * @return
     */
    public ActionValues getValues(boolean page) {
        if(!page){
            values.offPage();
        }
        return values;
    }
   
    /**
     * 得到上传文件
     * @return
     */
    public MultipartFile[] getFiles() {
        return files;
    }
 
分享到:
评论

相关推荐

    在JAVA中封装JSON数据

    在Java中封装JSON数据是一项常见的任务,特别是在开发Web应用程序时,JSON(JavaScript Object Notation)因其轻量级、易于阅读和编写的特点,被广泛用于数据交换。本篇将深入探讨如何在Java中处理JSON数据,结合`...

    java各种常用的工具类封装 源码

    例如,`Struts2Util` 可以帮助开发者更便捷地构建Action,处理请求和响应,以及进行视图渲染。 8. **StringUtil**: `StringUtil` 专注于字符串操作,如检查空字符串、格式化字符串、分割字符串、替换子串、去除空白...

    Elasticsearch的JAVA操作工具类,包括增删改查的封装

    本文将详细介绍如何构建一个封装了基本增删改查功能的Elasticsearch Java工具类。 首先,我们需要引入Elasticsearch的Java客户端依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org....

    ajax js和java封装好的工具

    在这个工具中,Java代码可能是预定义的Action类,用于处理AJAX请求,并使用JSON格式返回数据。 **Struts2**是一个基于MVC设计模式的Java web框架,它提供了强大的控制器层,简化了请求处理和视图渲染。Struts2的...

    自己封装的小框架--JDBC封装 Action层封装 手动事务管理

    本项目中,"自己封装的小框架--JDBC封装 Action层封装 手动事务管理"是一个实用的实践案例,旨在提高开发效率,优化代码结构,并确保数据操作的完整性。下面我们将深入探讨这个框架中的主要组成部分及其相关知识点。...

    android请求webservice需要的soap工具封装

    这是一个轻量级的Java库,专门为Android平台设计,用于处理SOAP请求和响应。它简化了与SOAP Web服务交互的过程,无需深入了解底层的XML和HTTP细节。在我们的封装过程中,我们将创建一个工具类,以简化调用过程,减少...

    对分页进行了封装,PageUtil.java工具类

    这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助类,它的主要目标是简化分页查询的操作,提供更便捷的API给开发者使用。 `PageUtil.java`工具类可能包含了以下功能: 1. **参数处理**...

    (HttpServlet封装类)Action.java

    通过JAVA反射技术对HttpServlet进行简单封装,类似于struts框架,页面请求过来的参数名只需要与Action<T> T这个Bean里的变量对应即可,getForm()就是获得页面传过来的参数[注:当前这个只能传T里的string和int/...

    基于Java SSMVC框架封装测试版

    它提供了一个处理HTTP请求的Action类,通过配置文件定义请求与Action之间的映射关系,实现业务逻辑和视图的分离。 2. **Spring**:Spring是一个全面的企业级应用开发框架,提供了IOC(Inversion of Control,控制...

    浅谈Strut2如何对请求参数的封装

    在Struts2中,请求参数的封装是一个关键的特性,它使得开发者能够轻松地从HTTP请求中获取数据并将其绑定到Action类的属性上。下面我们将深入探讨Struts2如何实现这一功能。 首先,Struts2的Action类是处理业务逻辑...

    Struts2五种数据封装Demo

    Struts2是一个强大的Java web框架,它简化了MVC(模型-视图-控制器)架构的实现,使得开发者可以更高效地处理用户请求和业务逻辑。在这个“Struts2五种数据封装Demo”中,我们将深入探讨Struts2的数据封装机制,以及...

    java学习(ssh) action structs spring hibernet

    在Struts中,ActionForm类用于封装用户请求的数据,而Action类则负责处理这些数据并调用相应的业务逻辑。此外,Struts还提供了丰富的标签库,简化了页面的开发工作。 #### Spring框架 Spring是一个轻量级的控制反转...

    java调用soap接口案例

    3. **构建SOAP请求**:首先,我们需要了解SOAP服务的WSDL(Web Service Description Language)文档,从中可以获取服务的地址、端点以及方法的SOAP Action。然后,我们可以使用`SOAPMessage`对象来创建请求的XML结构...

    StrutsInAction.rar_Struts in Action_StrutsinAction_action _java

    《Struts in Action》是Java Web开发领域中一本经典的书籍,专注于Apache Struts框架的应用与实践。这本书通过实例深入解析了Struts的工作原理和最佳实践,对于理解和掌握Struts框架有着极大的帮助。Struts是一个...

    action的使用之封装文本文件的加载

    本篇文章将深入探讨“action的使用之封装文本文件的加载”这一主题,通过理解相关知识点,我们可以更高效地处理文本文件。 首先,"action"在这里通常指的是某种操作或者函数,它封装了读取和处理文本文件的过程。...

    java开发的各种jar包

    Java开发中的JAR(Java Archive)包是Java编程语言中的一种归档格式,用于封装类库、资源文件和元数据,便于代码复用和分发。在Java开发中,JAR包扮演着至关重要的角色,提供了模块化和库管理的能力。下面我们将详细...

    重新封装struts中action类

    在封装后的`GenericAction.java`中,我们可以看到设计者可能将`ActionMapping`的处理逻辑内聚到了父类中,使得子类只需要关注业务逻辑部分,返回一个表示跳转路径或结果代码的`String`。这样做的好处有以下几点: 1...

    JAVA WEB框架,java网站一个模块只用写一个文件

    JAVA WEB框架,java网站一个模块只用写一个文件 以前的servlet在现在的开发中已经不怎么常见,因为操作起来比较原始和麻烦。有些人就是不安于现状去改造它。 做得好的有Struts,Hybernate,Spring那么这些框架都是很...

    简单Java网站计数器程序

    - 可以创建一个独立的`CounterDAO.java`类,用于封装所有与数据库交互的操作。这样可以保持Action类的职责清晰,提高代码可读性。 7. **设计视图** - 使用JSP创建视图页面,如`counter.jsp`,展示当前的访问次数...

    java笔试题最新最好,最全面

    ActionServlet根据请求路径找到对应的Action,并创建ActionForm对象来封装请求参数。接着,ActionServlet会调用Action的`execute()`方法处理请求,并根据返回的ActionForward对象来决定后续的页面跳转。 #### 五、...

Global site tag (gtag.js) - Google Analytics