在jsp页面中,如何使用button进行传值并做跳转到另一个页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jsp页面中,如何使用button进行传值并做跳转到另一个页面相关的知识,希望对你有一定的参考价值。

在jsp页面中,如何使用button进行传值并做跳转到另一个页面,如果使用location.href="ProvideTagMaker.jsp?typeid="+undercarriageNo;的话只是做了个页面跳转,并且页面也发生了改变,我是想把它先提交到某个action中,然后对传过来的值进行处理并显示相关信息,希望能给个配置的实例,谢谢!

<html>
<head>
<title></title>
<script type="text/javascript" language="JavaScript">
function getValue()
var s=document.getElementById("txtValue").value;
if(s!=null)
document.froms[0].submit();


</script>
</head>
<body>
<form id="myForm" action="你的参数名?参数名=参数值" method="post">
<input id="txtValue" type="text" /><br/>
<input type="button" onclick="getValue()">
</form>
</body>
</html>

注:
action部分的代码就不写了!上面的代码只要文本框“txtValue”不为空,from标签范围内的所有元素都会传入action中,使用request.getParameter("标签元素name")获取元素的值。经过判断或处理后再进行跳转return new ActionForward("要跳转的页面");
还有就是直接设置好from的action属性,用submit按钮直接提交到action。
还有就是使用Ajax方法异步处理。这个要根据你的需要自己决定了
参考技术A jquery的Ajax 比较容易解决哦
function mehtodName(value1)
$.ajax(
type: "get",
url: "跳转至action",
data: 传递的参数,
success: function(msg)
//对返回结果进行处理

);

PS:只是大致的思路,具体的参考一下资料吧本回答被提问者采纳
参考技术B 写个处理带参数的js函数,处理传递进来的参数值,并进行重定向,然后在button的onClick事件中,调用写好的js函数即可,可以考虑Ajax。 参考技术C location.href="actiontype.do?typeid="+undercarriageNo
然后action中 用 String no=request.getParameter("typeid");取到typeid的值
....
dosomething
....
最后在action中 return new ActionForward("/ProvideTagMaker.jsp");
注意struts-config.xml中配置
<action path="/actiontype" scope="request" type="com.**Action" validate="false">
参考技术D 你是想把它先提交到某个action中 那就不要跳Jsp了啊
直接跳action 取值操作完了再传到你的Jsp页面

servlet中能够相互传值吗

在网上怎么查不到相关的信息呢?
通过SERVLET_A从数据库中取得信息。
然后再跳转到另一个SERVLET_B中去、
再通过SERVLET_B跳转到一个页面中、
并且在这张页面中加载相关有效数据。
这样的思想能够实现吗?

Sverlet相互传值可以使用跳转的形式,总共有两种,如下:
1) redirect方式[效率不高]
request和response没有传给目标页面
response.sendRedirect("/a.jsp");
页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:
response.sendRedirect("URL");跳转后浏览器地址栏变化。
这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
传值:HttpSession session =request.getSession();
session.setAttribute("bbbb", 1111111111);
取值:session.getAttribute("bbbb");

传值:RequestDispatcher rd =application.getRequestDispatcher("/queryResult.jsp?a="+000);
取值:request.getParameter("a")

2) forward方式[更多地使用此方法进行服务器端的跳转]
ServletContext application =this.getServletContext(); //this是这个页面
RequestDispatcher rd = application.getRequestDispatcher("/目标页面");
rd.forward(request, response);
Servlet页面跳转的路径是相对路径。forward方式只能跳转到本web应用中的页面上,跳转后浏览器地址栏不会变化。
使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute
传值:request.setAttribute("a", 00);
取值:request.getAttribute("a");

传值:HttpSession session =request.getSession();
session.setAttribute("bbbb", 1111111111);
取值:session.getAttribute("bbbb");

传值:RequestDispatcher rd =application.getRequestDispatcher("/queryResult.jsp?a="+000);
取值:request.getParameter("a");
getParameter()只能传递字符串,而setAttribute()/getAttribute()还可以传递对象
其次getParameter方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。
只能是页面发送到后台或者Web客户端传到Web服务器端
参考技术A session cookie

当cookie被禁用时可以用URL重写或隐藏表单域
参考技术B 可以,保存入session就可以咯。
reqeust也可以。

比如request.setAttribute("v1",v1);或者request.setParameter("v1",v1);方法

session.add();方法 //还是session.set();方法记不清了,总之就是这些个方法吧值放入session或request.在另一个页面:

request.getParameter("v1");//获得request中v1,具体的值就是你上面保存进去的本回答被提问者和网友采纳
参考技术C 用session保存 或者request保存咯!!

以上是关于在jsp页面中,如何使用button进行传值并做跳转到另一个页面的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面权限控制

jsp button提交一个值到servlet

如何解决 jsp 中url传值的中文乱码问题

jsp页面中onclick怎么传参到js中

将一个JSP页面的若干个值传到另一个JSP页面上

两个jsp页面如何传值