`
islibra
  • 浏览: 4049 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

学习struts2小记

    博客分类:
  • java
 
阅读更多

struts2的jar包可以从apache的官方网站上下载到,现在已经更新到2.2.3.1版本,其中包含四个文件夹(all):

app:example applications可以看到一些struts2的示例程序,我们做开发的时候需要用到的一些jar包和xml文件可以从这里copy
lib:essential dependencies包含所有的struts2的库文件,使用的时候把需要的jar文件拷到WEB-INF的lib文件夹下即可
docs:Documentation文档
src:Source源码

 

使用struts2框架的一般步骤:

1、复制相应的软件包到项目中:在apps文件夹里面有一个struts2-blank.war压缩包,是提供的最简单的示例程序,里面包含开发基于struts2的web程序所需要的最少的软件包,可以直接将他们copy到工程的WebContent/WEB-INF/lib中,因为在这个目录中的库文件在web应用运行时会被自动增加到classpath中

2、修改Web应用的描述文件web.xml:也可以直接从struts2-blank.war里面copy

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>Struts Blank</display-name>

    <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>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

</web-app>

 

 

3、创建自己的Action:在自己项目的Java Resources/src目录下创建包action(包名自己起),类HelloWorldAction.java,该类继承ActionSupport,并重写execute函数,在我写的这个类里面,只添加了一个属性message,用于在jsp页面显示,并必须添加getXXX()函数,以使jsp页面里可以通过标签访问到该属性

package action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {
	String message;
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public String execute(){
		setMessage("Test success!");
		return SUCCESS;
	}
}

 

 

4、实现jsp显示页面:本例中,通过struts2所提供的<property>标签来显示Action中的数据。<property>标签的value属性指定的是所要输出的属性名称。(其指定的属性必须有getXXX()函数)

注意我在此页面添加了一个超级链接,指向自己创建的Action类,程序运行时由此链接访问Action,Action返回时还是返回本页面。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello World!</h1>
<a href="helloword/HelloWorld">helloServlet</a>
<h1><s:property value="message" /></h1>
</body>
</html>

 

 

5、配置struts.xml:在配置文件中,<action>元素用来定义每一个Action的配置信息,class属性指向我们创建的Action类。而在<action>元素外面还包含了<package>元素,其作用是将Action进行分组。运行时在浏览器中访问Action的URL是与<package>元素的namespace属性的值相关的,具体为:http://IP:port/Web应用名称/namespace/<action>的name属性.action

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />

    <package name="helloword" namespace="/helloword" extends="struts-default">
        <action name="HelloWorld" class="action.HelloWorldAction">
            <result>/index.jsp</result>
        </action>
    </package>
</struts>

 

 

至此,一个简单的基于struts2框架的helloWorld项目就搭建好了,在tomcat下运行,首先进入index.jsp页面,可以看到原始的index页面,点击超级链接,请求访问Action,返回经过Action处理后的index页面。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics