jsp按钮怎么提交数据?

jsp按钮怎么提交数据?,第1张

jsp中上传表单,直接使用js绑定onclick函数。
然后把处理数据程序跳转到对应的jsp页面就可以了。
举例:
<form name="fm" id="fm" method="post">

<input type="button" name="btn1" onclick="documentfmaction='xxxjsp';documentfmsubmit();" value="tj"/>
<input type="button" name="btn2" onclick="documentfmaction='yyyjsp';documentfmsubmit();" value="tj"/></form>

在H5中,一个页面的跳转,一般分为三种方式

对于方式1,方式2,如果需要传递参数,只能通过将参数添加到跳转的地址中,众所周知,对于一些要紧的参数,在地址中是非常不安全的,而且需要传递多个参数,放在链接中传递也不是很好。所以需要采用form表单提交的方式进行页面跳转。

但是在多数页面,不需要显式的添加form表单元素,此时有需要隐式的传递多个参数和要紧参数。则需要自己构建隐式的form表单,并且将需要传递的参数作为表单元素中 input 的 value 值。

具体的实现如下

如上, div_global_form 为全集的定义的一个html标签元素。我们会在 div_global_form 标签元素中生成一个form隐藏域。并且action为传递进来的 _url 。

在跳转到指定页面后,需要获取传递过来的值。

使用如上方式,就可以获取前一个页面传递过来的参数。其中 ${} 为EL表达式。为什么一定使用 param ,则是" 王八的屁股 --规定",所以不需要纠结。

之上,是对最近最近HTML和JSP的学习细节总结。

喜欢请随意

jsp传值给另一个jsp页面,主要的方式是将数据放在request对象中,然后在另一个页面拿到这个数据即可,代码如下:
Ajsp :通过post 和get、连接都可以传
a标签连接的:
<a herf='Bjspname=<%=name%>'>传递到B页面</a>
Bjsp :
B页面通过如下代码接收
<%
String name=requestgetParameter("name");
outprintln("接收到:"+name);
%>

1、首先用代替提交按钮submit和重置按钮reset,并给加onclick事件
<script language="javascript">
function fsubmit(obj){
objsubmit();
}
function freset(obj){
objreset();
}
</script>
<form id="form1" name="form1" method="post" action="loginasp">
姓名: <input type="text" name="textfield" />
<img src="uploads/200707/30_145425_001jpg" onClick="javascript:fsubmit(documentform1);">
<img src="uploads/200707/30_145428_002jpg" onClick="javascript:freset(documentform1);">
</form>
2、给1的加上style,用于弥补方法1鼠标移到上无反应,未能给客户好的浏览体验
<script language="javascript">
function fsubmit(obj){
objsubmit();
}
function freset(obj){
objreset();
}
</script>
<form id="form1" name="form1" method="post" action="loginasp">
姓名: <input type="text" name="textfield" />
<img src="uploads/200707/30_145425_001jpg" style="cursor:hand;" onClick="javascript:fsubmit(documentform1);">
<img src="uploads/200707/30_145428_002jpg" style="cursor:hand;" onClick="javascript:freset(documentform1);">
</form>
3、用代替提交按钮submit和重置按钮reset,并加上链接,效果同2
<script language="javascript">
function fsubmit(obj){
objsubmit();
}
function freset(obj){
objreset();
}
</script>
<form id="form1" name="form1" method="post" action="loginasp">
姓名: <input type="text" name="textfield" />
<a href="javascript:fsubmit(documentform1);"><img src="uploads/200707/30_145425_001jpg" border="0" /></a>
<a href="javascript:freset(documentform1);"><img src="uploads/200707/30_145428_002jpg" border="0" /></a>
</form>
4、使用图像域。由于默认图像域点击时都是提交表单,因而要进行适当的处理:
<script language="javascript">
function fsubmit(obj){
objsubmit();
}
function freset(obj){
objreset();
}
</script>
<form id="form1" name="form1" method="post" action="loginasp">
姓名: <input type="text" name="textfield" />
<input type="image" name="imageField" onClick="javascript:fsubmit(documentform1);return false;" src="uploads/200707/30_145425_001jpg">
<input type="image" name="imageField2" onClick="javascript:freset(documentform1);return false;" src="uploads/200707/30_145428_002jpg">
</form>
要注意的是JS中表单提交和重置事件后必须加(),如submit()和reset()

两个人都没说到点子上。
其实method的get和post方法的功能是一样的,都是将表单form中的元素传递给servlet进行处理。
相对应的,servlet获取数据时需要调用doget和dopost方法,或者service方法。
而在我们编程序时,竟在把功能性代码放入一个方法内,例如放入doget内,在dopost内只需要写一句,调用doget的方法则可。doget(request,response);
由于两种方法实现的方式与功能一样,所以相同的代码只需要写入一个方法内则可。
两种方式唯一的不同则是传递数据时,浏览器地址栏内是否显示数据。
如果采用get方法,对应的doget方法。那么在页面跳转的时候,浏览器的url地址栏内会出现form表单中元素传递的参数值,例如form=a,user=li,……
这样所有的表单元素中的数据都会显示在浏览器地址栏中,对于网络数据的安全不利,而post方法就不会出现这样的情况,所以多数的时候我们采用post方法传递form表单中的参数。

JSP的说有数据都是通过requestgetParameter()来获得的! 如果接收不到,请确认以下几点 1、你的参数名称是否正确 2、表单的action是否正确 3、你所要接收的元素是否有多个相同的名字

1Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
2Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节
3Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据Post的信息作为>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13355568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存