ssm中配置自定义参数格式化,解决页面传入的日期(字符串)与实体类的Dete属性不匹配的错误。

1、写工具类DateConverter

package cn.hgq.converter;

import org.springframework.core.convert.converter.Converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateConverter implements Converter<String, Date> {
    @Override
    public Date convert(String s) {
        if (s==null && s.equals("")){
            throw  new RuntimeException("日期不正确");
        }else {
            SimpleDateFormat sdf=null;
            if (s.contains(":")){
                 sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            }else {
                sdf=new SimpleDateFormat("yyyy-MM-dd");
            }
            try {
                return sdf.parse(s);
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}

2、在springmvc中配置

<!-- 自定义参数格式转化 -->
 <bean id="conver"                            class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <property name="converters">
            <list>
                    //把之前写的工具类引入(完整类路径)
		<bean class="cn.hgq.converter.DateConverter"></bean>
            </list>
        </property>
    </bean>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明
### 回答1: 在SSM框架,通常情况下我们会使用实体类来接收前端递过来的数据。但是,如果你想要在控制层接收单独的字符串String变量,也是可以的。 具体实现方式如下: 1. 在控制器方法,定义一个String类型参数,用于接收前端递过来的字符串。 ```java @RequestMapping("/test") @ResponseBody public String test(String username) { System.out.println("username: " + username); return "success"; } ``` 2. 在前端页面,通过表单提交数据时,将要递的字符串参数名设置为与控制器方法定义的参数名相同。 ```html <form action="/test" method="post"> <input type="text" name="username"> <input type="submit" value="提交"> </form> ``` 这样,当你提交表单时,就会将输入框的值递到控制器方法参数,并在控制台输出该字符串。 需要注意的是,如果你要接收多个字符串参数,只需要在控制器方法定义多个String类型参数,并在前端页面设置相应的参数名即可。 ### 回答2: 在SSM框架,通常我们使用实体类来接收控制层递过来的参数。但是,有时候我们可能不想为每个参数都新建一个实体类,并且希望直接在控制层使用String变量接收参数。这种场景下,可以使用@RequestParam注解来实现。 @RequestParam注解用于绑定请求参数到方法的参数上,它有以下几种使用方式: 1. 指定请求参数名:可以通过@RequestParam注解的value属性来指定请求参数的名称,例如@RequestParam(value = "userName") String username。 2. 设置请求参数是否必需:可以通过@RequestParam注解的required属性来指定请求参数是否为必需,默认值是true,表示参数必需递,如果不递将会抛出异常。如果将required属性设置为false,表示参数不是必需的,即可以不递。 3. 设置默认值:可以通过@RequestParam注解的defaultValue属性来设置参数的默认值,如果请求没有递该参数,将会使用默认值。 下面是一个示例代码,演示如何在控制层接收单独的字符串String变量: ``` @Controller @RequestMapping("/user") public class UserController { @RequestMapping("/login") public String login(@RequestParam(value = "username") String username, @RequestParam(value = "password") String password) { // 处理登录逻辑 return "index"; } } ``` 在上述示例,login方法使用@RequestParam注解来接收两个字符串参数:username和password。当请求发起时,控制层会将参数与请求参数进行绑定,然后可以在方法使用这两个参数进行后续的业务逻辑处理。 总结起来,SSM框架在控制层接收单独的字符串String变量的方法是使用@RequestParam注解来绑定请求参数到方法的参数上。这样可以避免创建实体类,直接在控制层使用String变量接收参数。 ### 回答3: 在SSM框架,通常是通过实体类来接收表单的数据。但是,如果不想使用实体类User来接收数据,可以通过在控制层直接接收单独的字符串String变量来实现。 首先,在控制层的方法参数,可以使用@RequestParam注解来绑定请求参数,将表单对应的参数值赋给String变量。例如: ```java @RequestMapping("/user") public String getUser(@RequestParam("username") String username, @RequestParam("password") String password) { // 处理逻辑 return "success"; } ``` 在上述代码,`@RequestParam`注解用来绑定请求参数,其`"username"`和`"password"`分别对应表单的输入框name属性的值。 然后,你可以在控制层的方法,直接使用这些String变量进行后续的处理逻辑。 需要注意的是,如果表单参数与控制层方法参数名一致,可以省略`@RequestParam`注解,例如: ```java @RequestMapping("/user") public String getUser(String username, String password) { // 处理逻辑 return "success"; } ``` 此时,框架会自动将表单对应的参数值赋给方法参数。 总结来说,SSM框架不使用实体类User在控制层接收单独的字符串String变量,可以通过在控制层方法参数使用`@RequestParam`注解来绑定请求参数,然后直接使用这些String变量进行后续的处理逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值