据我所知,不行!
因为Action的接口里只有一个actionform参数,怎么对应多个?
因为Action的接口里只有一个actionform参数,怎么对应多个?
解决方案 »
- Spring3 form传值的问题,请教
- 小问题,关于继承,求帮助
- 请前辈指教怎么考Java的认证
- 关于hibernate的保存数据时出现的错误
- 请教高手这个SQL语句的列子。
- 测试一页面:提示package news does not exist
- struts程序从tomcat移植到resin的问题
- 用 ==null 作判断条件有什么弊端?
- 有谁做过或看过J2EE做的项目,拿出来长长眼。
- 请问怎么样用XML文件在程序之间交互数据(比如XML要在交互过程中以什么样的形态出现。)
- 请教JSP/Servlet/Bean/EJB之间的关系?
- 一个新手关于LOG4J连数据库的问题,请高手解答,万分感谢!
转:
Java代码
package com.awp.test.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.awp.test.form.FirstForm;
import com.awp.test.form.SecondForm;
/**
* @version 1.0
* @author awp
* @date 2009-4-24 上午11:25:49
* @decription 一个Action中包含多个Form
*/
public class MultiFormTestAction extends DispatchAction {
/**
* 第一个Form对应方法
*/
public ActionForward firstForm(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
FirstForm beanform = (FirstForm)form;
request.setAttribute("name", beanform.getName());
return mapping.findForward("display");
}
/**
* 第二个Form对应方法
*/
public ActionForward secondForm(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
SecondForm beanform = (SecondForm)form;
request.setAttribute("name", beanform.getName());
return mapping.findForward("display");
}
} package com.awp.test.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;import com.awp.test.form.FirstForm;
import com.awp.test.form.SecondForm;/**
* @version 1.0
* @author awp
* @date 2009-4-24 上午11:25:49
* @decription 一个Action中包含多个Form
*/
public class MultiFormTestAction extends DispatchAction { /**
* 第一个Form对应方法
*/
public ActionForward firstForm(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
FirstForm beanform = (FirstForm)form;
request.setAttribute("name", beanform.getName());
return mapping.findForward("display");
}
/**
* 第二个Form对应方法
*/
public ActionForward secondForm(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
SecondForm beanform = (SecondForm)form;
request.setAttribute("name", beanform.getName());
return mapping.findForward("display");
}
}
Form:Java代码
package com.awp.test.form;
import org.apache.struts.action.ActionForm;
public class FirstForm extends ActionForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
} package com.awp.test.form;import org.apache.struts.action.ActionForm;public class FirstForm extends ActionForm { private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}} Java代码
package com.awp.test.form;
import org.apache.struts.action.ActionForm;
public class SecondForm extends ActionForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
} package com.awp.test.form;import org.apache.struts.action.ActionForm;public class SecondForm extends ActionForm { private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}} struts-cofing.xml Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="firstform" type="com.awp.test.form.FirstForm"/>
<form-bean name="secondform" type="com.awp.test.form.SecondForm"/>
</form-beans>
<global-forwards>
<forward name="display" path="/display.jsp"/>
</global-forwards>
<action-mappings>
<action path="/firstpath"
input="/first.jsp"
name="firstform"
parameter="method"
scope="request"
type="com.awp.test.action.MultiFormTestAction"/>
<action path="/secondpath"
input="/second.jsp"
name="secondform"
parameter="method"
scope="request"
type="com.awp.test.action.MultiFormTestAction"/>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="firstform" type="com.awp.test.form.FirstForm"/>
<form-bean name="secondform" type="com.awp.test.form.SecondForm"/>
</form-beans>
<global-forwards>
<forward name="display" path="/display.jsp"/>
</global-forwards>
<action-mappings>
<action path="/firstpath"
input="/first.jsp"
name="firstform"
parameter="method"
scope="request"
type="com.awp.test.action.MultiFormTestAction"/>
<action path="/secondpath"
input="/second.jsp"
name="secondform"
parameter="method"
scope="request"
type="com.awp.test.action.MultiFormTestAction"/>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config> first.jspHtml代码
<%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>我是提交第一个FORM的页面</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/firstpath.do?method=firstForm" method="post">
<input name="name" value="" type="text"/>
<input name="ok" value="提交" type="submit"/>
</form>
</body>
</html> <%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>我是提交第一个FORM的页面</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/firstpath.do?method=firstForm" method="post">
<input name="name" value="" type="text"/>
<input name="ok" value="提交" type="submit"/>
</form>
</body>
</html>
second.jspHtml代码
<%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>我是提交第二个FORM的页面</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/secondpath.do?method=secondForm" method="post">
<input name="name" value="" type="text"/>
<input name="ok" value="提交" type="submit"/>
</form>
</body>
</html> <%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>我是提交第二个FORM的页面</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/secondpath.do?method=secondForm" method="post">
<input name="name" value="" type="text"/>
<input name="ok" value="提交" type="submit"/>
</form>
</body>
</html> display.jspHtml代码
<%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>显示页面</title>
</head>
<body>
<br />
表单提交的内容为:${name} <br /><br />
<a href="first.jsp">打开表单1</a><br /><br />
<a href="second.jsp">打开表单2</a>
</body>
</html> <%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>显示页面</title>
</head>
<body>
<br />
表单提交的内容为:${name} <br /><br />
<a href="first.jsp">打开表单1</a><br /><br />
<a href="second.jsp">打开表单2</a>
</body>
</html>
Action必须继承DispatchAction,感觉其实一个action还是只能对应一个form这里的方法其实是利用action的path 多个path可以指向同一个action。