struts标签库中ognl表达式获取Action中对象的原理
2015-10-25 21:51
513 查看
在jsp页面通过struts表单提交数据到Action中去,Action执行完毕返回jsp页面通过struts标签表示出值,都是通过Action类的setter和getter存取器,而存取器是根据jsp页面的name值首字母大写,加上get构造成的!
同样,页面中通过struts标签和ognl表达式表示uname时也是一样的
因此,这三处的变量表示应该一样,同理,EL表达式也是类似情况。
<s:form action="User" method="post"> <s:textfield name="<span style="color:#ff0000;">name</span>" label="姓名" required="true"> </s:textfield> <s:password name="password" label="密码" required="true"> </s:password> <s:submit name="submit" value="登录"></s:submit> </s:form>经过过滤器后,struts框架创建UserAction对象,并调用setName1(value)方法;
public class UserAction extends ActionSupport{ private static final long serialVersionUID=1L; private String uname; private String password; public String <span style="color:#ff0000;">getUname</span>(){ return uname; } public void <span style="color:#ff0000;">setUname</span>(String uname){ this.uname=uname; } public String getPassword(){ return password; } public void setPassword(String password){ this.password=password; } public String execute(){ return SUCCESS; } }结果自然是UserAction类无法初始化成功。
同样,页面中通过struts标签和ognl表达式表示uname时也是一样的
<s:property value="<span style="color:#ff0000;">name</span>"/> ,恭喜登陆成功!这也无法正确获取值,应为会调用getName() 方法,但是UserAction中并没有该方法,所以,无法正常获取值。
因此,这三处的变量表示应该一样,同理,EL表达式也是类似情况。
相关文章推荐
- SimpleJdbc: 用于简化数据库操作的Java库
- Struts2基于XML配置文件实现输入校验
- JAVA课后作业
- 医药采购系统的添加用户模块
- (转)Java读带有BOM的UTF-8文件乱码原因及解决方法
- Java 多维数组遍历
- Java中IO流文件读取、写入和复制
- JAVA 对象引用,以及对象赋值
- Spring官网下载dist.zip的几种方法
- java基本教程之join方法详解 java多线程教程
- java学习资料
- java中接口和抽象类的区别
- java使用new Date()和System.currentTimeMillis()获取当前时间戳
- 不用打开Eclipse就可以执行的命令
- Eclipse使用技巧及个性化设计
- 老鸟谈谈JAVA EE的学习
- java 代码格式化
- 【Java基础】Java类及成员和修饰符的关系
- Java中的线程中断:interrupt()、interrupted()和isInterrupted
- struts2 标签问题----escape="false" 这个属性