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-tiles-el.tld
struts jstl el表达式示例代码 struts jstl el 表达式 源码
struts2标签使用方法以及el表达式的使用,整理收集供参考
struts-el-1.3.10.jar struts-el.jar strutsEL标签库
Struts2用到的核心jar包: ... 在Struts2中提倡使用 freemarker模板,但实际项目中使用jsp也很多。 commons-fileupload-1.2.1.jar 用于实现文件上传功能的jar包。 使用时候将5个Struts2的核心Jar包到WEB-INF/lib/下
从 Struts1 升级到 Struts2: 1、Struts1 里使用 ActionServlet 作为控制器; Struts2 使用了一个过滤器作为控制器 2、Struts1 中每个 ...5、Struts2 在页面里使用 OGNL 来显示各种对象模型, 可以不再使用 EL 和 JSTL
struts-logic-el.tld
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
这都是在学习,工作中总结出来的关于jsp,struts,EL,session,以及数据库方面的经验积累,希望对你有所帮助——
5、本系统采用到的技术:JSP+Struts+JSTL+EL,我本人喜欢JSTL+EL的组合方式,他不景向页面美观! 6、mysql.sql这个文件是mysql的脚本文件,您可以用它来创建数据库! <!DOCTYPE ...
1、 ValueStack其实就是一个放置Java对象的堆栈而已,唯一特别的是可以使用EL来获得值堆栈中对象属性的数据,并可以为值堆栈的对象属性赋值。 2、 EL,全称Express Language,即表达式语言。不要被语言吓倒,它是...
整理了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的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在元素中使用user.username来获取用户的名字,这是通过...
...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
Apache的Struts2已经是很流行的MVC Web框架了,很多Web开发人员都是使用它做为Web...像Struts2的常用配置功能笔者就不在说了,在此结合作者的Web相关技术(Struts2、JSTL、EL……)使用经验做个总结,希望与您有个共鸣。
从JSTL和STRUTS的TLD文件到自定义EL函数,自己整理的关于jstl和struts标签的使用方法,以及el函数的建立等
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在struts2中spring的插件上了,没有从MyEclipse...