传智播客学习之面试知识点总结-标签

本文介绍了Struts2框架中html:link与html:rewrite两个标签的功能与用法,详细解释了如何利用这些标签生成完整的超链接路径,包括其优势、注意事项及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传智的学习旅途马上就要结束了,虽然还有二十多天的课程,但是班上已经陆陆续续有人上班了,看着班上的人越来越少,上班的喜讯频频传来,心里真的有点矛盾,很想踏踏实实把课程学完再出去,可是又放不下这边的课程,但是留在学校上课,可能就要错过招聘高峰,真的有些迷茫,虽然已经有不少同学已经提前工作了,最后我还是决定学习完课程再出去找工作,但是为了充分做好准备,并且与和我有同样的经历的朋友们能够顺利面试,将我最近分析过程中,整理一些面试的知识点和大家分享一下。今天主要和大家分享一下<html:link>&<html:rewrite>标签。

1.<html:link>&<html:rewrite>

使用<html:link>标签可以产生一个完整的超链接路径,使用这个标签的好处有以下几点:

优势:

①使用此标签<html:link action=”/action”/>不用关心web应用程序的路径和ActionServlet的映射路径

<html:link>标签可以自动生成完整路径,同时,如果我们在ActionServlet的映射路径变成.htm或者其他,他可以自动去识别,而不需要我们进行其他操作。

②可以自动附加jsessionid参数进行url重写,因为第一次传递的时候我们不知道客户端浏览器是否支持cookie,所以使用这个标签的时候,服务器传递的时候会给客户端传递一个cookie,同时会在url后面加上jsessionid,如果客户端支持cookie,下次会带过去,所以第二次就没有了jsessionid。以保证会话跟踪。

③可以对参数信息进行url编码。

<html:link action=”/action?name=‘莉莉’”/>,虽然它可以把参数带过去,但是没有进行编码。服务器端也必须乱码处理(例request.setCharactorEncoding(“utf-8”)), 但是url地址不允许出现特殊字符,只能是 0-9, a-z ,+ ,对于其他字符我们必须采用十六进制url编码,所以我们应该将‘莉莉’存在一个web变量中(放在四个作用域中的的变量叫web变量),然后进行如下配置

Request.setAttribute(“name”,“莉莉”);

它的第二个和第三个功能我们也可以使用<c:url>标签实现。

注意

这个标签看起来简单,功能强大,但是使用的时候应该注意:

<html:link action=“/action”paramid=“username”paramName=“name” />对于对象属性,我们如下设置:

<html:link action=“/action”paramid=“username”paramName=“user”paramProperty=“username” />

②除了action属性,还可以设置page,herf属性指定路径,但是page指定的是指工程内部的一个页面,而herf后面是一个完整的url

在使用的过程中

应用:

1)解决缓存,我们可以让每次请求的路径都不一样,那么我们可以传一个时间戳参数

2)如果我们想传递多个参数,那么我们可以将多个参数和参数值放在一个hashMap中,然后存到一个作用域中,然后在页面我们通过name属性指定,示例如下:

Map map=new HashMap();

map.put(“username”,“zhang”)

map.put(“uid”,“2”)

request.setAttribute(“person”,map);

<html:link action=“/action”name=“person” />

实际我们这样用的不多,name指javabean对象,对象有一个属性是一个map,那么我们可以用property来指定那么map属性。

<html:rewrite >

这个标签可以生成一个url地址,相当于一个网址

它的用法和<html:link>几乎一样,这里就不罗嗦了。

应用:在form的action我们可以动态生成路径,而不是通过硬编码,通过<html:rewrite >标签实现即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值