html a href,可以跳转页面,也可以跳转action

本文介绍了HTML的a href标签如何用于跳转到JSP页面或Struts2的action,并讲解了如何通过JavaScript获取当前页面值并传递到action中。使用onclick事件与JavaScript函数结合,实现GET方式传递参数。同时探讨了使用button传递参数的可能性,指出即使没有form,也可通过构造URL以GET方式传递。
部署运行你感兴趣的模型镜像

(1)通过href属性可以跳到一个jsp/html页面,也可以跳到action中。
a:跳到jsp页面(其中 jsp/test.jsp 是你的jsp的相对路径)
b:跳到action中(其中test是你的action在struts.xml中配置的name )


(2)如果跳转到action的参数需要从当前的页面中获取,这时可以通过增加事件来实现:οnclick=getvalue()
例如:你想将标签中的value值传到你的action中
 这是你的 标签:
 这是你的标签 //onclick调用js中函数即可
下面javascript里的函数

function getvalue()
{
    //test为上述 标签的id               
    var myvalue = document.getElementByIdx_x("test").value;

    //test1为上述标签的id;test2是你的action在struts.xml中配置的name
    document.getElementByIdx_x("test1").href = "test2.action?id="+myvalue; 
}

这种使用方式,说明使用的是get方式传递参数,因为使用了?key=value。在后端,使用request.getParameter()方法取值。

 

好奇,如果使用button的方式,怎么把参数传递到后端呢?这里没有form,没法post呀。

如果使用button,也可以利用上面的方式,构造一段url,使用get的方式,传递参数。

 

 function quzhi() {
  var text1 = document.getElementById("name").value; //取得文本框的值
  var text2 = document.getElementById("password").value;
  alert(text1);//网页提示框
  alert(text2);
  var myurl = "Test_01" + "?" + "pname=" + text1 + "&password=" + text2;
  window.location.assign(encodeURI(myurl))
  }

  function quzhi2() {
  var text1 = document.getElementById("name").value; //
  var text2 = document.getElementById("password").value;
  var myurl = "hellow.jsp" + "?" + "pname=" + text1 + "&password="+ text2;
  window.location.assign(encodeURI(myurl))
  }

后端

protected void doGet(HttpServletRequest request, HttpServletResponse 	response) throws ServletException, IOException {
  response.getWriter().append("Served at: ").append(request.getContextPath());

  String strName=request.getParameter("pname");
  String strPassword=request.getParameter("password");
  
  System.out.println(strName);
  System.out.println(strPassword);

  }

 

 

 

参考资料:

JSP<A>标签的href属性

http://blog.sina.com.cn/s/blog_b291c26c0101arar.html

 

使用html <a href=""/>标签连接action的方法

https://www.cnblogs.com/plzdaye/p/3961250.html

 

js实现点击按钮传值

https://www.cnblogs.com/renxiuxing/p/8904211.html

 

您可能感兴趣的与本文相关的镜像

LobeChat

LobeChat

AI应用

LobeChat 是一个开源、高性能的聊天机器人框架。支持语音合成、多模态和可扩展插件系统。支持一键式免费部署私人ChatGPT/LLM 网络应用程序。

除了 `<a>` 标签(即超链接)之外,网页中还有其他多种方式可以实现页面跳转或内容加载。以下是常见的几种方式: 1. **JavaScript 跳转**: - 通过 JavaScript 的 `window.location` 或 `location.href` 实现跳转。 - 示例:`<script>window.location = "https://example.com";</script>` - 这类跳转在爬虫中较难处理,因为需要渲染 JavaScript。 2. **表单提交(Form Submit)**: - 用户填写并提交表单后,会触发页面跳转。 - 示例: ```html <form action="https://example.com/search" method="GET"> <input type="text" name="query"> <input type="submit" value="搜索"> </form> ``` - 爬虫可以通过模拟表单提交的方式获取跳转后的页面。 3. **iframe 嵌入页面**: - 页面中嵌套了另一个网站的 iframe,用户点击 iframe 中的内容可能会跳转。 - 示例: ```html <iframe src="https://example.com/embed"></iframe> ``` 4. **AJAX 请求加载新内容**: - 使用 AJAX 技术动态加载数据,不刷新整个页面。 - 这种方式常用于现代 Web 应用(如 SPA),爬虫需解析 API 接口来获取数据。 5. **重定向(HTTP 3xx 状态码)**: - 服务器返回 301、302 等状态码,浏览器自动跳转到新地址。 - 示例:访问 `http://old-page.com` 后自动跳转到 `https://new-page.com`。 6. **锚点跳转(Anchor)**: - 通过 URL 中的 `#` 符号进行页面跳转。 - 示例:`<a href="#section1">跳转到章节一</a>` 7. **按钮事件触发跳转**: - 某些按钮绑定点击事件,触发 JavaScript 跳转。 - 示例: ```html <button onclick="window.location.href='https://example.com'">点击跳转</button> ``` 8. **图片点击跳转**: - 图片被包裹在 `<a>` 标签中,点击图片即可跳转。 - 示例: ```html <a href="https://example.com"><img src="image.jpg"></a> ``` 9. **视频或音频播放跳转**: - 视频或音频控件可能包含跳转链接,比如“了解更多”按钮。 ### 总结: 除了 `<a>` 标签外,页面跳转还可以通过 JavaScript、表单、iframe、AJAX、重定向等多种方式实现。对于爬虫来说,这些非标准跳转方式通常更复杂,可能需要使用工具如 Selenium 或 Puppeteer 来模拟浏览器行为。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值