java前台传数据到后台的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java前台传数据到后台的问题相关的知识,希望对你有一定的参考价值。

前台传的是一个日期字符串,但是偶尔,记住是偶尔, 偶尔会 传一个 字符串数组 到后台去。。郁闷,谁知道为啥。。FormModel是公司封装的。。就是偶尔 这个日期传到后台之后 会变成一个字符串

参考技术A o???可以这么说,一般没有任何东西用o表示,当然也可以说任何东西都可以用o来表示。前者是对有经验的程序员来说的,变量(属性)名要用驼峰标识来起名。后者是针对新手来说的,java新手一般都用我o这种单字母来表示变量或者方法名等,这是个非常不好的习惯,当代码多了的时候,弊端就体现出来了,难懂且不好维护。还有疑问,可以继续追问追问

你这个复制粘贴的 就别来捣乱了, 牛头不对马嘴

参考技术B 你可以先看看传到后台来的form.get("date")里面的内容是什么样的。强转成string类型试试。追问

试过了。。。大多数情况下是正常的 比如是 2017-06
但是偶尔,会出现 [Ljava.lang.string 这种情况, 这个说明 前台传来的日期 是一个字符串数组, 但是我郁闷啊,为什么偶尔会这样

追答

确认一下你前台html里面的date对应的对象是不是唯一。可能跟日期选择控件有关系。实在不行就用dom [0]赋值试试。

本回答被提问者采纳

将前台日期格式转成与数据库日期格式相对应,后台java转数据库日期格式

前台到后台java时data日期类型的转化

在实体类中用@DataTimeFormat,这样设置即使传过来是空的字符串也是可以转的,要和前面传过来的格式一致,如

@XmlElement(name="BeginDate")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date beginDate;//开始日期

不需要管前面传过来的格式

SimpleDateFormat SFDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str=SFDate.format(entity.getTranDate());//entity.getTranDate();

java到数据库data日期格式转化

java到数据库用to_date(‘2018-09-18 00:00:00‘,‘YYYY-MM-DD HH24:MI:SS‘);转化

String str= "2017-04-07 00:00:00";

List<TbSettInmoney> tb= jdbcTemplate.query("select * from TB_SETT_INMONEY t where t.acct_date=to_date (? , ‘YYYY-MM-DD HH24:MI:SS‘ )", new Object[]{str},new RowMapper(){

@Override
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
TbSettInmoney tb= new TbSettInmoney();

tb.setSupAcctId(rs.getString("SUP_ACCT_ID"));

//tb.setCustFlag(rs.getInt("CUST_FLAG"));

//tb.setTranDate(rs.getDate("TRAN_DATE"));

return tb;

}
});

//jdbcTemplate.queryForList("select * from tb_sett_fund t where t.sup_acct_id=?", new Object[]{str}, new TbSettFund());

System.out.println(tb.size());

https://blog.csdn.net/y666666y/article/details/70212886

 

以上是关于java前台传数据到后台的问题的主要内容,如果未能解决你的问题,请参考以下文章

java后台怎么接收并解析前台传过来的json

java在后台如何将前台传过来的json格式数据转换为map?

java web后台向前台传值的有几种方法?

前台传参到后台中文乱码解决方法

SSM框架:解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码

Java在前台怎么获取后台的数据