日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

【SpringMVC 之应用篇】 2_SpringMVC 的传参问题

發布時間:2025/3/20 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【SpringMVC 之应用篇】 2_SpringMVC 的传参问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringMVC 的傳參問題


1. SpringMVC 簡單的傳參問題

在瀏覽器的前端頁面,模擬傳入 username 和 password 兩個參數

<a href="/test/param?username=ffideal&password=123456">開始跳轉</a>

然后在 controller 層寫下方法

/*** @Description: 測試一個SpringMVC基本的傳參問題* @param:* @return:* @auther: ffideal* @date:*/@RequestMapping(path = "/param")public String toSuccess(String username,String password){System.out.println("成功跳轉到success頁面");System.out.println("用戶名:" + username);System.out.println("密碼是:" + password);return "/success";}

2. 參數綁定實體類型

  • 首先創建一個實體類
  • public class Consumer implements Serializable {private String uname;private String upassword;private double price; }
  • 在前端傳輸數據
  • <%--請求參數綁定--%> <form action="/test/request" method="post">姓名:<input type="text" name="uname"/> <br>密碼:<input type="text" name="upassword"/> <br>價格:<input type="text" name="price"/> <br><input type="submit" value="提交"> </form>
  • 在 controller 層處理請求
  • @RequestMapping("request") public String testRequest(Consumer consumer){System.out.println("成功跳轉到success頁面");System.out.println("消費者名:" + consumer);return "/success"; }

    3. 配置解決中文亂碼的過濾器

    在 web.xml 中配置如下

    <filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param> </filter> <filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern> </filter-mapping>

    這樣在 post 作為提交方式的時候,中文也可以被傳入。


    4. 關于自定義類型轉換器的實現

    這樣的日期格式在后臺處理的時候會出現問題

    表示提交的類型有問題

    首先設置一個過濾類

    public class StringToDate implements Converter<String, Date> {/*** @Description: 傳入字符串,轉為日期類型*/@Overridepublic Date convert(String source) {if (source == null){throw new RuntimeException("輸入數據不能為空");}try {// 將 yyyy-MM-dd 這種類型轉為正常的日期DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");return dateFormat.parse(source);} catch (Exception e) {throw new RuntimeException("數據轉換出現問題");}} }

    然后在 配置文件 springmvc-config 中配置參數

    <!-- 配置自定義類型轉換器 --> <!-- 首先引入 ConversionServiceFactoryBean 類--> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"><!-- 設置參數 --><property name="converters"><!-- ConversionServiceFactoryBean 源碼中只有一個set類型--><set><!-- 將StringToDate處理類放入容器中 --><bean class="untils.StringToDate"></bean></set></property></bean><!--開啟springmvc框架注解支持--><!-- 要加入conversion-service --> <mvc:annotation-driven conversion-service="conversionService"/>

    5. 一些原始API

    SpringMVC 還支持使用原始 ServletAPI 對象作為控制器方法的參數。

    @RequestMapping("testAPI") public String testAPI(HttpServletRequest request, HttpServletResponse response){System.out.println("執行了...");System.out.println(request);System.out.println(request.getSession());System.out.println(request.getSession().getServletContext());System.out.println(response);return "/success"; }

    總結

    以上是生活随笔為你收集整理的【SpringMVC 之应用篇】 2_SpringMVC 的传参问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。