`

struts2中使用EL问题

阅读更多

According to TLD or attribute directive in tag file, attribute value does not accept any expressions

 

显示这个异常是 因为在struts2的标签内部使用${}这样的方式,会出现。

 

.${}是EL语言的 %{}这样的形式是ognl表过式语言的,在struts2的标签内部,使用%{}这样的形式,在标签外部可以使用${}EL语言的方式

 

Struts 2从 version 2.0.11开始已经不支持struts tag与JSP EL表达式混合使用了(不在struts tag里使用EL还是可以的),而只支持OGNL

 

写道
因为ognl的有些语法跟el表达式很像,在tag包含了对el表达式的支持
会导致一些恶意的ognl也被执行,所以不得不禁止掉了…

 

看来不得不去学习下ongl了。

也听说此ongl很强大。

 

Trick Tip:

对于<s:property>,是使用

<s:property value="#parameters.name " />

而对于<s:set>,则要使用(否则出错):

<s:set name="name" value="#parameters.name[0]" />

 但是如果使用struts include tag来传参数,则<s:property>和<s:set>无法获取传来的参数,如:

  < body >
     
< s:include   value = "/welcome.jsp" >  
           
< s:param name ="name" > Scott </ s:param >
     
</ s:include >
 
</ body >

那么在webcome.jsp 里通过<s:property>和<s:set>无法获取"name"参数:

<s:property value="#parameters.name " />

<s:set name="name" value="#parameters.name[0]" />

而只能够用

<%request.getParameter("name")%>

来获取

 

 

ONGL:http://www.blogjava.net/max/archive/2007/04/28/114417.html

 

写道
Struts 2默认的表达式语言是OGNL,原因是它相对其它表达式语言具有下面几大优势:

1. 支持对象方法调用,如xxx.doSomeSpecial();
2. 支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@format('foo %s', 'bar')或@tutorial.MyConstant@APP_NAME;
3. 支持赋值操作和表达式串联,如price=100, discount=0.8, calculatePrice(),这个表达式会返回80;
4. 访问OGNL上下文(OGNL context)和ActionContext;
5. 操作集合对象。
 
分享到:
评论

相关推荐

    struts-html-el.tld

    struts-html-el.tld

    struts-tiles-el.tld

    struts-tiles-el.tld

    struts jstl el表达式示例代码

    struts jstl el表达式示例代码 struts jstl el 表达式 源码

    struts2标签使用方法

    struts2标签使用方法以及el表达式的使用,整理收集供参考

    struts-el-1.3.10.jar struts-el.jar strutsEL标签库

    struts-el-1.3.10.jar struts-el.jar strutsEL标签库

    Struts2用到的核心jar包

    Struts2用到的核心jar包: ... 在Struts2中提倡使用 freemarker模板,但实际项目中使用jsp也很多。 commons-fileupload-1.2.1.jar 用于实现文件上传功能的jar包。 使用时候将5个Struts2的核心Jar包到WEB-INF/lib/下

    struts2配置详解

    从 Struts1 升级到 Struts2: 1、Struts1 里使用 ActionServlet 作为控制器; Struts2 使用了一个过滤器作为控制器 2、Struts1 中每个 ...5、Struts2 在页面里使用 OGNL 来显示各种对象模型, 可以不再使用 EL 和 JSTL

    struts-logic-el.tld

    struts-logic-el.tld

    Struts2核心包

    Struts2最新版本2.2.1中所设计的核心库文件,包括以下内容: struts2-core-2.2.1.jar:Struts2框架的核心类库。 xwork-core-2.2.1.jar:Xwork核心类库,Struts2在其上构建。 ognl-3.0.jar:对象图导航语言(Object ...

    struts-bean-el

    struts-bean-el

    jsp,struts,EL,session等注意总结集合

    这都是在学习,工作中总结出来的关于jsp,struts,EL,session,以及数据库方面的经验积累,希望对你有所帮助——

    JSP+Struts+JSTL+EL新闻发布系统jsp

    5、本系统采用到的技术:JSP+Struts+JSTL+EL,我本人喜欢JSTL+EL的组合方式,他不景向页面美观! 6、mysql.sql这个文件是mysql的脚本文件,您可以用它来创建数据库! &lt;!DOCTYPE ...

    Struts2中关于ValueStack的一些操作

    1、 ValueStack其实就是一个放置Java对象的堆栈而已,唯一特别的是可以使用EL来获得值堆栈中对象属性的数据,并可以为值堆栈的对象属性赋值。 2、 EL,全称Express Language,即表达式语言。不要被语言吓倒,它是...

    最新Struts2 jar 架包

    整理了1个上午 Oracle+Weblogic,主要内容如下: struts2-core-2.1.8.jar Struts2的核心包 struts2-json-plugin-2.1.8.jar json进行异步...ognl-2.7.3.jar OGNL表达式语言,struts2支持该EL antlr-2.7.6.jar HQL解析

    struts2中的OGNL.ppt

    Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在元素中使用user.username来获取用户的名字,这是通过...

    struts-el.jar

    ...servlet-api.jar slf4j-api-1.3.1.jar slf4j-simple-1.3.1.jar smtp.jar soap.jar spring.jar spring-mock.jar standard.jar

    Struts2+Web常使用的功能经验笔记第1季

    Apache的Struts2已经是很流行的MVC Web框架了,很多Web开发人员都是使用它做为Web...像Struts2的常用配置功能笔者就不在说了,在此结合作者的Web相关技术(Struts2、JSTL、EL……)使用经验做个总结,希望与您有个共鸣。

    从JSTL和STRUTS的TLD文件到自定义EL函数

    从JSTL和STRUTS的TLD文件到自定义EL函数,自己整理的关于jstl和struts标签的使用方法,以及el函数的建立等

    深入浅出Struts2(附源码)

    本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在struts2中spring的插件上了,没有从MyEclipse...

Global site tag (gtag.js) - Google Analytics