1.添加注解方法
public @interface TestAnnotation {
......
}
2、继承HandlerMethodArgumentResolver接口,
public class TestArgumentResolver implements HandlerMethodArgumentResolver {
@Override
public boolean supportsParameter(MethodParameter parameter) {
return parameter.hasParameterAnnotation( TestAnnotation.class);
}
@Override
public Object resolveArgument(MethodParameter parameter,
ModelAndViewContainer mavContainer, NativeWebRequest webRequest,
WebDataBinderFactory binderFactory) throws Exception {
return resolveArgument(parameter, webRequest);
}
private Object resolveArgument(MethodParameter parameter,NativeWebRequest webRequest) throws Exception {
Object object = BeanUtils.instantiate(parameter.getParameterType());
...//详细参数修改过程
for (Field field : fields) {
field.setAccessible(true);
String name = field.getName();
String value = webRequest.getParameter(name);
boolean isExisted= field
.isAnnotationPresent(TestAnnotation.class);
if (StringUtils.isNotBlank(value)) {
if (isExisted) {
String result = ... //修改后结果
field.set(object, result);
} else {
field.set(object, value);
}
}
}
return object;
}
}
3.加入mvc:argument-resolvers中
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
<!-- <bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean> -->
<bean class = "org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value = "text/plain;charset=UTF-8" />
</bean>
<!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="prettyPrint" value="true" />
</bean>
</mvc:message-converters>
<mvc:argument-resolvers>
<bean class="****.TestArgumentResolver"></bean>
</mvc:argument-resolvers>
</mvc:annotation-driven>
相关推荐
4. **设备参数配置**:设备参数通常存储在MCU的Flash或EEPROM中,通过HTTP POST请求可以将新的配置参数传递给设备。这些参数可能包括波特率、工作模式、阈值设置等。为了保证数据安全,可能还需要进行数据校验和加密...
// 继续传递请求到下一个Filter或目标Servlet chain.doFilter(request, response); } @Override public void destroy() {} } ``` **Tomcat与Servlet容器** Tomcat是一款广泛使用的开源Servlet容器,它实现了...
【FastReport Web动态传入数据详解】 FastReport是一款强大的报表设计和打印工具,它支持多种平台,包括.NET Framework和.NET Core。在Web环境下,FastReport提供了动态传入数据的功能,使得用户可以在运行时根据...
本文将深入探讨如何使用jQuery来绑定click事件,并传递参数。 首先,`click`事件是jQuery中用于监听元素被点击时触发的事件。它允许我们在用户点击DOM元素时执行特定的函数或代码块。基本的用法是在目标元素上调用`...
此外,组件可以触发和监听事件,如`click`事件,通过事件对象传递参数。 2. **值对象**:在更复杂的场景中,你可能需要传递复杂的数据结构。这时,可以创建一个自定义的值对象类,包含所需的所有属性,然后在组件间...
2. **在Web框架中传递参数**:例如在JavaScript中,我们可以通过URL查询字符串、cookies、session或localStorage在不同的页面或frame之间传递数据。在HTML框架中,可以使用`<frame>`或`<iframe>`元素的属性(如`src`...
它可以通过GET或POST方式传递参数。 8. Local Storage和Session Storage: HTML5引入的这两种存储方式,可以在浏览器中持久化存储数据,其中Local Storage用于长期存储,而Session Storage仅在当前会话有效,可...
本文将深入探讨如何在Cognos与JSP之间通过URL传递参数。 1. **URL参数传递基础** URL(Uniform Resource Locator)是互联网上的资源定位符,它可以携带信息以传递给服务器。参数通常以问号(?)分隔,多个参数用&...
然而,有时我们需要向这些SWF文件传递参数,以便根据不同的条件改变其行为,例如进行版本管理。本文将深入探讨如何实现这一目标。 首先,让我们理解“版本管理”的概念。在软件开发中,版本管理是一种跟踪和控制...
1. **HTML文件**: 用于定义Applet的位置和传递参数。 2. **Java Applet**: 实现具体逻辑并显示结果。 ### 二、参数传递机制 #### HTML文件中定义参数 在HTML文件中,我们使用`<PARAM>`标签来定义传递给Applet的...
- GET请求的参数通过URL传递,而POST请求的数据位于请求体中。 - GET请求的数据可被缓存,POST请求则不会。 - GET请求的参数长度有限,POST请求没有这种限制。 - GET不支持二进制数据,POST可以传输任意类型的...
### Web程序中网页间数据传递方法小结 在Web开发过程中,经常需要在不同的网页之间传递数据。这些数据可以是用户输入的信息、状态值或其他重要信息。本文将详细介绍几种常用的网页间数据传递方法,包括使用URL参数...
### DASHBOARDS连接WEBI传递参数的方法 在企业级数据可视化与报告系统中,SAP BusinessObjects(简称SAP BO)是一个非常重要的工具。它包括了多种组件,如DASHBOARDS(原Xcelsius)、WEBI (Web Intelligence)等,...
这种方法改变了 jQuery 对参数的序列化方式,使得服务器端能够正确解析 `List` 类型的参数。 ##### 方法二:创建封装对象 另一种解决方案是创建一个专门的对象来封装列表参数。首先定义一个 VO (Value Object) 类,...
### 页面间传递参数的方法 在ASP.NET开发过程中,页面间数据传递是非常常见且重要的操作之一。根据提供的内容,本文将详细介绍五种常见的页面间数据传递方法,并对比它们之间的优缺点,帮助开发者根据实际情况选择...
在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,经常需要在不同的页面之间传递数据。这些数据可能包括用户的输入、表单提交的信息或其他需要在多个页面间共享的状态信息。本文将详细介绍两种常见...
在Web应用中,通过URL传递参数是一种常见的做法。这些参数通常采用键值对的形式,用`&`符号分隔。例如,“key1=value1&key2=value2”。 #### 2.2 使用`window.location.href` 在JavaScript中,可以通过改变`window....
在Java Web开发中,我们经常需要处理HTTP请求,其中包含了客户端传递给服务器的数据。这些数据通常以请求参数的形式存在,例如URL查询参数、POST表单数据等。在某些情况下,我们可能需要在服务器端动态地修改这些...
在这个例子中,Servlet会解析请求参数,可能包括表单数据或其他传递的值。 3. **跳转(Redirect)与转发(Forward)**: - **Redirect**:Servlet可以通过`response.sendRedirect()`方法将客户端重定向到另一个URL...