MyEclipse8 下 Struts2 开发示例

        MyEclipse8 下 Struts2 开发示例       

        分类:            Java.Myeclipse135人阅读评论(0)收藏举报

环境:MyEclipse  Version: 8.0

Struts2 Version: 2.1

MyEclipse Tomcat

 

1、Struts环境搭建

  1.1、新建 Web Project

1.2、为工程添加struts2框架支持,在创建的工程名 MyStruts2上右击选择菜单:" MyEclipse/Add Struts Capabilities  ... "

1.3、在弹出的对话框选择,Struts2.1

1.4、点击完成后,可以看到项目目录多了 Struts 2  Core Libraries 文件夹,同时src 自动生成了struts.xml

生成了一个空的Struts.xml文件:

  1. <?xmlversion="1.0"encoding="UTF-8"?> 
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"  
  3. "http://struts.apache.org/dtds/struts-2.1.dtd"> 
  4. <struts> 
  5.  
  6. </struts>  
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" 
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

</struts> 

  

此外,WebRoot/WEB-INF/web.xml 多出了几行代码:

  1. <filter> 
  2.     <filter-name>struts2</filter-name> 
  3.     <filter-class> 
  4.         org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 
  5.     </filter-class> 
  6. </filter> 
  7. <filter-mapping> 
  8.     <filter-name>struts2</filter-name> 
  9.     <url-pattern>*.action</url-pattern> 
  10. </filter-mapping></web-app> 
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>*.action</url-pattern>
  </filter-mapping></web-app>

 

1.5、运行tomcat 服务器

1.6、部署工程

 

完成后,在浏览器中输入: http://localhost::8080/MyStruts2/ ,就能否正确显示页面。

总结:在MyEclipse8 中对一个项目中添加Struts2 支持方法非常简单,只需要进行简单配置,不用手动创建配置文件。

2、Struts2 简单用例

   示例内容:添加一个action, 在其中处理数据,并将结果显示在页面上。

  2.1  添加一个页面,用于跳转到的位置,如 success.jsp, 将页面放在WEB-INF/pages/目录下,可加强安全,不让用户直接输入网址进入。

         2.1.1 WEB-INF 右击鼠标: NEW/Floder  输入  pages

         2.1.2 左侧树选中WEB-INF/pages右击鼠标:NEW/JSP(Advanced Templates), 输入 success.jsp

       

 

  2.2 添加action, 在struts.xml 源文件中右击鼠标,选择

在弹出的“New Action” 对话框里新建一个Package, 如下图所示

Package的name,相当于java类中的package,而namespace是一个路径,与action名称一起组成action的路径,在页面输入时要添加namespace的路径。

 

继续添加Action的Name,Class以及Results,如下图所示:

注意: 添加Results时, Type选择default,不能选redirect,否则action将不会给页面传参数,当然如果需要传参数,也可以通过在路径后面添加参数的方法把参数带上,如

/WEB-INF/pages/result.jsp? name=${username}。

 

完成上述操作即生成struts.xml文件的如下代码:

  1. <packagename="myactions"namespace="/mypath" 
  2.     extends="struts-default"> 
  3.     <actionname="output"class="myactions.OutputAction"> 
  4.         <resultname="success"> /WEB-INF/pages/Success.jsp </result> 
  5.     </action> 
  6. </package> 
	<package name="myactions" namespace="/mypath"
		extends="struts-default">
		<action name="output" class="myactions.OutputAction">
			<result name="success"> /WEB-INF/pages/Success.jsp </result>
		</action>
	</package>

 

另外上述操作还添加了一个包myactions,以及OutputAction.java文件,包括OutputAction类: src/myactions/OutputAction.java

 

2.3 添加代码逻辑操作,进入OutputAction类:

  1. package myactions; 
  2.  
  3. import com.opensymphony.xwork2.ActionSupport; 
  4.  
  5. public class OutputAction extends ActionSupport { 
  6.     private String Msg;      // 添加一个变量 
  7.     public String getMsg(){  // 添加getter, Success.jsp 可通过${msg} 访问,访问时大小写保持一致 
  8.         return Msg; 
  9.     } 
  10.     /** 
  11.      * @return 
  12.      */ 
  13.     public String execute() { 
  14.         // TODO Auto-generated method stub 
  15.         Msg = "results: " + ("It's" + " an example!"); //显示字符串 
  16.         return SUCCESS; //与上述配置的results 域中的name一致,此处必须大写 
  17.          } 
package myactions;

import com.opensymphony.xwork2.ActionSupport;

public class OutputAction extends ActionSupport {
	private String Msg;      // 添加一个变量
	public String getMsg(){  // 添加getter, Success.jsp 可通过${msg} 访问,访问时大小写保持一致
		return Msg;
	}
	/**
	 * @return
	 */
	public String execute() {
		// TODO Auto-generated method stub
		Msg = "results: " + ("It's" + " an example!"); //显示字符串
		return SUCCESS; //与上述配置的results 域中的name一致,此处必须大写
         }
}

 

2.4 在Success.jsp源代码对msg进行显示:

  1. <body> 
  2.    <!--  This is my JSP page. --> 
  3.    ${Msg} //"Msg" by calling the function getMsg from OutputAction.java  
  4.    <br> 
  5. </body> 
  6. nbsp; 
 <body>
    <!--  This is my JSP page. -->
    ${Msg} //"Msg" by calling the function getMsg from OutputAction.java 
    <br>
  </body>
 

2.5 浏览器输入:http://localhost:8080/MyStruts2/mypath/output.action 访问,显示结果如下

posted @ 2012-09-25 14:33  ajiaju  阅读(332)  评论(0编辑  收藏  举报