一个jsp页面同时加载多个action

<action name="a" class="" method="">
<result>/a.jsp</result>
</action>
<action name="b" class="" method="">
<result>/b.jsp</result>
</action>
在a.jsp中include b.jsp,要求通过a.action进入到a.jsp时,b.jsp自动从b.action获取参数展现在a.jsp中

一个jsp可以写多个aciton,选择执行跳转不同的动作来执行后台方法:
index.jsp里
<s:action name="action1" executeResult="true" namespace="/" />
<s:action name="action2" executeResult="true" namespace="/" />

struts.xml里:
<package name="default" namespace="/" extends="struts-default">
<action name="action1" class="cn.java.Action1">
<result>/action1.jsp</result>
</action>
<action name="action2" class="cn.java.Action2">
<result>/action2.jsp</result>
</action>
</package>

在action1.jsp里<s:property value="#attr.name" />就得到action1里的属性name的值了(name需要有get方法),如果action1里是ServletActionContext.getRequest().setAttribute("name", "ACTION1"); action1.jsp里直接用request.getAttribute就可以

这样就可以把各个模块单独用一个jsp文件保存,各个主页面只需要定义HTML的布局,就可以把各个模块包含近来,各个主页面需要那个模块就写个<s:action name="xxx" executeResult="true" namespace="/" />,模块重复使用。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-08
你用的是structs2吧 先在a.jsp导入structs标签
把include b.jsp
替换为
<s:action name="b.action" executeResult="true"></s:action>本回答被提问者和网友采纳
第2个回答  2012-09-05
在a的onload事件里写个ajax请求到b.action不就行了,不知道为什么要搞个b.jsp,有什么特别的需求?
相似回答