码迷,mamicode.com
首页 > 其他好文 > 详细

struct2(四)编写Struct2 的Action

时间:2014-09-23 22:35:15      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   for   div   2014   sp   

简介:

1.映射一个Action到一个类上面

2.把结果返回到view展示

3.编写Action对应的控制逻辑

 

1. Action Mapping

<action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">

<result name="success">/HelloWorld.jsp</result>

</action>

上面的Action,类HelloWorldAction将会返回HelloWorld.jsp到浏览器

       2. Struts 2 Action Classes

Action类在MVC中是作为控制器,负责的是响应用户的操作,执行业务逻辑(调用其他的类做一些其他的事情),然后返回结果告诉Struct应该响应哪一个页面。

Struct2 的Action类常常扩展自ActionSupport,这个类是有Struct2框架提供的。ActionSupport提供大多数动作的默认的实现,并且实现了Struct2 的接口。自定义的类扩展自ActionSupport,可以重装默认的实现,也可以继承它们。

我们在显示的页面中加上:

<s:form action="hello">

<s:textfield name="userName" label="Your name" />

<s:submit value="Submit" />

</s:form>

希望在展示的时候能够展示欢迎输入人的名称。

我们在HelloWorldAction 加上:

private String userName;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

来记录输入人的名称,并且填入欢迎的信息中。

if (userName != null) {

messageStore.setMessage( messageStore.getMessage() + " " + userName);

}

最后HelloWorldAction为:

import org.apache.struts.helloworld.model.MessageStore;
import com.opensymphony.xwork2.ActionSupport;
 
public class HelloWorldAction extends ActionSupport {
 
    private static final long serialVersionUID = 1L;
 
    private MessageStore messageStore;
    
    private static int helloCount = 0;
    
    private String userName; 

    @Override
    public String execute() throws Exception {
         
        messageStore = new MessageStore() ;
        if(this.getUserName() != null){
            messageStore.setMessage( messageStore.getMessage() + " " + userName); 
        }
        //记录执行的次数
        helloCount++;
        return SUCCESS;
    }
 
   
    public MessageStore getMessageStore() {
        return messageStore;
    }
 
    public void setMessageStore(MessageStore messageStore) {
        this.messageStore = messageStore;
    }
 
    public int getHelloCount() {

        return helloCount;

    }

    public void setHelloCount(int helloCount) {

        HelloWorldAction.helloCount = helloCount;

    }


    public String getUserName() {
        return userName;
    }


    public void setUserName(String userName) {
        this.userName = userName;
    }
}

 

测试:http://127.0.0.1:12345/struct2test/index.action

bubuko.com,布布扣

bubuko.com,布布扣

提交:

bubuko.com,布布扣

struct2(四)编写Struct2 的Action

标签:style   blog   http   color   io   for   div   2014   sp   

原文地址:http://www.cnblogs.com/zhailzh/p/3989083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!