首页新闻找找看学习计划

关于ssm前端数据获取问题

0
悬赏园豆:50 [待解决问题]

最近在用ssm实现一个简单的登录功能时,总是获取不到jsp页面传入的值,不知道是什么原因,sql语句是对的,测试也可以,input的name与bean中封装的字段也是对应的。不知道是啥子原因,好忧伤。
jsp:
<form action="/ssm/checkLogin" method="post">
<label>账号:</label>
<input type="text" id="name" name="name" placeholder="请输入账号" /></br>
<label>密码:</label>
<input type="password" id="password" name="password" placeholder="请输入密码"/></br>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</form>
bean:
public class Category {
private int id;
private String name;
private String password;

sql:
<select id="login" resultMap="BaseResultMap" parameterType="com.how2java.pojo.Category">
select * from category_ where name=#{name,jdbcType=VARCHAR} and password=#{password,jdbcType=VARCHAR}
</select>

运行时打印出来这样:
DEBUG [http-apr-8081-exec-8] - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@d40f9a5]
DEBUG [http-apr-8081-exec-8] - ==> Preparing: select * from category_ where name=? and password=?
DEBUG [http-apr-8081-exec-8] - ==> Parameters: ???????°?(String), 111(String)

问题补充:

不只是获取的问题,在插入新数据时,操作可以成功,但插入的name也是乱码

肥猫桂子的主页 肥猫桂子 | 初学一级 | 园豆:119
提问于:2019-01-04 11:00
< >
分享
所有回答(3)
0

检查 checkLogin 里面的对象数据是否OK

waiter | 园豆:1000 (小虾三级) | 2019-01-04 11:24

我是这么写的,大概是因为name获取不到,所以总是ad==null
@RequestMapping("/checkLogin")
public String checkLogin(Category user, Model model) {
Category ad = categoryService.login(user);
if (ad != null) {
model.addAttribute("user",ad);
return "success";
} else {
return "err";

    }
}
支持(0) 反对(0) 肥猫桂子 | 园豆:119 (初学一级) | 2019-01-04 11:26

@肥猫桂子: user的内容是什么,是不是前台数据提交到后台的时候数据都没有啊

支持(0) 反对(0) waiter | 园豆:1000 (小虾三级) | 2019-01-04 11:31

@waiter: @waiter: user包括id,name,password ,前台提交的数据有name和password,现在是password可以获取的到,name没有

支持(0) 反对(0) 肥猫桂子 | 园豆:119 (初学一级) | 2019-01-04 11:47
0

你的Category的name有没有get,set方法

流年飞雨 | 园豆:1928 (小虾三级) | 2019-01-04 14:18

有的呢,哎我要疯了,我用test测试都是正常的。

支持(0) 反对(0) 肥猫桂子 | 园豆:119 (初学一级) | 2019-01-04 14:20

@肥猫桂子: 乱码是前后台编码不一致,都改成UTF-8就好了,设置页面,TOMCAT服务器都是UTF-8编码

支持(0) 反对(0) 流年飞雨 | 园豆:1928 (小虾三级) | 2019-01-04 14:34

@我眼中的世界眼中的我:
嗯嗯,我都设置的utf-8,有一个直接查询数据库表的jsp就直接显示是能够显示的,就是我从前端的输入进去的这种操作就不可以了,我也是不知道哪里的问题的,忧伤忧伤。。。

支持(0) 反对(0) 肥猫桂子 | 园豆:119 (初学一级) | 2019-01-04 14:39

@肥猫桂子: jsp页面设置一下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

支持(0) 反对(0) 流年飞雨 | 园豆:1928 (小虾三级) | 2019-01-04 14:43

@我眼中的世界眼中的我:
大大我是这么写的呢
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" "%>

支持(0) 反对(0) 肥猫桂子 | 园豆:119 (初学一级) | 2019-01-04 14:44

支持(0) 反对(0) 流年飞雨 | 园豆:1928 (小虾三级) | 2019-01-04 14:46
0

name乱码password正常显示>中文乱码
request.getParameter("参数名");字符编码默认IOS-8859-1,需要进行字符编码处理
request.setCharacterEncoding("UTF-8");
设置了字符集后再来取值就不会乱码了,这是post提交方式,get提交比较麻烦不建使用,而且不安全。

一世红尘 | 园豆:321 (菜鸟二级) | 2019-03-25 14:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册