您的位置:首页 > 编程语言 > Java开发

Struts2 Hello,Wold

2009-02-07 11:28 246 查看
现在以Struts2的方式来做一个Hello,world的实例程序。创建这样一个程序,至少需要下面这些元素:

1. 创建一个Action类:HelloAction.java

2. 创建一个jsp页面:hello.jsp

3. 配置struts.xml

首先先来创建一个Action,Struts2的Action可以是一个简单的JavaBean(包含一些属性并有get和set方法):

 

1: package com.kay.action;


2: 


3: public class HelloAction {


4: 


5:     //属性


6:     private String userName;


7:     private String userPwd;


8:


9:     //属性的get和set方法


10:     public String getUserName() {


11:         return userName;


12:     }


13:     public void setUserName(String userName) {


14:         this.userName = userName;


15:     }


16:     public String getUserPwd() {


17:         return userPwd;


18:     }


19:     public void setUserPwd(String userPwd) {


20:         this.userPwd = userPwd;


21:     }


22:


23:     /**


24:      * Struts2中Action执行的方法


25:      * @return result code


26:      * @throws Exception


27:      */


28:     public String execute()throws Exception{


29:         userName = "Kay";


30:         return "success";


31:     }


32: }


从上面的Action中看出,就是在JavaBean中放入一个execute方法,在该方法中给属性userName赋值并返回了一个“success”字符串。

下面再来创建显示页面hello.jsp:

1: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


2: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


3: <html>


4:   <head>


5:     <title>hello.jsp</title>


6:   </head>


7:   <body>


8:欢迎你!${userName } <br>


9:   </body>


10: </html>


这个页面中使用EL表达式来显示用户名。

有了Action和jsp页面,那么让它们之间产生关系的就是struts.xml配置文件,首先需要在struts.xml配置文件中引入struts2.1的dtd,这段代码可以在引入的struts-core-2.1.6.jar中的struts-2.1.dtd文件中可以找到:

1: <!DOCTYPE struts PUBLIC


2:     "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"


3:     "http://struts.apache.org/dtds/struts-2.1.dtd">


然后在struts.xml中配置Action:

1: <?xml version="1.0" encoding="UTF-8"?>


2: <!DOCTYPE struts PUBLIC


3:     "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"


4:     "http://struts.apache.org/dtds/struts-2.1.dtd">


5: <struts>


6:     <package name="helloWorld" extends="struts-default">


7:         <!-- action节点配置Action


8:    name:请求的Action名称


9:         class:对应的Action类


10:          -->


11:         <action name="hello" class="com.kay.action.HelloAction">


12:             <!-- 根据返回的字符串指定跳转到相应的页面 -->


13:             <result name="success">/hello.jsp</result>


14:         </action>


15:     </package>


16: </struts>


在上面的配置文件中,需要重点关心的是action节点,name属性对应了一会要在浏览器中请求的action的名称,class属性则是请求的action的完全限定名称,action节点中还有result子节点,该子节点中的name属性对应Action中execute方法返回的字符串,节点内容则是跳转到相应页面的路径。

到这里,helloworld实例的全部代码就完成了,需要在浏览器中测试代码的运行结果,在浏览器中输入http://localhost:8080/s2/hello.action,会出现以下结果:





需要注意的是在Struts2中Action默认的后缀名为.action,也可以在配置文件中更改此默认的后缀名,这个后面会提到。

到这个实例结束,web工程的截图应如下所示:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: