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); } }
相关推荐
- **UDDI(Universal Description, Discovery, and Integration)**:一种服务注册和发现机制,允许服务消费者查找并获取Web服务的WSDL描述。 3. **简单封装Web服务** 在开发过程中,我们通常会将对Web服务的调用...
标题中的“在自定义Spring AOP中使用EL获取拦截方法的变量值”指的是在Spring的面向切面编程(AOP)中,通过Expression Language(EL,表达式语言)来访问被拦截方法的局部变量值。这通常涉及到Spring的代理机制、...
1. **HTTP处理**:BsTools可能提供了一些处理HTTP请求和响应的方法,如解析URL、获取请求参数、设置响应头等,这些都是Web应用的基础操作。 2. **视图渲染**:在ASP.NET中, BsTools可能包含了辅助视图渲染的类,...
7. **Struts2**: Struts2 是一个基于MVC设计模式的Web应用框架,它的工具类可能包括ActionSupport、Result、Interceptor等。例如,`Struts2Util` 可以帮助开发者更便捷地构建Action,处理请求和响应,以及进行视图...
在描述中提到的,我们将探讨如何使用Selenium来封装POST参数并提交,以获取异步请求返回的JSON对象值。 首先,理解Selenium的基本结构是必要的。Selenium通常包含WebDriver接口,它提供了一种方式来控制浏览器,并...
本文将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决方案。 首先,我们需要理解Web服务的基本工作原理。Web服务通常基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信。SOAP消息封装...
一种常见的做法是实现一个工具类,通过静态方法封装ApplicationContext的获取逻辑。下面是一个简单的示例: ```java package com.util; import org.springframework.context.ApplicationContext; import org....
在使用报表开发工具FineReport设计web报表时,经常需要嵌入iframe到页面中,并给iframe的src属性指定报表地址的同时传递参数值。在参数值、参数名称以及报表名称中,如果包含中文字符或特殊字符,直接传递可能会导致...
在Web开发中,"webroot"(Web根目录)是一...此外,为了提高代码的可维护性和复用性,这些操作通常会被封装到一个单独的服务或工具类中。这样,其他组件只需调用相应的方法即可获取配置信息,无需关心文件的读取细节。
本文将深入探讨如何将Web层的分页功能封装成一个通用模块,实现代码的复用,降低开发复杂度。 一、分页原理与设计 1. 分页的基本概念:分页是将数据库中的大量数据分为若干页进行显示,用户可以逐页浏览,减少一次...
总的来说,"海康插件二次封装.zip"为开发者提供了一套便捷的工具,使他们能快速地将海康的视频设备集成到自己的Web应用中,无论是用于监控系统还是其他视频相关的业务需求。开发者只需要熟悉这套封装好的API,就可以...
在IT行业中,分页是一种常见的数据处理方式,特别是在大数据量的Web应用中,为了提高页面加载速度和用户体验,通常会采用分页展示数据。这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助...
在Web开发过程中,工具类(Tools)扮演着重要的角色,它们提供了一系列静态方法,帮助开发者高效地处理常见的任务。以下是一些在标题和描述中提到的工具类的详细说明: 1. **DateUtils**: 这个类通常用于日期和时间...
首先,你需要创建一个`HttpContent`对象来封装要发送的数据,然后将其作为`PostAsync`方法的参数: ```csharp using System.Net.Http; using System.Text; using System.Threading.Tasks; public async Task...
7. **WebUtils**: 提供了一些静态方法,用于处理 Web 相关的通用任务,如获取请求参数、解析请求 URL 等。 8. **ServletRequestUtils**: 提供了从 ServletRequest 对象中安全地获取参数的便捷方法,避免因参数不...
WSDL文件描述了Web Service的接口,包括其方法、输入和输出参数类型。通过这个工具,开发者无需手动编写复杂的SOAP消息处理代码,可以专注于业务逻辑。 2. **SOAP协议支持**:gSOAP实现了SOAP 1.1和1.2协议,确保与...
CGI(Common Gateway Interface,通用网关接口)是一种在Web服务器和服务器端应用程序之间通信的标准协议,它使得静态HTML页面可以与动态生成的内容相结合。在Linux环境下,CGI被广泛用于构建动态网站,允许服务器...
但有时,我们需要自定义参数绑定逻辑,工具类可以提供统一的方法来处理不同类型的请求参数,例如从查询字符串、请求体或路由中获取值。 2. **数据验证**:在接收客户端数据时,我们需要确保其合法性。工具类可以...
6. **工具类或服务层封装**:为了提高代码复用性,我们可以将上述逻辑封装到一个工具类或服务层方法中,以供其他地方调用。 ```java public Page<T> paginate(String sql, int pageNumber, int pageSize) { // ...
本文将深入探讨如何在Delphi环境中与JavaScript进行交互,特别是如何从JavaScript端获取返回值,这在实现桌面应用与Web内容的集成时非常有用。 Delphi是一种流行的面向对象的 Pascal 编程语言,它提供了丰富的库和...