2016.6.24笔记(2)-第一个Action

来源:互联网 发布:ubuntu不登录进入终端 编辑:程序博客网 时间:2024/05/21 06:41

Action是什麽

这个 Action 就是在浏览器地址栏输入指定的URL 之后,将会产生出现一个拥有问候信息”Hello World”的页面。

第一个Action

在 Struts2 里面所有的控制部分都是由 Action 来完成的,虽然可以把这句问候信息直接加到 JSP 页面里面,但是为了展示 Struts2 的魅力,在这里暂且大材小用,用 Action 来完成这个功能。

这段代码要完成的功能很简单:
1. 当浏览器向服务端请求这个 Action 的时候;
2. 服务端启动编译并运行这个 Action;
3. 在这个页面里面设置了一个 message 字段。而这个字段将被后续的页面使用到。
4. 设置完 Action 的 message 字段之后,服务端简单的把请求转向 hello.jsp 页面。

这个 Action 存放的目录是:\ww\src\example 下。

package example;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")public class helloworld extends ActionSupport {    public String message;    public String execute() {        message = "hello world!\n";        return SUCCESS;    }    public String getMessage() {        return message;    }}

在这个 Action 中,有一个成员变量 message,并且定义了 getter 方法,这是一种 JavaBean模式,通过这种模式 Action 中的成员可以从页面获取,在 execute()函数中只是简单为message 赋值,最后返回一个成功的字符串,作为整个 Action 的返回类型,通过返回类型就可以在 struts.xml 文件找到对应的返回页面execute 方法是任何一个 Action 都必须实现的方法,也是 Action 中核心的操作

struts.xml 中配置 Action

在有了这段代码之后,为了使用Struts2提供的基础框架,必须向Struts2注册这个Action。于是在struts.xml中添加action子元素。对应的配置代码如下所示:

<action name="helloworld" class="example.helloworld">        <result name="success">hello.jsp</result></action>

作用是:
这段 XML 告知 Struts2 基础框架,将要使用一个名为 helloworld 的 Action,这个 Action对应的类的位置为 example.helloworld.java。它有一个名为 success 的结果页面 hello.jsp 与之对应。

创建视图 hello.jsp

下面要写一个显示页面来输出 hello world!的字样,也就是上面 Action 中定义的 message中的内容.hello.jsp 存放的目录是:\WebRoot。

<%@ taglib prefix="s" uri="/struts-tags" %> <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Hello Page</title></head><body>    The message generated by my first action is :    <s:property value="message" /></body></html>

第一句代码是表明前缀 s 和 Struts2 标签路径 URI 之间建立映射关系,这个 URI 就是前面提到的,Struts 为我们默认定义的。
前缀 s 就是表明所有用到 Struts2 标签的地方就要加上前缀 s。在这个页面上就是使用了一个 property 标签,这个标签包含了一个 value 属性值,通过设置 values 的值,标签就可以从 Action 中获得相应表达式的内容,也就是通过上面Action 中定义的 getMessage()函数来完成的。

0 0
原创粉丝点击