文章标题

转载 2016年05月31日 10:45:36

Struts – html:link 标签的使用
标签用于生成HTML 元素。 在创建超链接时,有两个优点:
(1) 允许在URL 中以多种方式包含请求参数。
(2) 当用户浏览器关闭Cookie 时,会自动重写URL,把SessionID 作为请求参数包含在URL 中,用于跟踪用户的Session 状态。

标签有以下重要属性:
(1) forward:指定全局转发链接。
(2) href:指定完整的URL 键接。
(3) page:指定相对于当前网页的URL。

    <html:rewrite> 用于输出超链接中的URI部分,但它并不生成HTML <a> 元素。URI指的是URL 中协议、主机和端口以后的内容。URI 用于指定具体的请求资源。例如,对于URL:HTTP://localhost:8080/HtmlBasic.do,它的URI为/HtmlBasic.do

示例:
1、创建全局转发链接
首先,在Struts-config.xml 中 元素中定义一个 元素:



接着,在JSP 文件中创建 标签:

Link to Global ActionForward

标签的forward 属性和 元素中的 子元素匹配。以上代码生成如下HTML 内容:
Link to Global ActionFoward
值得注意的是, 的forward 属性只引用Struts-config.xml 配置文件中内的 子元素,如果引用 内的 子元素,在运行时将会抛出异常:
Cannot create rewrite URL: Java.Net.MalfomedURlException: Cannot retrieve ActionForward

2、创建具有完整URL 的链接
如果Web 应用需要链接到其他站点,应该给出其他站点完整URL,例如:

Generate an “href” directly

生成HTML 代码如下:
Generate an “href” directly
值得注意的是,如果指定了 标签的href 属性,即使用户浏览器的Cookie 关闭, 标签也不会把用户SessionID 作为请求参数加和到URL 中。

3、从当前网页中创建相对URL
如果从一个网页链接到同一个应用中的另一网页,可以采用以下方式:

A relative link from this page

标签的 page 属性用于指定相对于当前应用的URI。以上代码生成如下HTML 内容:
……

4、在URL 或 URI 中包含请求参数
如果要在URL或URI 中包含请求参数,只要把请求参数加在URL 或 URI的末尾就可以了。例如:

Hard-code the url parameters



以上代码生成如下HTML 内容:
……
rewrite: /HtmlBasic.do?prop1=abc&prop2=123

提示:在HTML 中&amp 代表特殊字符 "&"

5、在URL 或 URI 中包含单个请求变量

    如果要在URL 中包含一个请求参数,而这人参数的值存在于当前网页可访问的一个变量中,可以按以下方法来实现。
    为了演示这一功能,首先创建一个当前网页可访问的变量。例如,本例中创建了两个变量,一个是字符类型,一个是CustomerBean , 它们存存于一个 page 范围内:
<%
    /* 
     * Create a string object to store as a bean in
     * the page content and embed in this link
     */
    String stringBean = "Value to Pass ont URL";
    pageContext.setAttribute("stringBean", stringBean);
%>
<jsp:useBean id = "customerBean" scope="page" class="htmltaglibs.beans.CurstomerBean"/>
<jsp:setProperty name="customerBean" property="name" value="weiqin"/>
    接着,把这两个变量作为请求参数,加入到URL或URI 中:
<html:link page="/HtmlBasic.do"
                  paramId="urlParamName"
                  paramName="stringBean">
    URL encode a parameter based on a string bean value
</html:link>
<html:link page="/HtmlBasic.do"
                   paramId="urlParamName"
                   paramName="customerBean"
                   paramProperty="name">
    URL encode a parameter based on a customer bean value
</html:link>

rewrite: <html:rewrite page="/HtmlBasic.do"
                                       paramId="urlParamName" paramName="stringBean"/>
rewrite: <html:rewrite page="/HtmlBasic.do"                                            
                                       paramId="urlParamName" paramName="customerBean"
                                       paramProperty="name"/>

<html:link> 标签的 paramId 属性指定请求参数名,paramName 属性指定变量的名字。如果变量为JavaBean ,用paramProperty 属性指定JavaBean 的属性。
对于本例的stringBean,请求参数值为stringBean 的字符串值。对于customerBean,指定了paramProperty 属性,请求参数值为customerBean 的 name 属性值。
以上代码生成如下HTML 内容:
<a href="/HtmlBasic.do?urlParamName=Value to Pass on Url">
    Url encode a paramter based on a string bean value
</a>

<a href="/HtmlBasic.do?urlParamName=weiqin">
    url encode a parameter based on a customer bean value
</a>

rewrite: /HtmlBasic.do?urlParamName=Value to Pass on Url
rewrite: /HtmlBasic.do?urlParamName=weiqin

6、在URL 或 URI 中包含多个请求变量
如果在URL 或 URI 中包含多个请求参数,而这些参数的值来自多个变量,需要先定义一个Map类型的java 类,如java.util.HashMap,用它来存放请求变量。例如:
<%
/*
* Strore values int a Map(HashMap in this case)
* and construct the URL based on the Map
* /
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);
%>
在以上代码的HaspMap 中存放了两个对象,其中第二个对象是个字符串数组。HashMap 被存放在PageContext 中。 接下来就可以把这个HashMap 作为请求参数,加入到URL 或 URI 中:
<%– For this version of the tag: –%>
<%– map = a map with name/value pairs to pass on the url –%>

URL encode a parameter based on value in a Map

<%– Create the same rewrite string for the above link. –%>
rewrite:

<html:link> 标签的name 属性指定包含请求变量的HashMap 对象。HashMap 对象中的每一对"key/value" 代表一对或多对"请求参数名/请求参数值"。以上代码生成如下的Html 内容:
<a href="/HtmlBasic.do?myString=myStringValue&amp;myArray=str1&amp;myArray=str2&amp;myArray=str3">
    URL encode a parameter based on value in a Map
</a>

rewrite:/HtmlBasic.do?myString=myStringValue&amp;myArray=str1&amp;myArray=str2&amp;myArray=str3

posted on 2006-11-09 22:15 水煮三国 阅读(13265) 评论(1) 编辑 收藏 所属分类: OpenSource

修改DEDECMS文章标题长度,解决DEDECMS文章标题显示不全

在用dede调用列表标题出来的时候,会发现标题文字字数显示不完全,那是因为dede默认标题出来长度是30个字符,为了让标题显示完整,要做以下修改!1、进入后台–系统–系统设置–系统基本参数–其他选项–...
  • yxwmzouzou
  • yxwmzouzou
  • 2015年04月29日 11:25
  • 10109

WordPress通过文章ID获取文章标题内容等信息。

使用Wordpress的朋友可能遇到这样的问题,在非single.php页面中我们有时候想要调用当前文章的标题、内容等信息,而Wordpress在生成文章页的时候在各个页面中唯一不变的只有当前的文章I...
  • Q1059081877Q
  • Q1059081877Q
  • 2015年05月30日 22:12
  • 2166

基于标题分类的文章主题句识别与提取方法

基于标题分类的主题句提取方法 基于标题分类的主题句提取方法可描述为: 给定一篇新闻报道, 计算标题与新闻主题词集的相似度, 判断标题是否具有提示性。对于提示性标题,抽取新闻报道中与其最相似的句子作为主...
  • lihaitao000
  • lihaitao000
  • 2016年06月24日 17:53
  • 2978

文章标题上下轮番滚动.zip

  • 2012年09月04日 12:31
  • 28KB
  • 下载

【Java】获取指定HTML 文档指定的body、页中超链接的标题和链接、指定博客文章的内容

  • 2017年08月20日 22:09
  • 2.59MB
  • 下载

文章标题自动标注程序

  • 2015年06月25日 17:04
  • 6.93MB
  • 下载

如何避免贫穷和忙碌,在2018年你需要这样提升自己 2018年01月07日 00:00:00 2099 热文导读 | 点击标题阅读 Java和Android架构2017年总结:文章精选 吊炸天!74

如何避免贫穷和忙碌,在2018年你需要这样提升自己 2018年01月07日 00:00:00 2099 热文导读 | 点击标题阅读 ...
  • starzhou
  • starzhou
  • 2018年01月09日 13:38
  • 40

文章标题 HDU-3067 小t的游戏

小t有点神经质,喜欢发明一些稀奇古怪的游戏,比如说左手和右手打架就是他发明的。 这个周末,小t又发明了一个有趣的硬币游戏:小t手里有6枚硬币,他把硬币分成了两堆,一左一右并排堆放,一堆2个,一堆4...
  • acmliying
  • acmliying
  • 2017年02月26日 14:12
  • 183

Jsoup获取csdn文章链接和标题的方法

附件:jsoup-1.8.1.jar import org.jsoup.Jsoup; import org.jsoup.helper.Validate; import org.jsoup.nodes....
  • fei20121106
  • fei20121106
  • 2015年03月16日 10:47
  • 601

微信公众号所有历史文章的标题/点赞数/阅读数统计

下面这段代码的逻辑起点是页面滑到底部ajax加载的一个链接url_initial(我是在手机微信上在浏览某个公众号的某个页面时send to Chat到自己账号,获得链接后在电脑chrome上打开。通...
  • wkl7123
  • wkl7123
  • 2016年07月28日 02:30
  • 3567
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文章标题
举报原因:
原因补充:

(最多只允许输入30个字)