可以呀,只不过你每个form多传一个参数method(当然可以随便叫其他名字);servlet里根据再根据这个参数执行相应的方法(可以用反射实现,或者直接if else)。
String method = request.getParameter("method");
if("a".equals(method)) {
a();
} else if("b".equals(method)) {
b();
} else if...
这是简单方法哈,智能点就用反射。
String method = request.getParameter("method");
if("a".equals(method)) {
a();
} else if("b".equals(method)) {
b();
} else if...
这是简单方法哈,智能点就用反射。
然后传入一个参数来让servlet区分是从哪个form传过来的数据,根据这个参数执行不同的业务逻辑。
就像楼上说的那样。
<form>
<hidden name="opflag" value="init"/>
</form>Servlet:
String opFlg = request.getParameter("opflag");
if("init".equals(opFlg)){
init();
} else if()...
改变opflag的value就好了
<form id="form" name="form" action="servletName?opflag=abc" method="post"></form>后台就按#3楼的来就可以了,#3楼那个hidden标签写错了,貌似没这标签
如果真的只想用一个servlet中那么在servlet中有一个变量一定要在dpost方法中是全局的,这样每次表单提交的时候给个随便的值就可以了
比如在servlet中有个变量是全局的叫 opFlg
String opFlg = request.getParameter("opflag");
if(opFlg.equals("1"))
执行的方法 同下……
else if(opFlg.equals("2"))
else if(opFlg.equals("3"))
else if(opFlg.equals("4"))
在提交的时候这个opFlg是一定要有的,如果是查询那就给个1,如果是插入那就给个2,如果是删除就给个3
就可以了
不然一个按钮一个servlet显得较臃肿
也不是都写在一个servlet中,一个页面的查询为一个servlet,一个servlet是增,删,改错操作的servlet
也就是一个页面2个servlet这样也就分开了,代码也少了,
不然你不想用多个servlet也不想在一个servlet中写多个方法,用条件判断掉用servlet dopost那个方法,那你怎么搞
你的servlet页面
request.getparamert("flag");if(flag.epual("adduser"))
{ //事件1
}
else if(flag.epual("adduser"))
{//事件2}
{ //事件1
}
else if(flag.epual("adduser"))
{//事件2
//事件3
}
可以这样先后执行两个事件吗