Action的生命周期及调用非execute方法

1、action的生命周期:Struts2中的Action在每一次web请求的时候都要新建一个实例。
2、调用非execute方法
1:配置方式调用
首先要在Action中实现要被调用的方法,这些方法的签名要求除了名字和execute不一样外,其他均应一样,也就是说,这些方法的定义要满足如下要求:
可见性为public
不需要传入参数
返回一个字符串,其实就是指示的下一个页面的result。
可以抛出Exception,当然也可以不抛例外
假设现在要实现新增的功能,可以在Action中定义一个create方法,示例如下:

public String create() throws Exception{  
    System.out.println("现在执行create的处理");  
    return "toWelcome";  

然后修改struts.xml中的配置,在< action>定义里面,添加一个method属性的配置,method属性是用来指示一个Action中的方法,这个方法会在执行Action的时候执行,也就是说,你配置了method属性,Action运行的时候会执行这个方法而不是execute方法,示例代码如下:

<action name="helloworldAction" class="cn.javass.action.action.HelloWorldAction" method="create">  
            <result name="toWelcome">/s2impl/welcome.jsp</result>  
            <result name="input">/s2impl/login.jsp</result>  
</action> 

2:在请求的URL中直接指定的方式
还可以直接在请求的URL中指定要访问的方法,使用这种方法,在Action中还是要按照上面的方式来添加需要被访问的方法,但是struts.xml配置中,就不需要为< action>元素配置method属性了。
在访问的URL上,在action名后直接加上感叹号!和方法名,例如:

<form action="/helloworld/helloworldAction!create.action" method="post">  
    <input type="hidden" name="submitFlag" value="login"/>  
    账号:<input type="text" name="account"><br>  
    密码:<input type="password" name="password"><br>  
    <input type="submit" value="提交">  
</form>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值