JSP中如何实现一个表单中的两个按钮分别执行两个action

<form>
<input name="text1">
<input name="text2">
<input name="submit1" type="submit" value="提交1">
<input name="submit2" type="submit" value="提交2">
</form>
假设点击按钮提交1后页面转到 1.jsp中
点击提交2后页面转到 2.jsp中
同时在两个页面中可以执行
request.getParameter("text1")
request.getParameter("text2")
获取两个文本框中的内容

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个回答  2012-02-22
视图:添加隐藏域
控制器:服务器端Servlet 根据隐藏域参数 跳转页面
第2个回答  推荐于2016-07-13
<script type="text/javascript">
function show(){
location.href='js2.jsp';
}
</script>
</head>
<body>
<form action="js2.jsp">
<input name="text1">
<input name="text2">
<input name="submit1" type="button" value="提交1" onclick="show()">
<input name="submit2" type="submit" value="提交2">
</form>

</body>本回答被提问者和网友采纳