Struts2入门基础之action详解(五)
来源:互联网 发布:淘宝网3元优惠券图片 编辑:程序博客网 时间:2024/06/01 19:06
在Strut2中action有默认的方法execute来执行我们的操作,对于我们的应用很不方便,在这里我们来说一下struts2中action的动态调用和通配符的使用方法。
首先我们来看一下默认的执行方法的调用。以用户登录为例。在这里提供一个login.jsp页面,代码如下:
<form action="login" method="post">帐号<input type="text" name="name"><br />密码<input type="password" name="password"><br /><input type="submit" value="提交"></form>
在action中进行登录的判断,属性值通过set和get方法获得
public class LoginAction extends ActionSupport {private String name;// 帐号private String password;// 密码// 主方法public String execute() {// 如何匹配就返回成功页面if ("hello".equals(name) && "123".equals(password)) {return "success";} else {return "fail";// 失败返回登录页面}}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
struts.xml的配置文件
<struts><package name="default" namespace="/test" extends="/struts-default"><action name="login" class="cn.test.action.TestAction" method="boologin"><result name="hello">/result.jsp</result></action></package></struts>
默认的执行action的方法在struts.xml的配置文件中可以编写method的属性值。
动态调用Action的方法
在动态调用action的方法时,form表单的action的必须改成配置文件中action名称!方法名,代表的是执行action中的那一个方法,代码如下:
<form action="login!boologin" method="post">帐号<input type="text" name="name"><br />密码<input type="password" name="password"><br /><input type="submit" value="提交"></form>
Action类中存在的两个方法分别为execute和boologn,代码如下(set和get方法)在这里面的两个方法都是对登录的验证,代码如下:
public class LoginAction extends ActionSupport {private String name;// 帐号private String password;// 密码// 主方法public String execute() {// 如何匹配就返回成功页面if ("hello".equals(name) && "123".equals(password)) {return "success";} else {return "fail";// 失败返回登录页面}}public String boologin() {// 如何匹配就返回成功页面if ("hello".equals(name) && "123".equals(password)) {return "success";} else {return "fail";// 失败返回登录页面}} }
struts.xml的配置如下
<struts><package name="default" namespace="/test" extends="/struts-default"><action name="login" class="cn.test.action.TestAction" method="boologin"><result name="hello">/result.jsp</result></action></package></struts>
从struts.xml的配置文件中我们可以发现如果Action有很多的方法,那么我们必须配置多个action这样显得页面的繁琐和不利于代码的利用,所以STRUTSz中提供了通配符的调用方法。
通配符调用Action方法
使用通配符的方法调用action的方法,form表单的action为*_*,*代表的是你要使用的那个action,第二个*代表的是你调用action的那个方法,在登录的例子中,form表单的设置如下;
<form action="login_boologin" method="post">帐号<input type="text" name="name"><br />密码<input type="password" name="password"><br /><input type="submit" value="提交"></form>
在Action类中的不变,只是在struts.xml的配置更改如下:
<struts><package name="default" namespace="/test" extends="/struts-default"><action name="login_*" class="cn.test.action.TestAction" method="{1}"><result name="hello">/result.jsp</result></action></package></struts>
这是sruts2中action的调用的两种方法,需要注意的是在通配符调用action的方法在struts.xml的配置文件的设置,特别是*_*代表的是含义。
- Struts2入门基础之action详解(五)
- Struts2入门基础之Action详解(四)
- Struts2基础(Action类应用详解)
- JAVA入门基础详解之五
- struts2的基础之Action
- Struts2.0之Action详解
- Struts2 之二:Action详解
- Struts2框架之Action详解
- Struts2基础之五:action接收传参(读web对象)的三种方法
- Struts2 入门(二) 之 配置文件中的 Action 元素
- Java入门之编程基础(五)
- Java:Struts2之Action基础与配置
- Struts2之Action基础与配置
- Struts2之Action基础与配置
- Struts2.0之Action详解(一)
- Struts2.0之Action详解(二)
- Struts2.0之Action详解(一)
- Struts2.0之Action详解(二)
- ABAP处理日期到任何格式
- sqlserver output
- 浅谈C#闭包
- 网站访问统计,以小时为单位
- C++11 中值得关注的几大变化(详解)
- Struts2入门基础之action详解(五)
- android经常调用的组件
- linux_vmware8+ubuntu12.04搭建hgfs
- 变量名称解析规则
- Linux摄像头编程
- linq学习笔记1
- stl 学习笔记13 advance()distance() iter_swap()
- 大整数加法
- shell每日一句(4)