springMvc 对界面的属性打包封装

2024-09-06 02:58

本文主要是介绍springMvc 对界面的属性打包封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.myexception.cn/web/622621.html这个例子不错,


package com.person.util;


import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;


//封装属性    pageDate就是map    一般使用就是从页面得到key -value
/**
 * pageDate有Map的属性,继承HashMap的实现
 * 从页面获取map,并返回可读取的map
 *
 */
public class PageData extends HashMap implements Map{


/**
*/
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
Map map=null;
public  PageData(HttpServletRequest request){
this.request=request;
Map properties=request.getParameterMap();//从request中获取Map
Map returnMap=new HashMap();
Iterator entries=properties.entrySet().iterator();//得到map的迭代器,用作遍历map中的键值对
//得到Map.Entry对象,该对象提供getValue  和getKey方法用与map的便利
Map.Entry entry;
String name="";
String value="";
while(entries.hasNext()){
entry=(Map.Entry) entries.next();//由迭代器得到map遍历对象
name=(String) entry.getKey();
Object valueObject=entry.getValue();
if(null==valueObject){
value="";
}else if(valueObject instanceof String[]){//判断左边的对象是不是右边的实例
String[] values=(String[]) valueObject;
for(int i=0;i<values.length;i++){
value=values[i]+",";
}
value=value.substring(0,value.length()-1);
}else{
value=value.toString();//其他格式的都转换成string
 }
returnMap.put(name, value);//把转换的map封装进resultMap里面
}
map=returnMap;
}
public PageData(){
map=new HashMap();//数据的初始化
}
public Object get(Object key){
Object obj=null;
if(map.get(key) instanceof Object[]){
Object[] arr=(Object[]) map.get(key);
obj=request==null ? arr : (request.getParameter((String) key)==null ? arr : arr[0]);
}else{
obj=map.get(key);//中map中取出指定key的键值对象
}
return obj;
}
public String getString(Object key){
return (String) get(key);
}
@SuppressWarnings("unchecked")
public Object put(Object key,Object value){
return map.put(key, value);//把对应的key/value放入map
}
/**
* 移除指定的key/value
*/
public Object remove(Object key){
return map.remove(key);
}
/**
* 清除map
*/
public void clear(){
map.clear();
}
/**
* 判断是不是包括指定的key
*/
public boolean containsKey(Object key){
return map.containsKey(key);
}
/**
* 判断map是不是包含指定的value
*/
public  boolean containsValue(Object value){
return map.containsValue(value);
}
/**
*   返回此映射中包含的映射关系的 Set 视图。
*/
public Set entrySet() {
return map.entrySet();
}
/**
* 判断map中是不是有映射关系
*/
public boolean isEmpty(){
return map.isEmpty();
}
/**
*   返回此映射中包含的key的 Set 视图。
*/
public Set keySet() {
return map.keySet();
}
/**
* 返回此映射中包含的值的 Collection 视图。
*/
public Collection values() {
return map.values();
}
/**
* 从指定映射中将所有映射关系复制到此映射中(可选操作)
*/
@SuppressWarnings("unchecked")
public void putAll(Map t) {
map.putAll(t);
}
/**
*  返回此映射中的键-值映射关系数。
*/
public int size() {
return map.size();
}


}

来自:http://blog.csdn.net/shicuicui1234/article/details/53068431

这篇关于springMvc 对界面的属性打包封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140807

相关文章

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

Java高效实现Word转PDF的完整指南

《Java高效实现Word转PDF的完整指南》这篇文章主要为大家详细介绍了如何用Spire.DocforJava库实现Word到PDF文档的快速转换,并解析其转换选项的灵活配置技巧,希望对大家有所帮助... 目录方法一:三步实现核心功能方法二:高级选项配置性能优化建议方法补充ASPose 实现方案Libre

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成