struts action scop 问题 一个jsp 多个action form表单提交给哪个action html:link 提交
1个回答
展开全部
action 的话,即使两个action同时引用相同的actionForm ,在jsp 中html form 下的元素如果不引用name =“actionFormName” 的话,值会取不到,原因是正在执行的action 的scop 为request,而又因为两个jsp所拥有的actionForm不是同一个实例。 在jsp页面中如果存在多个提交的action,且action 的scope 为request, 提交执行action时,form表单的值只会提交到html:form 中的那个action 所对应的form中。存在一种情况:如果在跳转到jsp之前,跳转到action进行初始化,而初始化的页面scop 为缺省的情况,即为session的状态,此时在jsp页面提交到另外的action时,在之前的初始化action中设置的form 元素的值将保留到当前的action 中,因为为session状态,从初始化过来时,form实例保存下来了,再次提交时值就保存下来了。一个页面存在多个aciton时,如果scop为request,需要将form 元素的name 属性指定为当前的form 在struts config中的自定义名称,这样才能在actionForm中访问得到,原因是:一个页面存在多个提交的action ,而form 表单提交时,如果scop为request,struts会将表单元素的值提交到html:form 中指定的那个action,这时在其他action 中所创建的actionForm实例中就没有来自jsp页面提交的值,需要将form表单元素的name 属性指定为actionForm 名称,struts框架会将其引用到当前的action中。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询