2016.6.24笔记(2)-第一个Action

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()函数来完成的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值