html如何超链接到servlet
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html如何超链接到servlet相关的知识,希望对你有一定的参考价值。
参考技术A 使用html连接到servlet的方法有三种:1、使用超级连接,连接地址指向一个请求,而处理请求的配置就配置到一个servlet,从而实现连接到servlet的功能,如:<a href="test.servlet">send message</a>
2、使用表单提交请求,请求交给servlet处理,如:<form action="test.servlet">...</form>
3、使用ajax提交异步请求,请求交由servlet处理,如:
$.ajax(
url:"test.servlet",
data:,
type:"post",
success:function(text)
); 参考技术B web.xml文件中有配置servlet class到url-pattern的映射。在html中用,<a href="url-pattern"></a>就行了。
点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数
标题的前半部分其实不必赘述,按钮也可以换成超链接。。
假设是需要在A页面上的一个按钮,点击后跳转到B页面,传一些参数后且并B页面的某个js函数可以执行~~
关键在于如何跳转到目标页面之后并「接着」执行「目标页面的js函数」。原因是目标页面的某个js函数原来是需要点击该页面的按钮或超链接才能触发的,但现在需要在跳转到B页面后立即执行!
先不想是从A页面跳转到B页面,假设你想在B页面一打开就执行的话,是需要把代码逻辑写在$(function(){});里面的。这就是一个突破的思路。
我们在A页面定义一个按钮用于触发如题所示的操作:
- <button type="button" class="btn btn-info" onclick="openReport()">打开报表</button>
它对应的js函数为:
- function openReport() {
- window.open("B页面的url?flag=true&A="+a,‘newwindow‘,‘height=1100,width=1400‘);
- }
同时传递了2个参数给目标页面B页面:flag和A。
在B页面的js文件的$(fucntion(){});里面加上这一段代码(关键),如:
- var url = window.location.href;//获取当前浏览器的url
- index = url.indexOf("flag");//判断当前url是否有flag,如果有,说明是从A页面跳转而来的,就执行下面的程序
- if(index !=-1) {//由A页面跳转而来
- //参数准备
- var start = url.indexOf("A");
- var a = url.substring(start + "A".length+1);
- var date = new Date();
- var year = date.getFullYear();//当前年
- var month = date.getMonth() + 1;//当前月(月是从0开始,所以必须加上1)
- month = month<10 ? ("0"+month):month;
- var queryDate = year + month;
- // + "&suffix=" + encodeURI(encodeURI(suffix));
- var url= "ajax的url?A=" + a +"&queryDate=" + queryDate;
- //带参数执行逻辑
- $.ajax({
- url: url, dataType:"html",headers:{"X-Fragment":"_"},
- cache:false,
- success: function(html) {
- //响应成功后的逻辑处理
- }
- });
- }
这段代码是很典型的,对于A页面传递过来的参数的接收在代码的注释中都说明得十分详细。
顺便,还温习了js获取系统年和月的用法。
这里对于flag变量的妙用是一种巧思~~~
来自:http://raising.iteye.com/blog/2283257 iteye 中的尽力而为
以上是关于html如何超链接到servlet的主要内容,如果未能解决你的问题,请参考以下文章
超链接 `<a>` 未调用映射的 Servlet。返回 404:找不到资源 [重复]