转载 Struts2之------Action类中的get,set方法和execute方法的使用规范和使用流程(规范是没有理由的,必须遵守!!!)
1,Action中get,set方法的使用流程?
前台form中有一个<input type="text" name="username"/>
如果传到action。在action中应该有一个属性,名字也叫username;而且这个username有get/set方法,其中get方法的命名必须为getUsername,其中set方法的命名必须为setUsername。这里方法名称按java Bean的规定。注意不是setUserName和getUserName。
当struts接受这个action请求时,struts调用 username的set方法把前台的值传到action中的username,当action处理完成,要返回到页面时。在生成jsp的过程中,你可以在页面中使用EL,${username},这时调用username的get方法。
例如下边实例:
class Bean{ //普通公有属性 public Integer id; //标准的java bean set/get方法 private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }2,还有,get方法的命名,为什么一定要,比如参数a,get一定要命名为getA();geta()则不行。如果参数是A呢,get什么?参数命名为A就不正确,不符合规则。所以不存在问题。
上边问题中的命名方法getA是按java Bean的规定来命名的。这个标准就是java bean的标准,标准包括标准的set/get方法相关的东西。这个是开发struts的人定的标准,并没有特定的意义,只是为了让它规范化,有一个统一的标准。
如果你知道什么是javaBean,你就知道属性abc的get/set方法为什么是setAbc/getAbc
更深层次,你就应该了解Ioc,控制反转
3,Struts2中Action必须实现execute方法吗?不必须,可以指定处理方法。
你配置里写了method={1}就会调用对应的方法,只有当你没指定method时,struts2才会默认调用execute 方法。
<package name="helloworld" extends="struts-default">
<action name="hello"
class="MyFirstPackage.HelloworldAction"
method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
@总结:
1,规范是没有理由的。跟if...else一样,java语法就是这样定的,没有为什么。
2,在action中,必须要有对应的get和set方法,只要有get和set方法,action中值就能获取到,值都能传到前台。
转载 Struts2之------Action类中的get,set方法和execute方法的使用规范和使用流程(规范是没有理由的,必须遵守!!!)的更多相关文章
- Object类中wait代餐方法和notifyAll方法和线程间通信
Object类中wait代餐方法和notifyAll方法 package com.yang.Test.ThreadStudy; import lombok.SneakyThrows; /** * 进入 ...
- Object类中wait带参方法和notifyAll方法和线程间通信
notifyAll方法: 进入到Timed_Waiting(计时等待)状态有两种方式: 1.sleep(long m)方法,在毫秒值结束之后,线程睡醒,进入到Runnable或BLocked状态 2. ...
- 在Action类中获得HttpServletResponse对象的四种方法
在struts1.xAction类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得Ht ...
- Android中Looper的quit方法和quitSafely方法
Looper是通过调用loop方法驱动着消息循环的进行: 从MessageQueue中堵塞式地取出一个消息.然后让Handler处理该消息,周而复始.loop方法是个死循环方法. 那怎样终止消息循环呢 ...
- 关于Object类的equals方法和hashCode方法
关于Object类的equals的特点,对于非空引用: 1.自反性:x.equals(x) return true : 2.对称性:x.equals(y)为true,那么y.equals(x)也为tr ...
- Action类中获取request等对象的方法
struts2中的action类中,SevletActionContext可以获取
- Struts2 之 Action 类访问 WEB 资源
接着上次博客的内容我继续分享我所学到的知识,和自己在学习过程中所遇到问题以及解决方案.当然,如果读者发现任何问题均可以在下方评论告知我,先谢! 在 Action 中访问 WEB 资源 web 资源 所 ...
- action类中属性驱动和模型驱动的区别
1.Struts2的属性驱动 在Action类中,属性××通过get××()和set××()方法,把参数在整个生命周期内进行传递,这就是属性驱动 代码如下: package org.abu.csdn. ...
- 在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法
在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法 ==========方法1: --------1. 选相应 ...
随机推荐
- ivew url 的输入
1. <FormItem label="链接" prop="url"> <Input v-model="formValidate.u ...
- HTML知识梳理(笔记)
HTML常见元素 meta 定义和用法<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. <meta> 标 ...
- python基础:3.高级运算符
1.异或运算 十进制的异或运算,先转成二进制进行异或,按位进行比较,对应位置相同则为0,对应位置不同则为1,,再从异或结果转成十进制. python中: 1 ^ 1 = 0 1 ^ 2 = 3 1 ^ ...
- centos 6.5 解压 tar
只查看 tar 文件内容而不解压 tar -tvf filename.tar 解压到指定目录(没有指定则为当前目录) tar xvf filename.tar -C /usr/file 压缩为 tar ...
- [转]Windows 10 无法访问共享的解决办法大全
本文前面介绍 Windows 10 操作系统无法访问其他电脑的共享文件夹,而其他电脑访问该共享可以访问的解决办法. 简单点说就是,你的操作系统是 Win10 ,你访问不了某台电脑的共享,但是别人可以. ...
- JS中的一些遍历方法
1.遍历数组 以下遍历方法中for循环性能最好,而且优化版for循环性能最高.只有forEach不能跳出循环. 在循环数组时,如果在循环过程中对数组进行了增删改,那么在后面的每次循环中,进行操作的都是 ...
- CSD编码----数字信号处理--006
有符号数(Signed Digit Number , SD) SD编码 1.有三重值 {0,1,-1} 2.应用在不用进位的加法器或乘法器中能够降低复杂性 因为通常可以通过非零元素的数来估计乘法的工作 ...
- Navicat for Mysql 连接报错1251[已解决]
因为mysql是8.0.11的版本,比较新的mysql采用新的保密方式所以旧的修改密码的方式似乎不能用, 新版本改密码方式: use mysql; ALTER USER 'root'@'localho ...
- <HTTP权威指南>记录 ---- 网络爬虫
网络爬虫 网络爬虫(web crawler)能够在无需人类干预的情况下自动进行一系列Web事务处理的软件程序.很多爬虫会从一个Web站点逛到另一个Web站点,获取内容,跟踪超链,并对它们找到的数据进行 ...
- html标签结构总结
html如果看作一个房子的话,那么元素可以看成毛坯房,属性可以看成精装修,由css和js实现的 1. 元素: HTML网页实际上就是由许许多多各种各样的HTML元素构成的文本文件,并且任何网页浏览器都 ...