论坛首页 入门技术论坛

Struts1.3 Tag总结之----Link

浏览 1943 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-05-27  

超链接标签 <html:link/>

There are 4 options for rendering the URL of a hyperlink.

href, action, forward, page

 

<html:link forward="global_forward001">Link1</html:link>

forward属性表示去struts-config.xml配置文件的 <global-forwards> 中读取链接位置。

 

<html:link action="Welcome">Link2</html:link>

action属性表示去struts-config.xml配置文件的 <action-mappings> 中读取相应的action,通过action返回URL

 

<html:link href="/strutsProject1/Welcome.do">Link3</html:link>

<html:link href="/strutsProject1/jsp/Welcome.jsp">Link</html:link>

href必须指定[项目根目录],链接可以是具体的jsp页,也可以是一个action

 

<html:link page="/jsp/Welcome.jsp" anchor="A1">Link4</html:link>

    <html:link page="/Welcome.do" anchor="A1">Link4</html:link>

page是相对于[项目根目录]的路径,链接可以是具体的jsp页或一个actionanchor(锚标记)可以指定目的URL的具体位置,通过actino或是jsp都不会丢失。

 

    <html:link page="/Welcome.do" paramId="id" paramName="tagInfo"

paramProperty="imgURL">

这个是给链接带上SINGLE动态的参数,paramId表示链接最后附加参数的名字(Welcome.do?id=),paramName表示在page/request/session范围中存在的对象(如果没有这么一个对象,就会抛出servlet异常),而paramPropertyparamName对应的对象的属性值,这个值会被追加到链接的末尾(Welcome.do?id=test)。也可以不要paramProperty,则paramName对象的toString()方法就会返回该对象的string presentation

 

<html:link scope="session" name="tagInfo" property="param">

这是给链接带上MULTIPLE动态参数,session表示指定范围,可以是page/request/session/application,如果不设置scope,则程序将会从page开始一直向外找到application scope。如果对象不存在,则抛出servlet异常。

name 表示指定范围内的对象,property表示该对象的属性,它必须是java.util.HashMap类型的。这样,HashMap中所有的key,就会被作为用于超链接传递参数的名称,而对应keyvalue,就是hyperlink parameter的值。

也可以不要property,那么 name所表示的对象就应该是一个HashMap,否则就会抛出java.lang.ClassCastException

 

    <html:link action="Welcome">

       <html:param name="a" value=" ${tagInfo.imgURL} "/>

       <html:param name="b" value="bbbb"/>

       This is a Link

</html:link>

Link标签中还可以通过添加param标签生成传递参数。

 

anchor, target, title, titleKey是有用的html:link属性。

 

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics