stru2中 %, $, #用法

son 2009-11-10 10:41:39
stru2中 %, $, #有什么区别?
<s if test中的条件使用什么语言写的?
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoguangniit 2009-11-12
  • 打赏
  • 举报
回复
“#”主要有三种用途:
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>
xiaoguangniit 2009-11-12
  • 打赏
  • 举报
回复
zcl198715 2009-11-11
  • 打赏
  • 举报
回复
“#”主要有三种用途:
1.访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();
2.用于过滤和投影(projecting)集合,如books.{?#this.price<100};
3.构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}。
“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。
$”有两个主要的用途
1.用于在国际化资源文件中,引用OGNL表达式,例子请参考《在Struts 2.0中国际化(i18n)您的应用程序》
2.在Struts 2配置文件中,引用OGNL表达式
本来还有例子演示的,不过太多了。。呵呵,算了
你自己可以去网上搜下关于OGNL表达式,多得很!
道光2008 2009-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 redlotus_lyn 的回复:]
1.%操作符:

  1>.判断用: <s:if test="%{属性==1}">
  2>.读取资源文件内容: <s:property value="%{getText('资源文件key')}" />

2.$操作符号:

  校验文件(xml)中从资源文件中取得错误信息。
  <field name="caseKbnCd">
<field-validator type="requiredstring">
<message>${getText('MJ0052')} </message>
</field-validator>
  </field>

3.#操作符:
 
  访问非根对象值。
  <s:property value="#request.属性"/>
 
[/Quote]支持
yjailj 2009-11-11
  • 打赏
  • 举报
回复
使用 % 可以调用 后台方法
<s:if value=%{''.equals(bean)} />, getText() 是 ActionSupport 中的方法.

$ 如楼上所说,通常使用在 资源文件, 页面跟后台向资源文件传值时

# 访问作用域中数据. (使用 struts 2 最好把数据存在值栈中,也就是为页面提取的值提供 get 方法)

用熟了 ognl 跟 s 标签 后, EL 跟 jstl 就可以不再使用了
redlotus_lyn 2009-11-10
  • 打赏
  • 举报
回复
<s if test 中使用OGNL表达式写的。
redlotus_lyn 2009-11-10
  • 打赏
  • 举报
回复
1.%操作符:

1>.判断用:<s:if test="%{属性==1}">
2>.读取资源文件内容:<s:property value="%{getText('资源文件key')}" />

2.$操作符号:

校验文件(xml)中从资源文件中取得错误信息。
<field name="caseKbnCd">
<field-validator type="requiredstring">
<message>${getText('MJ0052')}</message>
</field-validator>
</field>

3.#操作符:

访问非根对象值。
<s:property value="#request.属性"/>
"桂林高新杯"软件设计大赛 暨广西首届软件设计大赛 竞赛大纲 1. 初賽竞赛大纲 初赛题目均为基础知识以及开发语言基础选择题,初赛成绩总分为100分。编程语言 Java和C#由参赛选手任选一种。竞赛包含内容请参考以下范围。 "语言基础 "考核要点 "分值 "40 " "C# "1、C#工程管理; " " "2、C#.NET程序结构与数据类型、流程控制、方法的参数传递、程 " " "序调试与异常处理和面向对象编程; " " "3、集合框架、线程和网络编程; " " "4、常用数组操作; " " "5、部署WEB应用、WEB应用的配置和安全; " " "6、.NET Framework2.0、ADO.NET、ASP.NET、XML、Web " " "Service技术。 " "J2EE "1、JavaBean、Servlet、JNDI、JavaMail、JSP、JDBC、EJB、Stru" " "ts、Hibernate、JTA、JTS、JMS、Spring、Web Service; " " "2、流程控制、数组、异常处理和面向对象编程; " " "3、集合框架、线程、网络编程、I/O流、GUI应用、Logging " " "API编程; " " "4、Eclipse工程管理; " " "5、Tomcat、JBoss、WebLogic以及WebSphere技术。 " "软件开发基础 "考核要点 "分值 "30 " "基础知识 "1、数据库基础; " " "2、数据结构; " " "3、程序设计基础; " " "4、网络协议; " " "5、计算机组成原理。 " "数据库应用开发 "考核要点 "分值 "20 " "Oracle10G与SQLS"1、常用数据库基本操作:数据库、表的创建; " "erver2005的应用"2、标准SQL的语句使用、索引、存储过程、触发器使用; " " "3、数据库链接和数据绑定。 " "软件工程应用 "考核要点 "分值 "10 " "基础知识 "1、软件配置管理; " " "2、软件质量保证; " " "3、软件测试; " " "4、软件过程控制与管理; " " "5、软件开发风险管理; " " "6、软件项目跟踪与监控。 " 2. 复赛竞赛大纲 复赛题目全部由编程题组成,需综合考虑程序功能完成程度、程序结构合理性、界面美 观性、程序可读性、代码可维护性、代码Bug率六个方面的要求。竞赛在计算机上完成, 计算机不接入网络,赛前可将要使用到的开发工具、辅助工具、帮助资料等提前准备好 带入竞赛现场。请参考以下范围。 "编程 "考核要点 "分值 "50 " "C# "1、MS Visual Studio .NET2005工程管理; " " "2、常用控件使用。 " " "1、ASP.NET 、ADO.NET、XML、Web Service编程; " " "2、控制结构; " " "3、系统集成、优化。 " "J2EE "1、Eclipse工程管理; " " "2、Eclipse常用插件使用。 " " "1、程序控制结构; " " "2、JSP、JavaBean、Servlet、JDBC、Struts、Hibernate、Spring" " "、EJB、 Web Service、JMS、JTA、JTS技术开发; " " "3、系统集成、优化。 " "数据库应用 "考核要点 "分值 "20 " "数据库应用 "1、数据库应用开发。 " "程序完善 "考核要点 "分值 "30 " "程序完善性 "程序健壮性; " " "程序可读性; " " "代码可维护性。 " 3. 决赛竞赛大纲 决赛在封闭的局域网进行,以团队为单位采用现场竞赛的方式进行,要求参赛选 手按给定的软件设计题目,完成相应软件作品的设计、开发、交付、陈述。作品交付后 ,每队选派一名代表就本队作品向评审专家陈述所完成软件所采用的设计理念、所采用 的技术特点、团队协作方式。赛前各团队可以将竞赛认为一切将有可能用到的开发工 具、辅助工具以及帮助资料、平时积累的经验文档以U盘为载体带入竞赛现场。参赛所用 开发语言由参赛选手任选其一种开发语言。竞赛大纲请参考以下内容和要求。 "设计 "考核要点 "分值 "30 " "设计部分 "1、理解软件设计题目功能需求,并能做出相应分析; " " "2、使用最擅长的分析工具和设计工具建立简明扼要的分析模型、 " " "设计模型,着重体现设计理念、技术特点;所编写设计文档将作为" " "作品提交后向评委陈述必要内容,陈述文档可采用PPT文件模式; " " "3、使用最熟悉的工具设计相应用例模型的数据库模型,将作为向 " " "评委陈述必要内容,陈述文档采用可PPT文件模式; " "编程 "考核要点 "分值 "50 " "

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧