栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Struts标记中的#,%和$号有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Struts标记中的#,%和$号有什么区别?

使用#(井号)

OGNL用于在ActionContext中引用对象,如下所示:

  • objectName
    :ValueStack中的对象(OGNL上下文中的默认/根对象),例如Action属性
  • #objectName
    :对象在ActionContext中,但在ValueStack之外,特别是…
    • #objectName
      :已使用Struts2数据标签以及默认操作范围(例如,
      <s:set name="foo" value="'Testing'" />
      通过引用的
      <s:property value="#foo" />
      )创建的ActionContext对象
    • #parameters.objectName
      :请求参数
    • #request.objectName
      :请求范围的属性
    • #session.objectName
      :会话范围的属性
    • #application.objectName
      :应用程序范围的属性
    • #attr.objectName
      :页面,请求,会话或应用程序范围中的属性(按此顺序搜索)

可以通过以下两种方式之一使上面的作用域映射引用(参数,请求,会话和应用程序):

  • #scopeName.objectName
    要么
  • #scopeName['objectName']

使用%(百分号)

%{ OGNL expression }
用于强制对通常会解释为String文字的属性进行OGNL评估。

例:

<s:property value="myProperty" default="%{myDynamicDefaultValue}" />

@的使用(在符号处)

@符号用于引用静态属性和方法。请注意,您可能需要在Struts2属性中启用它:

struts.ognl.allowStaticMethodAccess=true

例子:

@my.package.ClassName@MY_STATIC_PROPERTY@my.package.ClassName@myStaticMethod

$的使用(美元符号)

Struts2 OGNL没有特别使用美元符号。但是,它可以用于评估正常的JSTL表达式。例如:

Struts2 :(

<h1><s:property value="#pageTitle" /></h1>

相当于…)
JSTL:
<h1>${pageTitle}</h1>




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/435614.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号