Struts2学习进阶(基础篇四)——编写Action

Struts2学习进阶(基础篇四)——编写Action

说明:本文翻译自struts- 2.0.8 -all\struts-2.0.8\docs\docs\coding-actions.html
 

在使用Struts2标签这一章节中,我们实现了登录表单,在编写Action章节中,我们解释登录表单,并且根据不同的情况返回不同的结果码。

 如果你已经编码完成,你可以用如下链接打开登录的Action

http://localhost:8080/tutorial/Logon.action

 并且输入一个合适的用户名和密码。因为你没有给这个Action任何的行为,映射重新显示了默认的Logon.jsp页面。

 让我们新增一个Action类来使得登录表单更加有意思。

一.      代码

像例子中所示的,我们能够检查用户名和密码的值。如果其中一者或两者都为空,返回输入页面,否则,返回SUCCESS对应的页面,Logon.java对应的代码如下:

package  tutorial;
import  com.opensymphony.xwork2.ActionSupport;
public   class  Logon  extends  ActionSupport  {

    
public String execute() throws Exception {

        
if (isInvalid(getUsername())) return INPUT;
        
if (isInvalid(getPassword())) return INPUT;
        
return SUCCESS;
    }


    
private boolean isInvalid(String value) {
        
return (value == null || value.length() == 0);
    }


    
private String username;
    
public String getUsername() {
        
return username;
    }

    
public void setUsername(String username) {
        
this.username = username;
    }


    
private String password;
    
public String getPassword() {
        
return password;
    }

    
public void setPassword(String password) {
        
this.password = password;
    }


}

二。代码是如何工作的?

 框架自动为我们的usernamepassword属性完成组装功能。我们所需要做的就是核对是否其中有属性为空。


三.   需要记住的东西

 web应用程序中,Action做了重量级的工作。Action与数据库系统和业务规则引擎相互作用,以便我们能够把一些简单的HTML变成复杂的、动态的web体验。

 在做了这些工作之后,Action返回了一个结果码来指明框架下一步应该做什么工作。通常,下一步是跳转到成功结果页面,但在某些情况下,我们需要跳转到错误结果页。还在某一些情况下,Action不用担心产生的回应,仅仅决定哪些逻辑结果需要在下一步呈现。

下一章:选择结果
上一章:使用Struts2的标签

你可能感兴趣的:(Struts2学习进阶(基础篇四)——编写Action)