关于struts1中的actionform传递的问题

先简单说下我的程序:我只用了struts1,其中action用的是dispatchaction,并且action的范围都是session,actionform是UserA... 先简单说下我的程序:我只用了struts1,其中action用的是dispatchaction,并且action的范围都是session,actionform是UserActionForm.java,程序登录(提交用户名密码)后到UserLoginAction,在UserLoginAction里能取得actionform的所有属性,UserLoginAction结束后跳转到main.jsp,main.jsp中能用el表达式取得actionform的所有属性,但是我从main.jsp跳转到UserJumpAction后就无法取得actionform的属性了,也无法在UserJumpAction跳转的main1.jsp中用el表达式取得actionform的属性。mian.jsp中的代码如下:
<br>你的信息如下:<br><br>
姓名:${uaf.uname }<br>
性别:${uaf.usex }<br>
邮箱:${uaf.umail }<br>
职业:${uaf.uprofessional }<br>
<a href="userjump.do?command=step">按这里跳转到主界面1</a>

请问可能是什么原因使得跳转后无法取得actionform的属性?小弟百思不得其解。

另外我用动态actionform将原程序中的自己写的actionform替换了后(没改其它地方),程序正确运行,即能在UserJumpAction、main1.jsp中取得属性。
问题解决了,原来是自己将actionform和request的属性弄混了(我把它们命一样的名了)。同时发现动态actionform封装很不一样,因为在action中对动态actionform的对象进行修改也能被保存到actionform中,只要设置action的范围为session,那么在其他的action中也可以用,而静态actionform不好在action中对actionform进行修改。
展开
 我来答
ylongshao1987
2010-11-09 · TA获得超过9811个赞
知道小有建树答主
回答量:1277
采纳率:100%
帮助的人:711万
展开全部
虽然楼主两个页面传的参数个数或者说参数类型都一样,但是用传统的actionform是传不过去的,actionform只是封装页面参数产给action,而另外的action是也必须有一个form传给它,而用动态form就不同,它把所有的属性保存在一个Map类对象中,并提供了下面的用于访问所有属性的通用方法:
public Object get(String name);
public void set(String name,Object value);
get(String name)方法根据指定的属性名返回属性值;set(String name,Object value)方法用于为给定的属性赋值。
这样action和jsp都可以访问http://huguifuture.javaeye.com/blog/750788
给你参考下
maben1111
2010-11-09 · TA获得超过107个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:115万
展开全部
你直接传参数到后台看看是不是穿过去了,如果传过去了说明你的设置不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我很菜
2010-11-09 · TA获得超过345个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:92.6万
展开全部
<a href 是不会带属性过去的吧,你应该把属性都包括进一个form,form提交。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HelloZy_90
2010-11-09
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
照你所说的应该就是封装出现问题了,动态ActionForm是自动封装参数的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式