《研磨struts2》 第二章 Struts2的HelloWorld 之从Servlet+JSP+JavaBean实现MVC开始 2(二)

2014-11-24 08:16:59 · 作者: · 浏览: 1
Action接口。注意,在import需要使用的类包的时候,有多个接口都叫Action,选用的一定是Xwork2中的Action(com.opensymphony.xwork2.Action)。
通过上例可以看出,这个类的execute方法,相当于Servlet的doPost/doGet方法。
2.4.4 配置struts.xml

将写好的Action配置到struts.xml中,示例如下:

java代码:
查看复制到剪贴板打印
< xml version="1.0" encoding="UTF-8" >
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">







/s2impl/welcome. jsp



首先清除掉原来的struts.xml中的配置,当然需要保留xml的声明语句,以及DocType定义和根元素定义。然后,在根元素里面开始添加需要的配置。
首先,加入三个常量元素。
设置了程序的运行模式。
设置程序运行所使用的locale
设置程序运行时用的编码方式
正确设置后面两个参数,就可以解决Struts2的中文问题了。
其次,加入package的配置:

这里的name属性是标识符,同一个应用中必须唯一。
extends="struts-default"说明了这个包继承自struts-default(struts-default包在哪儿非常重要,具体的以后再说)。
然后,在元素中加入一个子元素:

这里的name属性是这个action的名字,用于在这个包中唯一标识这个类,class属性是我们自己写的Action的全类名,就是包的路径再加上类的名称。
最后,在action中加入一个result子元素:
/s2impl/welcome.jsp
这里的name属性的值对应着Action的execute方法的返回值toWelcome,这个元素里面的“/s2impl/welcome.jsp”,指明了这个Action运行完之后会跳转到这个指定的welcome.jsp。
2.4.5 制作登录页面

配置完成后,该来制作登录页面了。登录页面跟Model2实现中的页面基本相同,但是也有一些变化。
首先在WebContent下面新建一个s2impl的文件夹,然后把Model2实现中的登录页面和欢迎页面拷贝过来,然后再进行修改,需要修改如下地方:
(1)使用Struts2来实现的时候,不需要 JavaBean的东西了,应该从页面上把使用JavaBean的部分去掉
(2)在登录页面怎么访问这个Action呢?这也是登录页面要修改的地方,应该修改访问的URL成为如下:“/helloworld/helloworldAction.action”,这个URL分为:
“/helloworld”是web上下文
“helloworldAction”是这个包中的一个动作名(的name属性值)。
“.action”是struts2默认处理的后缀
示例代码如下:

java代码:
查看复制到剪贴板打印
<%@ page language="java" contentType="text/ html; charset=gb2312"
pageEncoding="gb2312"%>



Insert title here





账号:

密码:






2.4.6 制作欢迎页面

欢迎页面也有一点改变,由于欢迎页面需要显示的数据被封装在Action里面,要显示这些数据,通常会使用Struts2的标签,先不用去管细节,大致看一下实现即可。示例代码如下:

java代码:
查看复制到剪贴板打印
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>



Insert title here


<%@ taglib prefix="s" uri="/struts-tags"%>
欢迎账号为的朋友来访


2.4.7 测试示例

都修改好了过后,该来运行一下示例了。运行Tomcat服务器,访问http://localhost:9080/helloworld/s2impl/login.jsp。
从界面上看,和Model2实现的登录页面没有什么区别,如图所示
\
图2.20 Struts2的HelloWorld的登录页面
填写账号和密码,然后点击提交,后台Action会输出:

java代码:
查看复制到剪贴板打印
用户输入的参数为===account=Struts2的HelloWorld,password=test,submitFlag=login
然后跳转到欢迎页面,显示如下:
\

图2.21 Struts2的HelloWorld的欢迎页面
很简单的就完成了Struts2的HelloWorld示例。
私塾在线网站