• Strtus2标签<s:url>


    在没有使用Struts2的时候可以使用el来进行url传参。而在Struts2中不推荐使用el(其实在Struts2.0.0.11之后就不再支持el)而推荐使用功能更为强大的ognl表达式语言。那么怎么使用ognl实现url传参?

    <s:url>就是解决这一问题的标签

    <s:url>标签一般和超链接 <a>一起使用,用于带多个参数。

    1. <ahref=" 
    2. <s:urlaction=""> 
    3.    <s:paramname=" "value=""></s:param>  
    4.    <s:paramname=" "value=""></s:param>  
    5.    <s:paramname=" "value=""></s:param>  
    6. </s:url>
    7. >测试连接</a> 
    <a href="
    <s:url action="">
       <s:param name=" " value=""></s:param> 
       <s:param name=" " value=""></s:param> 
       <s:param name=" " value=""></s:param> 
    </s:url>"
    >测试连接</a>

    <s:url>生成一个url地址,可以通过url标签制定的<s:param>子元素向URL地址发送请求参数

    1. <s:urlaction=""> 指定请求地址 
    2. <s:paramname=""value=""></s:param> 指定参数 
    3. </s:url> 
    <s:url action=""> 指定请求地址
    <s:param name="" value=""></s:param> 指定参数
    </s:url>

    例子:

         

    1. <!--action是action的名字,为url添加参数使用param标签--> 
    2.  
    3.       <s:urlvar="url"action="mainPage">  
    4.           <s:paramname="id"value="123"/>  
    5.       </s:url>  
    6.  
    7.       <!--使用上面定义的url-->  
    8.       <s:ahref="%{url}">测试连接</s:a>  
    9.  
    10.   该方法在生成的页面源码中生成如下代码  
    11.   <ahref="/NetBookShop_081029/mainPage?id=123">测试连接</a>  
      <!--action是action的名字,为url添加参数使用param标签-->
     
            <s:url var="url" action="mainPage"> 
                <s:param name="id" value="123"/> 
            </s:url> 
    
            <!--使用上面定义的url--> 
            <s:a href="%{url}">测试连接</s:a> 
    
        该方法在生成的页面源码中生成如下代码 
        <a href="/NetBookShop_081029/mainPage?id=123">测试连接</a> 

      

    includeParams属性

           

    1. <!--最重要的属性includeParams,该属性有三个值:none get all,默认值为get-->  
    2.         <!--属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来-->  
    3.         <!--属性值为all时更是将get和post的的参数值全部添加到自身来-->  
    4.         <!--一般我们并不需要额外的参数,所以定义为none-->  
    5.     <s:urlvar="url"action="mainPage"includeParams="none">  
    6.             <s:paramname="id"value="123"/>  
    7.         </s:url>  
    <!--最重要的属性includeParams,该属性有三个值:none get all,默认值为get--> 
            <!--属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来--> 
            <!--属性值为all时更是将get和post的的参数值全部添加到自身来--> 
            <!--一般我们并不需要额外的参数,所以定义为none--> 
        <s:url var="url" action="mainPage" includeParams="none"> 
                <s:param name="id" value="123"/> 
            </s:url> 

    includeContext属性

      

    1. <!--includeContext:有true和false两个值。url中是否包含上下文,也就是在url中的项目名-->  
    2.         <!--这个一般不用改,让它自动包含,否则会定位到服务器的根目录下-->  
    3.         <s:urlvar="url"action="mainPage"includeContext="false">  
    4.             <s:paramname="id"value="123"/>  
    5.         </s:url>  
    6.     生成的url就下面的样子了,注意在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名  
    7. <ahref="/mainPage?id=123">url</a>  
     <!--includeContext:有true和false两个值。url中是否包含上下文,也就是在url中的项目名--> 
            <!--这个一般不用改,让它自动包含,否则会定位到服务器的根目录下--> 
            <s:url var="url" action="mainPage" includeContext="false"> 
                <s:param name="id" value="123"/> 
            </s:url> 
        生成的url就下面的样子了,注意在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名 
    <a href="/mainPage?id=123">url</a> 

    Method属性

          

    1. <!--method用于指定执行action的方法 这个等同于action="mainPage!ok"-->  
    2.        <s:urlvar="url"action="mainPage"method="ok">  
    3.            <s:paramname="id"value="123"/>  
    4.        </s:url>  
     <!--method用于指定执行action的方法 这个等同于action="mainPage!ok"--> 
            <s:url var="url" action="mainPage" method="ok"> 
                <s:param name="id" value="123"/> 
            </s:url> 

    namespace属性

          

    1. <!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果-->  
    2.        <s:urlvar="url"action="mainPage"namespace="user">  
    3.            <s:paramname="id"value="123"/>  
    4.        </s:url>  
    5.    结果如下  
    6. lt;a href="user/mainPage?id=123">url</a> 
  • 相关阅读:
    JS 的加密库简介
    十三、行为型模式之解释器、迭代器-----《大话设计模式》
    十二、行为型模式之中介者、访问者、备忘录-----《大话设计模式》
    十一、行为型模式之模板方法、职责链、策略-----《大话设计模式》
    十、行为型模式之观察者、命令、状态-----《大话设计模式》
    十、行为型模式之观察者、命令、状态-----《大话设计模式》
    九、结构型模式之装饰、组合、外观、享元-----《大话设计模式》
    八、结构型模式之适配器、桥接、代理-----《大话设计模式》
    七、创建型模式之建造者、原型、单例-----《大话设计模式》
    六、创建型模式之工厂模式进化史-----《大话设计模式》
  • 原文地址:https://www.cnblogs.com/yaowen/p/2920596.html
Copyright © 2020-2023  润新知