`

自己封装的获取web端参数值工具

阅读更多
package com.malone.family.util;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;

import com.malone.family.exception.ParamCheckException;

public class WebUtils {

   
    /**
     * 获取int值
     * @param request
     * @param paramName
     * @param defaultValue
     * @return
     */
    public static int getIntValue(HttpServletRequest request, String paramName, int defaultValue, boolean notNull) {
        return getValue(request, paramName, defaultValue, notNull);
    }
   
    @SuppressWarnings("unchecked")
    public static <T> T getValue(HttpServletRequest request, String paramName, T defaultValue, boolean notNull) throws ParamCheckException {
        String paramValue = request.getParameter(paramName);
        checkValue(paramName, paramValue, notNull);
        if (paramValue != null) {
            if (defaultValue instanceof Integer) {
                return (T)(Integer.valueOf(paramValue));
            }
            if (defaultValue instanceof Double) {
                return (T)(Double.valueOf(paramValue));
            }
            if (defaultValue instanceof Long) {
                return (T)(Long.valueOf(paramValue));
            }
            if (defaultValue instanceof Float) {
                return (T)(Float.valueOf(paramValue));
            }
            if (defaultValue instanceof String) {
                return (T)(paramValue);
            }
        }
        return defaultValue;
    }
   
    /**
     * 辅助方法
     * @param paramValue
     * @param notNull
     */
    private static void checkValue(String paramName, String paramValue, boolean notNull) throws ParamCheckException {
        if (notNull && StringUtils.isBlank(paramValue)) {
            throw new ParamCheckException("请传递参数:" + paramName);
        }
    }
   
    /**
     * 获取int值
     * @param request
     * @param paramName
     * @param defaultValue
     * @return
     */
    public static int getIntValue(HttpServletRequest request, String paramName) {
        return getIntValue(request, paramName, -1, false);
    }
   
    /**
     * 获取int值
     * @param request
     * @param paramName
     * @param defaultValue
     * @return
     */
    public static int getIntValue(HttpServletRequest request, String paramName, int defaultValue) {
        return getIntValue(request, paramName, defaultValue, false);
    }
   
    /**
     * 获取int值
     * @param request
     * @param paramName
     * @param notNull
     * @return
     */
    public static int getIntValue(HttpServletRequest request, String paramName, boolean notNull) {
        return getIntValue(request, paramName, -1, false);
    }
   
    /**
     * 返回字符串,默认返回""
     * @param request
     * @param paramName
     * @return
     */
    public static String getStringValue(HttpServletRequest request, String paramName) {
        return getStringValue(request, paramName, false);
    }
   
    /**
     * 获取String值
     * @param request
     * @param paramName
     * @param notNull
     * @return
     */
    public static String getStringValue(HttpServletRequest request, String paramName, boolean notNull) throws ParamCheckException {
        return getValue(request, paramName, "", notNull);
    }
   
    /**
     * 获取double值
     * @param request
     * @param paramName
     * @param defaultValue
     * @return
     */
    public static double getDoubleValue(HttpServletRequest request, String paramName, double defaultValue) {
        return getDoubleValue(request, paramName, defaultValue, false);
    }
   
    /**
     * 获取double值
     * @param request
     * @param paramName
     * @param defaultValue
     * @return
     */
    public static double getDoubleValue(HttpServletRequest request, String paramName, double defaultValue, boolean notNull) throws ParamCheckException {
        return getValue(request, paramName, defaultValue, notNull);
    }
   
    public static double getDoubleValue(HttpServletRequest request, String paramName,  boolean notNull) throws ParamCheckException {
        return getDoubleValue(request, paramName, -1, notNull);
    }
   
    /**
     * 获取double值
     * @param request
     * @param paramName
     * @return
     */
    public static double getDoubleValue(HttpServletRequest request, String paramName) {
        return getDoubleValue(request, paramName, 0);
    }
   
    /**
     * 获取boolean值
     * @param request
     * @param paramName
     * @param defaultValue
     * @return
     */
    public static boolean getBooleanValue(HttpServletRequest request, String paramName, boolean defaultValue) {
        return getBooleanValue(request, paramName, defaultValue, false);
    }
   
    /**
     * 获取boolean值
     * @param request
     * @param paramName
     * @param defaultValue
     * @param notNull
     * @return
     */
    public static boolean getBooleanValue(HttpServletRequest request, String paramName, boolean defaultValue, boolean notNull) {
        String paramValue = request.getParameter(paramName);
        checkValue(paramName, paramValue, notNull);
        if (paramValue == null) {
            return defaultValue;
        }
        if (paramValue.equals("true")) {
            return true;
        }
        if (paramValue.equals("false")) {
            return false;
        }
        if (paramValue.equals("1")) {
            return true;
        }
        if (paramValue.equals("0")) {
            return false;
        }
        return false;
    }
   
    public static Long getLongValue(HttpServletRequest request, String paramName, long defaultValue, boolean notNull) {
        return getValue(request, paramName, defaultValue, notNull);
    }
   
    /**
     * 获取boolean值
     * @param request
     * @param paramName
     * @return
     */
    public static boolean getBooleanValue(HttpServletRequest request, String paramName) {
        return getBooleanValue(request, paramName, false);
    }
   
}

 

分享到:
评论

相关推荐

    Webservices--自己简单的封装类

    - **UDDI(Universal Description, Discovery, and Integration)**:一种服务注册和发现机制,允许服务消费者查找并获取Web服务的WSDL描述。 3. **简单封装Web服务** 在开发过程中,我们通常会将对Web服务的调用...

    在自定义spring aop中使用el获取拦截方法的变量值。

    标题中的“在自定义Spring AOP中使用EL获取拦截方法的变量值”指的是在Spring的面向切面编程(AOP)中,通过Expression Language(EL,表达式语言)来访问被拦截方法的局部变量值。这通常涉及到Spring的代理机制、...

    Web端常用的通用类库.zip

    1. **HTTP处理**:BsTools可能提供了一些处理HTTP请求和响应的方法,如解析URL、获取请求参数、设置响应头等,这些都是Web应用的基础操作。 2. **视图渲染**:在ASP.NET中, BsTools可能包含了辅助视图渲染的类,...

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

    7. **Struts2**: Struts2 是一个基于MVC设计模式的Web应用框架,它的工具类可能包括ActionSupport、Result、Interceptor等。例如,`Struts2Util` 可以帮助开发者更便捷地构建Action,处理请求和响应,以及进行视图...

    如何用selenium封装post参数提交示例

    在描述中提到的,我们将探讨如何使用Selenium来封装POST参数并提交,以获取异步请求返回的JSON对象值。 首先,理解Selenium的基本结构是必要的。Selenium通常包含WebDriver接口,它提供了一种方式来控制浏览器,并...

    Xfire调用webservice无法接收到参数问题解决

    本文将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决方案。 首先,我们需要理解Web服务的基本工作原理。Web服务通常基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信。SOAP消息封装...

    Web报表FineReport页面如何传递中文参数

    在使用报表开发工具FineReport设计web报表时,经常需要嵌入iframe到页面中,并给iframe的src属性指定报表地址的同时传递参数值。在参数值、参数名称以及报表名称中,如果包含中文字符或特殊字符,直接传递可能会导致...

    将Web层分页封装成通用模块

    本文将深入探讨如何将Web层的分页功能封装成一个通用模块,实现代码的复用,降低开发复杂度。 一、分页原理与设计 1. 分页的基本概念:分页是将数据库中的大量数据分为若干页进行显示,用户可以逐页浏览,减少一次...

    海康插件二次封装.zip

    总的来说,"海康插件二次封装.zip"为开发者提供了一套便捷的工具,使他们能快速地将海康的视频设备集成到自己的Web应用中,无论是用于监控系统还是其他视频相关的业务需求。开发者只需要熟悉这套封装好的API,就可以...

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

    在IT行业中,分页是一种常见的数据处理方式,特别是在大数据量的Web应用中,为了提高页面加载速度和用户体验,通常会采用分页展示数据。这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助...

    Web开发常用工具类

    在Web开发过程中,工具类(Tools)扮演着重要的角色,它们提供了一系列静态方法,帮助开发者高效地处理常见的任务。以下是一些在标题和描述中提到的工具类的详细说明: 1. **DateUtils**: 这个类通常用于日期和时间...

    C# 使用Get和Post请求获取数据

    首先,你需要创建一个`HttpContent`对象来封装要发送的数据,然后将其作为`PostAsync`方法的参数: ```csharp using System.Net.Http; using System.Text; using System.Threading.Tasks; public async Task...

    Spring文件资源操作和Web相关工具类盘点

    7. **WebUtils**: 提供了一些静态方法,用于处理 Web 相关的通用任务,如获取请求参数、解析请求 URL 等。 8. **ServletRequestUtils**: 提供了从 ServletRequest 对象中安全地获取参数的便捷方法,避免因参数不...

    gsoap 调用 web service 的接口工具

    WSDL文件描述了Web Service的接口,包括其方法、输入和输出参数类型。通过这个工具,开发者无需手动编写复杂的SOAP消息处理代码,可以专注于业务逻辑。 2. **SOAP协议支持**:gSOAP实现了SOAP 1.1和1.2协议,确保与...

    cgi-0.7.zip_CGI linux_cgi_linux c cgi_linux 封装_web接口

    CGI(Common Gateway Interface,通用网关接口)是一种在Web服务器和服务器端应用程序之间通信的标准协议,它使得静态HTML页面可以与动态生成的内容相结合。在Linux环境下,CGI被广泛用于构建动态网站,允许服务器...

    WebAPi工具类帮助解决API中的各种方法

    但有时,我们需要自定义参数绑定逻辑,工具类可以提供统一的方法来处理不同类型的请求参数,例如从查询字符串、请求体或路由中获取值。 2. **数据验证**:在接收客户端数据时,我们需要确保其合法性。工具类可以...

    JAVA开发WEB分页封装办法实现

    6. **工具类或服务层封装**:为了提高代码复用性,我们可以将上述逻辑封装到一个工具类或服务层方法中,以供其他地方调用。 ```java public Page&lt;T&gt; paginate(String sql, int pageNumber, int pageSize) { // ...

    用QT封装的操作各类数据库的接口类

    在IT领域,数据库是存储和管理数据的核心工具,而QT是一个强大的跨平台应用程序开发框架,尤其在GUI设计和网络编程方面表现出色。本项目通过QT封装了对多种数据库的接口类,包括SQL Server、MySQL、SQLite和ODBC,...

    P3频率曲线,已封装web服务

    1. 用户向web服务发送HTTP请求,携带必要的参数(如观测值、均值、标准差等)。 2. 服务端接收到请求后,使用Python代码计算P3分布的特性。 3. 将计算结果以JSON或其他格式返回给用户。 4. 用户可以根据返回的结果...

    c# Web常用工具类、asp.net常用类

    标题提到的"C# Web常用工具类、asp.net常用类"指的是开发者们在构建Web应用程序时经常会用到的一些实用类库。这些类库通常包含了处理HTTP请求、响应、数据绑定、用户会话、状态管理等多种功能,极大地提高了开发效率...

Global site tag (gtag.js) - Google Analytics