zoukankan      html  css  js  c++  java
  • Strtus2标签<s:url>

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

     

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

     

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

     

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



     

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

     

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



     

    例子:

          

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

     


    includeContext属性

       

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

     


    Method属性


           

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

     


    namespace属性 


           

    1. <!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果-->   
    2.        <s:url var="url" action="mainPage" namespace="user">   
    3.            <s:param name="id" value="123"/>   
    4.        </s:url>   
    5.    结果如下   
    6. lt;a href="user/mainPage?id=123">url</a>  
  • 相关阅读:
    面试高频题:讲讲项目中的技术难点?
    看完本文还不会安装mysql吗?
    spring中如何向一个单例bean中注入非单例bean
    一次性讲清楚spring中bean的生命周期之三:bean是如何实例化的
    java面试一日一题:字节java后端工程师面试题
    VMware 安装 Centos 7 虚拟机配置网络
    基于 Blazor 打造一款实时字幕
    MVP on Board 没用小技巧 👌
    数据治理实践:元数据管理架构的演变
    Apache Superset1.2.0教程(四)—— CentOS环境安装
  • 原文地址:https://www.cnblogs.com/htys/p/3243157.html
Copyright © 2011-2022 走看看