struts2.3.24 提交对象 ACTION 总为NULL

11097082 2015-09-15 03:39:23
最近将公司老旧的系统(ssh2),其中struts为2.0,现在升级到struts2.3.24

项目可以启动了,但是如登录节目,提交对象数据到ACTION,但接收不到,总为NULL,但是可以接收字符串

这是为什么呢?原来struts2.0的时候是可以的。

ACTION代码:

private TSkUsersBo tSkUsersBo;
private TSkUsers tSkUsers;
private int pageNo;
private String ids;
private String conformCode;
private String newPass;

public TSkUsersBo gettSkUsersBo() {
return tSkUsersBo;
}
public void settSkUsersBo(TSkUsersBo tSkUsersBo) {
this.tSkUsersBo = tSkUsersBo;
}

public TSkUsers gettSkUsers() {
return tSkUsers;
}
public void settSkUsers(TSkUsers tSkUsers) {

this.tSkUsers = tSkUsers;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public String getIds() {
return ids;
}
public void setIds(String ids) {
this.ids = ids;
}

public String getConformCode() {
return conformCode;
}
public void setConformCode(String conformCode) {
this.conformCode = conformCode;
}
public String getNewPass() {
return newPass;
}
public void setNewPass(String newPass) {
this.newPass = newPass;
}


其中tSkUsers 总为NULL ,但验证码 conformCode 可以接收到

使用AJAX方式提交的:

var url="<%=webApp%>/sys/user!login.do";
var data={
"tSkUsers.loginName":loginName,
"tSkUsers.loginPass":$.md5(loginPass),
"conformCode":conformCode
};
$.post(url,data,function(rs){
if(rs=="1"){
top.document.location="<%=webApp%>/sys/user!toSysHome.do";
}else{
dtmlx_alert(rs);
progressOff("user_login");
}

},"text");

...全文
126 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
11097082 2015-09-15
  • 打赏
  • 举报
回复
引用 6 楼 shijing266 的回复:
[quote=引用 5 楼 11097082 的回复:] [quote=引用 4 楼 shijing266 的回复:] struts-2.3.15.1版本之后对get set要求更加严格了,比如在action中申请一个全局变量为 private String aBcde; 默认生成对应的get set方法就会是 getaBcde() setaBcde() 而不是变量名称首字母大写的,这里升级后的版本要求严格
根据你的方法,真的可以接收到信息了。 struts-2.3.15.1以后,必须要要求 get set的 首字母大写了? 但是 spring 注入的对象,如 这里的get set 的首字母也没有大写,但是都成功注入了,是否只有从浏览器提交的信息,才必须要求大写?[/quote] 你没看懂我的话,是不一定是首字母大写,特殊情况下,get/set的名称不一样[/quote] 你的意思是说: private TSkUsers tskUsers; public TSkUsers getTskUsers() { return tskUsers; } public void setTskUsers(TSkUsers tskUsers) { this.tskUsers = tskUsers; } 变量tskUsers 必须要与如 getTskUsers , setTskUsers中的 TskUsers 不一样吗?
  • 打赏
  • 举报
回复
引用 5 楼 11097082 的回复:
[quote=引用 4 楼 shijing266 的回复:] struts-2.3.15.1版本之后对get set要求更加严格了,比如在action中申请一个全局变量为 private String aBcde; 默认生成对应的get set方法就会是 getaBcde() setaBcde() 而不是变量名称首字母大写的,这里升级后的版本要求严格
根据你的方法,真的可以接收到信息了。 struts-2.3.15.1以后,必须要要求 get set的 首字母大写了? 但是 spring 注入的对象,如 这里的get set 的首字母也没有大写,但是都成功注入了,是否只有从浏览器提交的信息,才必须要求大写?[/quote] 你没看懂我的话,是不一定是首字母大写,特殊情况下,get/set的名称不一样
11097082 2015-09-15
  • 打赏
  • 举报
回复
引用 4 楼 shijing266 的回复:
struts-2.3.15.1版本之后对get set要求更加严格了,比如在action中申请一个全局变量为 private String aBcde; 默认生成对应的get set方法就会是 getaBcde() setaBcde() 而不是变量名称首字母大写的,这里升级后的版本要求严格 解决办法: private TSkUsers tSkUsers; 改成private TSkUsers tskUsers
根据你的方法,真的可以接收到信息了。 struts-2.3.15.1以后,必须要要求 get set的 首字母大写了? 但是 spring 注入的对象,如

	private TSkUsersBo tSkUsersBo;
	private String newPass;
	public TSkUsersBo gettSkUsersBo() {
		return tSkUsersBo;
	}
	public void settSkUsersBo(TSkUsersBo tSkUsersBo) {
		this.tSkUsersBo = tSkUsersBo;
	}
	
这里的get set 的首字母也没有大写,但是都成功注入了,是否只有从浏览器提交的信息,才必须要求大写?
11097082 2015-09-15
  • 打赏
  • 举报
回复
引用 1 楼 trocp 的回复:
getter/setter方法不标准 public TSkUsers getTSkUsers() {     return tSkUsers; } public void setTSkUsers(TSkUsers tSkUsers) {       this.tSkUsers = tSkUsers; }
这些方法是ECLIPSE自动生产的,而且刚才也按你说的,修改了,但是还是不行啊
oO临时工Oo 2015-09-15
  • 打赏
  • 举报
回复
引用 1 楼 trocp 的回复:
getter/setter方法不标准 public TSkUsers getTSkUsers() {     return tSkUsers; } public void setTSkUsers(TSkUsers tSkUsers) {       this.tSkUsers = tSkUsers; }
由于你的s是写的,上面这个回复有问题。 变量名改为 tskUsers。具有setter/getter方法主变量,不要首字小写,第二字母大写。
  • 打赏
  • 举报
回复
struts-2.3.15.1版本之后对get set要求更加严格了,比如在action中申请一个全局变量为 private String aBcde; 默认生成对应的get set方法就会是 getaBcde() setaBcde() 而不是变量名称首字母大写的,这里升级后的版本要求严格 解决办法: private TSkUsers tSkUsers; 改成private TSkUsers tskUsers
oO临时工Oo 2015-09-15
  • 打赏
  • 举报
回复
getter/setter方法不标准 public TSkUsers getTSkUsers() {     return tSkUsers; } public void setTSkUsers(TSkUsers tSkUsers) {       this.tSkUsers = tSkUsers; }

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧