`

struts2 井号,星号,百分号的含义和使用举例

阅读更多
struts2 OGNL,struts2 表达式语言,Struts2 中OGNL表达式的用法,Struts2 #,表达式语言的好处,Struts2 $,struts2 井号,星号,百分号


表达式语言主要有以下几大好处: 
 
   1. 避免(MyType) request.getAttribute()和myBean.getMyProperty()之类的语句,使页面更简洁; 
   2. 支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能; 
   3. 简单明了地表达代码逻辑,使用代码更可读与便于维护。


Struts2 中OGNL表达式的用法:

OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言;

“#”主要有三种用途: 
 
   1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性: 
       名称   作用 例子 
      parameters    包含当前HTTP请求参数的Map    #parameters.id[0]作用相当于request.getParameter("id") 
      request   包含当前HttpServletRequest的属性(attribute)的Map    #request.userName相当于request.getAttribute("userName") 
      session   包含当前HttpSession的属性(attribute)的Map   #session.userName相当于session.getAttribute("userName") 
      application   包含当前应用的ServletContext的属性(attribute)的Map     #application.userName相当于application.getAttribute("userName") 
      attr 用于按request > session > application顺序访问其属性(attribute)    #attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止 
   2. 用于过滤和投影(projecting)集合,如books.{?#this.price<100}; 
   3. 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}。 


“%”的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。例如在Ognl.jsp中加入以下代码: 
<hr /> 
    <h3>%的用途</h3> 
    <p><s:url value="#foobar['foo1']" /></p> 
    <p><s:url value="%{#foobar['foo1']}" /></p> 


“$”有两个主要的用途 :  
   1. 用于在国际化资源文件中,引用OGNL表达式,例子请参考《在Struts 2.0中国际化(i18n)您的应用程序》 
   2. 在Struts 2配置文件中,引用OGNL表达式,如 
      <action name="AddPhoto" class="addPhoto"> 
                  <interceptor-ref name="fileUploadStack" />             
                  <result type="redirect">ListPhotos.action?albumId=${albumId}</result> 
              </action>
分享到:
评论

相关推荐

    struts2 井号,星号,百分号的含义和使用举例.doc

    总结起来,Struts2中的井号(#)、星号(*)和百分号(%)在OGNL表达式语言中有着特定的含义和用法,它们极大地提高了代码的可读性和维护性,简化了Web应用开发中的数据处理和逻辑表达。通过熟练掌握这些符号的使用...

    struts1和struts2的区别

    它分为两个版本:Struts1 和 Struts2。虽然两者都基于模型-视图-控制器(MVC)设计模式,但它们之间存在诸多差异。了解这些差异对于选择合适的技术栈、优化开发流程至关重要。 #### Action处理机制 - **Struts1**:...

    使用Struts 2框架开发租房网站

    在开发租房网站的过程中,学生将学习如何创建Action类、配置struts.xml、设计数据库模型、编写DAO和Service层代码、实现页面交互以及使用Struts 2提供的各种功能来优化用户体验。这将帮助他们掌握Web应用开发的基本...

    struts2jar包

    在使用Struts2进行开发之前,我们需要先将Struts2的jar包引入到项目中,这样才能利用其提供的API和服务。 Struts2的核心jar包通常包括以下几个部分: 1. **struts2-core.jar**:这是Struts2的核心库,包含了框架的...

    struts应用举例2

    在"Struts应用举例2"中,我们将深入探讨Struts框架的核心概念、工作原理以及如何在实际项目中应用。 一、Struts框架概述 Struts是一个基于MVC(Model-View-Controller)设计模式的框架,它的出现是为了简化JavaWeb...

    Struts2漏洞检查工具Struts2.2019.V2.3

    使用此工具可以帮助企业及时发现并修复Struts2框架中的安全漏洞,减少网络安全风险,确保数据和系统的安全。同时,对于开发者来说,了解Struts2的安全隐患以及如何避免它们是至关重要的,这样才能更好地保障应用的...

    struts2jar.zip

    总的来说,"struts2jar.zip"压缩包是一个实用的学习资源,涵盖了从基础到进阶的Struts2知识,通过阅读提供的说明和实践例子,可以帮助开发者快速掌握Struts2框架的使用。在实际开发中,结合具体的项目需求,可以灵活...

    Struts2视频教程

    - **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...

    struts2 使用范例

    在“struts2 使用范例”中,我们将深入探讨如何使用Java和Struts2框架进行实际的开发工作。 首先,我们需要了解Struts2的基础架构。Struts2的核心是Action类,它是业务逻辑处理的中心。Action类负责接收来自客户端...

    Struts2接口文档

    总的来说,Struts2接口文档是学习和使用Struts2框架不可或缺的工具,它能帮助开发者高效地理解和使用框架提供的各种组件和接口,提升开发效率,减少错误,并有助于深入理解MVC模式在实际项目中的应用。通过仔细研读...

    struts2 总结工程大全

    struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...

    Struts1和Struts2区别

    Struts1和Struts2是两个非常著名的Java Web框架,它们都由Apache软件基金会开发,用于构建MVC(Model-View-Controller)架构的应用程序。虽然它们在目标上相似,但在设计模式、功能特性和使用体验上存在显著差异。...

    struts2帮助文档

    struts2的概述struts2下的HelloWord struts2基础 struts2做好准备 struts2的标志 struts2的Action讲解 struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中...

    Struts2漏洞测试

    Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...

    struts2中#号的用法

    ### Struts2中#号的用法详解 在Struts2框架中,`#`符号是一种非常重要的语法元素,主要用于访问上下文中的变量。本文将详细介绍`#`符号的使用方法及其应用场景,帮助读者更好地理解和掌握Struts2框架的相关知识。 ...

    Struts2+Jquery+Ajax

    通过理解MVC模式、熟练掌握Struts2的配置和Action处理、灵活运用Jquery和Ajax,可以大大提高开发效率,提升用户使用体验。在实际开发过程中,还需要关注安全问题,如Struts2的安全漏洞,确保应用的稳定性和安全性。

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    Struts1和Struts2的区别和对比

    Struts1和Struts2是两个非常著名的Java Web框架,它们在设计模式、可测试性、输入处理和表现层等方面存在显著的区别。 首先,Action类的设计有所不同。在Struts1中,Action类需要继承一个抽象基类,这限制了Action...

    使用Struts 2标签的注意事项

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` 这段代码定义了Struts 2的核心Filter,并将其映射到所有的请求上。 其次...

Global site tag (gtag.js) - Google Analytics