`

改变web传入的参数

    博客分类:
  • web
阅读更多

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>

分享到:
评论

相关推荐

    基于stm32f407+lwip 的web server设备参数配置.rar

    4. **设备参数配置**:设备参数通常存储在MCU的Flash或EEPROM中,通过HTTP POST请求可以将新的配置参数传递给设备。这些参数可能包括波特率、工作模式、阈值设置等。为了保证数据安全,可能还需要进行数据校验和加密...

    java web 修改request携带的参数信息

    // 继续传递请求到下一个Filter或目标Servlet chain.doFilter(request, response); } @Override public void destroy() {} } ``` **Tomcat与Servlet容器** Tomcat是一款广泛使用的开源Servlet容器,它实现了...

    fastreport web 动态传入数据

    【FastReport Web动态传入数据详解】 FastReport是一款强大的报表设计和打印工具,它支持多种平台,包括.NET Framework和.NET Core。在Web环境下,FastReport提供了动态传入数据的功能,使得用户可以在运行时根据...

    jquery绑定click事件传递参数

    本文将深入探讨如何使用jQuery来绑定click事件,并传递参数。 首先,`click`事件是jQuery中用于监听元素被点击时触发的事件。它允许我们在用户点击DOM元素时执行特定的函数或代码块。基本的用法是在目标元素上调用`...

    Adobe Flex Builder 3组件之间的传递参数

    此外,组件可以触发和监听事件,如`click`事件,通过事件对象传递参数。 2. **值对象**:在更复杂的场景中,你可能需要传递复杂的数据结构。这时,可以创建一个自定义的值对象类,包含所需的所有属性,然后在组件间...

    frame之间进行参数传递例子

    2. **在Web框架中传递参数**:例如在JavaScript中,我们可以通过URL查询字符串、cookies、session或localStorage在不同的页面或frame之间传递数据。在HTML框架中,可以使用`&lt;frame&gt;`或`&lt;iframe&gt;`元素的属性(如`src`...

    网页间参数的传递

    它可以通过GET或POST方式传递参数。 8. Local Storage和Session Storage: HTML5引入的这两种存储方式,可以在浏览器中持久化存储数据,其中Local Storage用于长期存储,而Session Storage仅在当前会话有效,可...

    cognos和jsp的参数传递

    本文将深入探讨如何在Cognos与JSP之间通过URL传递参数。 1. **URL参数传递基础** URL(Uniform Resource Locator)是互联网上的资源定位符,它可以携带信息以传递给服务器。参数通常以问号(?)分隔,多个参数用&...

    网页给swf传递参数的方式【可以用于版本管理】

    然而,有时我们需要向这些SWF文件传递参数,以便根据不同的条件改变其行为,例如进行版本管理。本文将深入探讨如何实现这一目标。 首先,让我们理解“版本管理”的概念。在软件开发中,版本管理是一种跟踪和控制...

    java参数传递

    1. **HTML文件**: 用于定义Applet的位置和传递参数。 2. **Java Applet**: 实现具体逻辑并显示结果。 ### 二、参数传递机制 #### HTML文件中定义参数 在HTML文件中,我们使用`&lt;PARAM&gt;`标签来定义传递给Applet的...

    Web应用安全:Get、POST参数越权.pptx

    - GET请求的参数通过URL传递,而POST请求的数据位于请求体中。 - GET请求的数据可被缓存,POST请求则不会。 - GET请求的参数长度有限,POST请求没有这种限制。 - GET不支持二进制数据,POST可以传输任意类型的...

    Web程序中网页间数据传递方法小结

    ### Web程序中网页间数据传递方法小结 在Web开发过程中,经常需要在不同的网页之间传递数据。这些数据可以是用户输入的信息、状态值或其他重要信息。本文将详细介绍几种常用的网页间数据传递方法,包括使用URL参数...

    DASHBOARDS连接WEBI传递参数的方法

    ### DASHBOARDS连接WEBI传递参数的方法 在企业级数据可视化与报告系统中,SAP BusinessObjects(简称SAP BO)是一个非常重要的工具。它包括了多种组件,如DASHBOARDS(原Xcelsius)、WEBI (Web Intelligence)等,...

    Spring MVC不能直接接收list类型参数的问题

    这种方法改变了 jQuery 对参数的序列化方式,使得服务器端能够正确解析 `List` 类型的参数。 ##### 方法二:创建封装对象 另一种解决方案是创建一个专门的对象来封装列表参数。首先定义一个 VO (Value Object) 类,...

    web页面间的传递方式

    ### 页面间传递参数的方法 在ASP.NET开发过程中,页面间数据传递是非常常见且重要的操作之一。根据提供的内容,本文将详细介绍五种常见的页面间数据传递方法,并对比它们之间的优缺点,帮助开发者根据实际情况选择...

    JSP页面从一个页面传递一个参数到另外一个页面的方法

    在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,经常需要在不同的页面之间传递数据。这些数据可能包括用户的输入、表单提交的信息或其他需要在多个页面间共享的状态信息。本文将详细介绍两种常见...

    js单选按钮和向action中传多个参数

    在Web应用中,通过URL传递参数是一种常见的做法。这些参数通常采用键值对的形式,用`&`符号分隔。例如,“key1=value1&key2=value2”。 #### 2.2 使用`window.location.href` 在JavaScript中,可以通过改变`window....

    java修改请求参数

    在Java Web开发中,我们经常需要处理HTTP请求,其中包含了客户端传递给服务器的数据。这些数据通常以请求参数的形式存在,例如URL查询参数、POST表单数据等。在某些情况下,我们可能需要在服务器端动态地修改这些...

    java-web学习demo--最简单的servlet jsp跳转传值

    在这个例子中,Servlet会解析请求参数,可能包括表单数据或其他传递的值。 3. **跳转(Redirect)与转发(Forward)**: - **Redirect**:Servlet可以通过`response.sendRedirect()`方法将客户端重定向到另一个URL...

Global site tag (gtag.js) - Google Analytics