再探ModelDriven的原理
来源:互联网 发布:gp2000 编程模式 编辑:程序博客网 时间:2024/06/06 17:11
可以直接看到,在用model Driven的时间会把值直接传到value stack中。
那com.opensymphony.xwork.ModelDriven接口又是做什么的呢? 它会将Object getModel()取得的Model放到ValueStack中。
实现这个接口就是为了把值放到值栈中。
下面解决如何取的问题。这是一个通用的方法。
struts支持OGNL和JSTL,Groovy,Velocity表达式,其中OGNL通常要与struts的标签结合使用,EL一般都是与JSTL结合使用,EL用来获得显示数据,JSTL可以对其进行各种处理。
在使用struts标签的时间,<s:property value="username"/>如果能够取到值,说明这个值就在值栈中,如果在前面加上#之后能够取到,说明它在
Stack Context中。
Struts2为我们定义了许多明明对象,他们分别是"ValueStack","Parameters","Session","Request", "Appliction","Attr",其中"ValueStack"被设置为上下文的根对象。访问非根对象必须加上"#"号,这就是出现"#"的原因。Struts2中的标的处理类,并不是所有都将标签的属性作为OGNL表达式来看待,有时候我们需要设置动态地值,则必须告诉标签的处理类该字符串按照OGNL表达式来处理,%{}符号的作用就是告诉标签的处理类将它包含的字符串按照OGNL表达式处理。 "$"符号用于XML文件中用于获取动态值,与%{}作用类似。
EL与JSTL的区别
EL即Expression Language(表达式语言)EL的语法:${ EL exprission }${ bean.name } 或 ${ bean['name'] }说白了,EL是用来显示数据的,功能跟<%=表达式%> 一样,EL是不需要引入什么东西的JSTL(JavaServerPages Standard Tag Library)JSP标准标签库JSTL标准标签库包括核心标签库和SQL标签库,核心标签库常用的是if和forEach说白了JSTL常实现网页逻辑判断和迭代显示的,需要引入<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>只要JSTL和EL结合,就基本可以让页面再无<% %> jsp代码了。
- 再探ModelDriven的原理
- ModelDriven的原理
- 使用modelDriven的好处及原理
- 三种对象传参和ModelDriven的原理
- struts2的ModelDriven接口
- struts2的ModelDriven
- struts2的ModelDriven
- struts2的modelDriven
- struts2的ModelDriven
- Struts2的ModelDriven机制
- ModelDriven的简单使用
- Struts2的ModelDriven机制
- Struts2的ModelDriven
- modeldriven
- modelDriven
- ModelDriven
- ModelDriven
- ModelDriven
- 重温大师经典:Martin Fowler 的持续集成
- DM9000寄存器功能详细介绍(转)
- ZendFramework学习第三章(核心组件—使用配置数据之从php配置文件中读取数据)
- 对C++的atoi(),substr(),c_str()函数的理解
- MyISAM InnoDB 区别
- 再探ModelDriven的原理
- Ubuntu android开发不识别手机
- MongoDB 客户端 MongoVue
- c++ 特殊符号
- gif 验证码
- FreeMarker:浅尝辄止
- 海量数据处理之Bloom Filter详解
- 做一个像植物大战僵尸的Flash游戏3
- JAVA环境变量的设置