zoukankan      html  css  js  c++  java
  • Strutes2标签url

      url标签用于创建一个URL。

      在标签体内可以使用param标签,来提供附加的请求参数。如果param标签的value属性是一个数组或者Iterator,那么所有的值都将被附加给URL。

    属性:

    Name Required Default Evaluated Type Description
    action false   false String The action to generate the URL for, if not using value
    anchor false   false String The anchor for this URL
    encode false true false Boolean Whether to encode parameters
    escapeAmp false true false Boolean Specifies whether to escape ampersand & to &amp or not
    forceAddSchemeHostAndPort false false false Boolean Specifies whether to force the addition of scheme, host and port or not
    id false   false String Deprecated. Use 'var' instead
    includeContext false true false Boolean Whether actual context should be included in URL
    includeParams false none false String The includeParams attribute may have the value 'none', 'get' or 'all'
    method false   false String The method of action to use
    namespace false   false String The namespace to use
    portletMode false   false String The resulting portlet mode
    portletUrlType false   false String Specifies if this should be a portlet render or action URL. Default is "render". To create an action URL, use "action".
    scheme false   false String Set scheme attribute
    value false   false String The target value to use, if not using action
    var false   false String Name used to reference the value pushed into the Value Stack
    windowState false   false String The resulting portlet window state

    备注

    (1)如果同时指定了action和value,那么将优先使用value属性的值来生成URL;

    (2)如果action和value属性都没有指定,那么将使用当前页面的URL;

    (3)escapeAmp属性的默认值为true,因此请求参数将使用转义后和号&来分隔(即:&amp)。这是为了和XHTML一致,然而,当使用property标签来输出url标签生成URL时,应该将escapeAmp属性设为false来禁止和号&的转义;

    (4)includeContext属性的默认值为true,即在生成URL中包含Web应用程序的上下文路径,但在与标签的action和value属性一起使用时,其行为会有有些不同。

      当与action属性一起使用时,生成的URL始终会包含上下文路径;

      当与value属性一起使用时,如果value属性是以斜杠(/)开始(例如:/urlTag.action),那么生成的URL将包含上下文路径;如果value属性指定的是相对路径(例如:urlTag.action),那么生成的URL将不包含上下文路径;

    (5)如果includeParams属性的值是get,这生成的URL中将包含GET请求提交的参数;如果值是all,那么生成的URL中也将包含POST请求提交的参数;如果不希望生成的URL中包含任何用户提交的请求参数,那么可以将该属性设为none。

    示例

    使用当前页面URL生成URL
    <s:url/>
    
    使用namepsace和action属性的值生成URL
    <s:url action="urlTag" namespace="/a/b">
    
    使用forceAddSchemeHostAndPort属性强制添加schema、主机和端口
    <s:url value="urlTag.action" forceAddSchemeHostAndPort="true"/>
    
    将includeParams属性设为true,使用嵌套的param标签附加请求参数
    <s:url value="urlTag.action" includeParams="none">
        <s:param name="id" value="1"/>
    </s:url>
    
    使用id属性和escapeAmp属性,在url标签结束后使用property标签输出生成URL
    <s:url value="urlTag.action" id="urlTag" escapeAmp="false">
      <s:param name="id" value="1"/>
      <s:param name="code" value="2"/> </s:url> <s:property value="#urlTag"/>

    注:

    (1)使用嵌套的param标签附加的请求参数,它们的优先级比用户提交的请求参数要高,因此如果原始的请求参数中有同名的参数,那么它将被覆盖;

    (2)指定id属性后,生成的URL将被保存到OgnlContext中;通过将escapeAmp属性设为false来禁止和号&的转义,生成的URL是:urlTag.action?id=1&amp;code=2,浏览器中显示的为:urlTag.action?id=1&code=2。

      如果将escapeAmp属性设为true(默认),那么生成的URL是:urlTag.action?id=1&amp;amp;code=2,浏览器中显示为urlTag.action?id=1&amp;code=2。

  • 相关阅读:
    如何找出数组中重复次数最多的数
    如何计算两个有序整型数组的交集
    如何分别使用递归与非递归实现二分查找算法
    如何用递归算法判断一个数组是否是递增
    如何用一个for循环打印出一个二维数组
    如何用递归实现数组求和
    ElasticSearch安装和head插件安装
    SpringBoot全局异常处理方式
    Redis高级命令操作大全--推荐
    Mysql中FIND_IN_SET和REPLACE函数简介
  • 原文地址:https://www.cnblogs.com/lemon-now/p/5110158.html
Copyright © 2011-2022 走看看