Struts2 的Action无法自动生成接收参数的对象

Struts2 和Spring3整合时,一个Action在接收带参数的请求时无法自动创建接收参数的对象.其他Action都正常..折磨死我了.Struts2配置的action是交由spring生成的,对应的get,set参数对象函数也有
页面参数都是以" 对象名.属性名"传参,已经在action对应函数里打印,函数被正确调用,但是对象始终是null,奇怪的是其他action以相同模式传参都正常,唯一只有这个action始终无法自动创建接收参数的对象
终于找到毛病了,结果是struts.xml的关于action的那段配置有问题,不是配置错了,而是用自动格式化时产生了xml排版调整........IDE又不报错,也能运行调用就是不能正常的产生参数对象.
一切都是自动格式化的错........自动还是要付出代价的.
大家都很热心,感谢了,我就偷懒选推荐答案好了.呵呵

第1个回答  2011-01-06
首先查看此Action是否有正确的继承关系,
属性名是否与参数名一致 例如 属性名 name;
是否有对应的Set方法 public void setName(xxx); 需要注意格式
传递的参数是否与属性名一致 xxx.action?name=xxxxx

Medicine 中对应的属性,也要有set方法
xxx.action?medicine.name=xxx 就是说Medicine要有setName方法
第2个回答  2011-01-06
在action中用来接收参数的对象需要手动定义 然后提供get set 方法
请求格式为
xxx.action?fieldName=xxx;
最好测试一下 比如说在action中打印一句话 确定一下自己的action是否被调用!
打印一下接收的参数 看是否接收到!
检查action中的service对象是否注入!
调试的话 尽量想办法把错误的地方锁定的更精确!
最好是把你action贴出来看下 否则不太好说吧!本回答被提问者和网友采纳
第3个回答  2019-05-09
我也遇到过了这个问题,,救救孩子,请问你是怎么解决的?
我的登录action能获取,可是注册action却获取不了
第4个回答  2011-01-05
看看你页面上name是不是对象点属性

Struts2 的Action无法自动生成接收参数的对象
首先查看此Action是否有正确的继承关系,属性名是否与参数名一致 例如 属性名 name;是否有对应的Set方法 public void setName(xxx); 需要注意格式 传递的参数是否与属性名一致 xxx.action?name=xxxxx Medicine 中对应的属性,也要有set方法 xxx.action?medicine.name=xxx 就是说Medicine要有setNam...

action一直接收不到参数啊!求解决!
第二三张图片是在一个action里面,struts的配置文件里面配action标签 nam属性是updataPassword class属性是前面那个action的全名, method属性是 updataPassword。然后 你在sysout里面要后台打印的话 直接打印 password newpass password2的值就可以了struts2会自动封装数据的。

Struts2用Ajax提交报错ognl.NoSuchPropertyException
你action里面接收参数的方法跟JQ传参数的方法没对应,首先你页面input里面的name是用对象.参数,这个是要用form表单提交,后台才能用对象接受,现在你JQ里面使用的jsondata,相当于只是传了2个值过去而不是对象,现在你在action中在定义对应的2个私有个账号密码,看看是不是有值,你有2个选择后台会获取到...

struts2中action 用domain类接收jsp参数 该domain类没有初始化,求解...
employee.department.XXX可以直接向employee中department对象的属性赋值,前提是,你的action中有setEmployee方法,且Employee中有setDepartment方法。另外你的form的action貌似有问题调用一个action中的方法的格式是:action!fucntion.action(中间是感叹号哦,后缀看自己怎么设置的默认为.action和没有)...

form表单提交action 如何接收
struts2中的Action接收表单传递过来的参数有3种方法:如,登陆表单login.jsp: 用户名: 密 码: 1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数.这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Actio...

STRUTS2:关于UserAction的问题
1、楼主的正常运行指的是可以跑进这个add方法吗?2、确定在配置文件里是否指明了你所调用的action所执行的方法。3、另一个可能性比较小的问题,如果操作无误的话查看是否是由于IDE的一些缓存问题。4、建议楼主多学一下设置断点去跟踪一下,确认程序是否按你预定的顺序去跑 ...

struts2如何接收多个参数
Struts2的核心是FilterDispatcher,它会处理我们的请求,不用考虑太多,它使用了代理模式,action里面接收form里面的值,记得form与action里面的OO对象一致,或者采用对象.属性方式进行代码编写 form代码: 1. 账号: 工号: 2. 账号: 工号: ...

springmvc和servlet的区别
8.接收参数的形式也不一样,Struts2是通过Action中的set方法就能实现,而SpringMVC是通过显式的HttpServletRequest中获取。(因两者在这里区别较大,所以各位程序员也见仁见智认为Struts2这种方式不安全,可以随意修改变量值,也有程序员认为SpringMVC的方式自由度不高,只能从Request中获取数据,还得每个方法...

关于struts2的 迭代出的值,然后怎样传到另一个jsp页面里啊?……_百...
可以url后面加上?id=xxx通过get的方法将ID传到ACtion中,然后通过数据库查找你想要得内容。也可以将页面的内容存储到session中在chang.jsp中用el表达式就可以得到,如果你不回用el表达式的话,也可以用<%session.get("")%>得到,session是JSP中的内置对象,不需要初始化 直接用就行。有问题追问。

Struts2的Action和Servlet有什么联系,区别
其表示层使用Struts标签库构建。来自客户的所有需要通过框架的请求统一由叫ActionServlet的servlet接收(ActionServlet Struts已经为我们写好了,只要您应用没有什么特别的要求,它基本上都能满足您的要求),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,...

相似回答