(摘自孙卫琴的精通struts)
<html:link>在创建链接时,有两优点:
允许在URL中以多种方式包含请求参数。
当用户浏览器关闭Cookiejf ,会自动重写URL,把SessionID作为请求参数包含在URL中,用于跟踪用户的Session状态。
创建全局转发链接:
在Struts配置文件中<global-forwards>元素中定义一个<forward>元素:
<global-forwards>
<forward name="index" path="/index.jsp"/>
</global-forwards>
在JSP文件中创建<html:link>标签
<html:link forward="index">aa</html:link>
创建具有完整URL的链接
<html:link href=
www.sohu.com>aa</html:link>
注:如果指定了此标签的href属性,用户浏览器的Cookie关闭,此标签也不会把用户SessionID作为请求参数加入到URL中。
从当前网页中创建相对URL
如:<html:link page="/HtmlBasic.do">aa</html:link>
在URL或URI中包含请求参数
只需把请求参数加在URL或URI的末尾即可。
如:
<html:link page="/HtmlBasic.do?prop1=abc&prop2=123">aa</html:link>
注:其中& 表示&
在URL或URI中包含多个请求变量
如果请求的多个请求参数,来自于多个变量,则需要先定义一个Map类型的Java类,用它来存放请求变量
<%
java.util.HashMap myMap=new java.util.HashMap();
myMap.put("myString",new String("myStringValue"));
mymap.put("myArray", new String[]{"str1","str2","str3"});
pageContext.setAttribute("map",myMap);
%>
则所定义的HashMap已经存放到PageContext中,可将其作为请求参数加入:
<html:link page=" /HtmlBasic.do " name = " map ">aa< /html:link >
其生成的HTML内容为:
< a href = " /htmltaglibs/HtmlBasic.do?myString = myStringValue & myArray=str1&myArray=str2&l;myArray=str3 " >aa< /a >