很简单呀,利用js向处理提交的servlet提交不同的参数就行了
解决方案 »
- 求解spring +ibatis+junit单元测试
- 请教hibernate问题。。。。。。急!!!!
- 怎么配置一对一的双向关系?
- 关于sql server 2005的连接问题
- java web编程的困惑
- 怎么样在JSP页面上调用水晶报表来显示动态数据?(搞不出来,要被炒了。。。)
- web.xml的问题
- 关于参数传递,然后分页的小问题
- 我有一个类, public static void main(String[] args) …………,JSP该如何调用
- 哪位大哥知道sybase有分布式transaction是怎么实现的啊?
- javabean和ejb(enterprise javabean)有什么区别?在实际的应用中,bean用的多嘛?
- JSP页面数据显示问题
<script language="javascript">
function find(){
formname.action="find.jsp";
formname.submit();
}
function add(){
formname.action="add.jsp";
formname.submit();
}</script>
<type=button name="find" onclick='find()'>
<type=button name="add" onclick='add()'>
<head>
<script language="JavaScript">
<!--
function check1()
{
window.location="./查询.jsp";
return;
}
function check2()
{
window.location="./保存.jsp";
return;
}
//-->
</script>
</head>
<body>
<INPUT type="button" name=button value="查询" onclick="check1()">
<INPUT type="button" name=button value="保存" onclick="check2()">
</body>
</html>
<input type=hidden value=aa onclick='this.form.action="bb.jsp"'>
function find(){
document.find.submit();
}
function add(){
document.add.submit();
}</script>
<form name=add method="POST" action="add.jsp">
</form>
<form name=find method="POST" action="find.jsp">
</form>
<type=button name="find" onclick='find()'>
<type=button name="add" onclick='add()'>
<input type=hidden value=aa onclick='this.form.action="bb.jsp"'>
用隐藏于最好
------------------index.htm-----------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
/////////////////////////////////////////////////////
<form action="test.jsp" name="from">
<input type="submit" value="select" name="1">
<input type="submit" value="update" name="1">
<input type="submit" value="insert" name="1">
</form>
////////////////////////////////////////////////////
</body>
</html>
------------------------------------------------------------------------
---------------------test.jsp-------------------------------------------
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ÎÞ±êÌâÎĵµ</title>
</head><body>
/////////////////////////////////////////////////////////////////////////
<%
if (request.getParameter("1").equals("select")) out.print("select");
else if (request.getParameter("1").equals("update")) out.print("update");
else out.print("insert");
%>
/////////////////////////////////////////////////////////////////////////
</body>
</html>
-----------------------------------------------------------------------
不过最后还是要用到<javascript>
写个例子让我们学习学习嘛!这样很抽象阿,像俺这样的菜鸟看不懂阿!
<input type=submit name=action value="query"><input type=hidden name="save" value="save.jsp">
<input type=submit name=action value="save"><input type=hidden name="cancel" value="cancel.jsp">
<input type=submit name=action value="cancel"><input type=hidden name="result" value="result.jsp">
<input type=submit name=action value="result">
yourservlet.class(source code):import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class yourservlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
doPost(request,response);
} public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
RequestDispatcher rd=null;
String action=request.getParameter("action") //获得表单传过来的action的值 String jsp=request.getParameter(action) //注意,这里action没有"",这里是用刚才得到的action的值作为参数 rd=request.getRequestDispatcher(jsp); if(rd!=null){
rd.foward(request,response);
}
}
}
分析:这样做不但完成了你的要求,而且符合MCV编程思想。注意:每个submit的name都是action,只是value不同,提交到servlet,由servlet通过request.getParameter 取得该action的参数,即value,然后把value作为request.getParameter(action)的参数,获得相应hidden(名称为value的值)的value.然后再通过value的值(一个jsp文件路径)重定向到相应的jsp页面做处理。这样做的好处是:当因业务需要进行修改时,不用修改java文件,直接修改html页面即可。本例子:如果用户点击第一个submit按钮,提交到servlet,然后servlet执行request.getParaeter("action")因为第一个submit的value是query,所以action="query",即上面语句的执行结果是action="query",然后,再用request.getParameter(action),注意这里的action不用双引号,这是因为现在要的不是表单action域的变量,而是action字符串所代表的值"query",即上面语句等价于:
request.getParameter("query"),然后通过获取query域的值query.jsp得到相应的处理页面jsp的路径,最后用 rd.foward(request,response)重定向到query.jsp作处理。这里最难理解的是两个getParameter,要清楚,第一个"action"是代表表单的域名action,而第二个action是servlet里面的一个String变量,他的值是"action"域所传递过来的值,理解了这个问题,代码就好理解了。
不过最后还是要用到<javascript>
____________________________________________________________________ “茴”字可没有这么多中写法啊!!!!
例如
if(request.getParameter("t").equals("保存"))
{保存的代码}
其他的你就知道了吧,
还有一个办法就是用一个hidden类型的文本框,用按钮触发一个javascript的函数,函数的内容是改变hidden类型的文本框的内容,然后提交以后判断hidden类型文本框的value是什么。