2 tomdwannn Tomdwannn 于 2015.06.17 17:10 提问

JS页面传数据到action时获取不到数据

JS页面输入账户和密码,结果只获取到密码的值,数据库只存进密码,用户名却是null!请看图1图片说明
开始怀疑是《input name=“”/》有错误,于是便去掉了JS页面的密码输入框并且在DAO层写死了密码,奇怪的是用户名能传到action.请看图2图片说明
这说明《input name=“”/》并没有填错,《input value="提交" type="submit"//》怀疑当提交时只提交最后一个数据进入action,但把用户名和密码输入框调换并起不到任何作用。到底是哪里出了问题!!!
下图为完整JS代码图片说明

5个回答

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.17 22:26

亲,楼上说的对,去掉在表单里,像adminbean。adminName用到的传输方法叫域模型,因此在action中必须采用对象方法set,get方法
但是你action用的是参数直接传递,所以会失败,至于你说成功一半,这就不好说了

Tomdwannn
Tomdwannn 谢谢!原来是忘记添加get方法了,只添加set方法导致只提交最后一个,有点意思。具体原理你能解释下嘛
2 年多之前 回复
bdmh
bdmh   Ds   Rxr 2015.06.17 17:14

你这个参数是怎么拼接的,多个参数应该有 & 符号链接

Tomdwannn
Tomdwannn 在action那里我有定义一个private AdminBean adminBean并且给了SET方法,所以Input name里直接这样获取
2 年多之前 回复
Tomdwannn
Tomdwannn 您说的是使用超链接并使用GET方式,,这里是直接POST提交表单
2 年多之前 回复
chwrYy
chwrYy   2015.06.17 17:19

看看Action,和js的代码

Tomdwannn
Tomdwannn public String addAdmin(){ adminDao.add(adminBean); return SUCCESS; } 只是这样,其次定义了private AdminBean adminBean; 并且提供了SET方法
2 年多之前 回复
beacon_2011
beacon_2011   Rxr 2015.06.17 21:28

adminbean.去掉试试

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.18 23:04

恩恩,set方法不是特别重要,但是get必须要有的!!!原理啊,我也说不清道不明了,我知道值栈很好用,你要学会看哦,strut2的核心就是拦截器了。

Csdn user default icon
上传中...
上传图片
插入图片