为什么Struts1.2邦定不了Property?

在ssh整合后,用了一个DispatchAction,在第二个方法就出现问题了,text标签的Porperty怎么也邦定不了我的这个ACTIONFORM,请问这是什么原因啊?
[b]问题补充:[/b]
不能关联另外一个ACTIONFORM,property的名字是直接复制的
[b]问题补充:[/b]
单独写了一个只集成了STRUTS的DEMO,发现一个DISPATCHACTION中多个方法只能关联同一个FORM,PROPERTY才能邦定,用另外一个始终关联不了,郁闷啊!!!!!
[b]问题补充:[/b]
最大的问题在于一个DispatchAction只能邦定一个form,然后调用他们的Action方法,而另外一个form就无法在name中指定

4个回答

看了你最后的补充,我才明白你的意思。

你要达到的目的是:

[quote]你有两个form表单,提交请求后,都让一个Action处理。问题是,这两个表单只能和一个formbean关联。应该是这个意思吧。[/quote]

[b][color=red]你提出的问题,只有最后一句话,说清楚了你的目的。[/color][/b]

其实道理很简单,你要想两个form表单都让一个action处理,那么你的form中action属性值应该一样吧,然后就是,你的配置文件中的action,里面的属性name值只能有一个,所以,就会出现你的问题,只能关联一个form.因为你的 action配置文件中只能有一个name的属性,明白吧。

[color=red]你要想都关联,除非是,你的两个form表单的内容一摸一样[/color]。不过这样就没意思了。

通过你的提问,我发现你最大的问题是:[color=red]不明白dispatchAction是用在什么场合。[/color]

你可能认为,[color=red]dispatchAction可以处理多个form,这是大错特错[/color]。

它的功能是:在一个form表单中可以处理多个请求的内容,比如说,你的一个form表单中,有更新按钮,有删除按钮,等等,但是你只想用一个Action处理,那么才能用dispatchAction.

首先查看,[color=red]form中的action属性值是否和你的struts配置文件中相应的action的path属性值一致[/color],其次[color=red]查看action的name属性值是否和你的formbean的name一致[/color];

确保上述都一致后,再查看你的text标签的Porperty的属性值和你的formbean中的属性名称是否一致,包括[color=red]大小写[/color],注意,Porperty的属性值的第一个字母最好小写,并且和formbean中的属性名称一致。

很可能还是名称没有对应起来的原因,像这种问题除了细心之外,好像没有什么高招了。
另外你可以在自己的环境里写个简单的demo,同时把属性名称都写简单点,看看是否会出现同样的问题,这主要是看看是不是跟项目有关系。

估计还是你的属性名称不一致吧,如果你找不出来,那就让别人看看吧,属性名称是否一致。包括大小写,最好采用java中命名属性名称的规范。你的属性名称一定要和formbean中的set个get之后的名称一致。

如果你的配置没有问题,请求可以到达action中,解决问题的唯一办法,就是[color=red]细心[/color]。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问