返回列表 发帖

[原创] [原创]Struts2 Zero configuration

Struts 2的零配置其实不是所有配置都不需要了,主要是靠注解和规则进行配置。零配置主要是在编写Action的同时,简化了struts.xml的配置方式。据说在struts2.1后零配置将整合入codebehind,本工程使用的还是struts2.0.11
我们来看一下项目所需要的jar包,主要是增加codebehind插件。

配置web.xml
    <!-- 配置Struts 2框架的核心Filter -->
    <filter>
       <filter-name>struts</filter-name>
       <filter-class>
           org.apache.struts2.dispatcher.FilterDispatcher
       </filter-class>
       <init-param>
           <param-name>actionPackages</param-name>
           <param-value>com.hopeteam.struts.action</param-value>
       </init-param>
    </filter>
    <filter-mapping>
       <filter-name>struts</filter-name>
       <url-pattern>/*</url-pattern>
</filter-mapping>

struts的过滤器中增加actionPackages,以及配置atcion的包com.hopeteam.struts.action。如果某个Action位于其子包下,如com.hopeteam.struts.action.test.testZeroAction,则零配置可以自动识别test作为testZeroAction的namespace。

testZeroAction.java的代码如下:
package com.hopeteam.struts.action.test;

import org.apache.struts2.config.NullResult;
import org.apache.struts2.config.Result;
import org.apache.struts2.config.Results;

@Results({  
    @Result(name="success", type=NullResult.class, value = "/success.jsp", params = {}),  
    @Result(name="error", type=NullResult.class, value = "/error.jsp", params = {})  
})  
public class testZeroAction {
    private String tip;
    
    public String getTip() {
       return tip;
    }

    public void setTip(String tip) {
       this.tip = tip;
    }

    public String execute() {  
    tip ="Struts2 Zero Configuration测试成功";
        return "success";  
    }  
}  

success.jsp的代码如下:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
    <head>
       <title>success</title>
       <meta. http-equiv="Content-Type" content="text/html; charset=GBK">
    </head>
    <body>
        <s:property value="tip"/>
    </body>
</html>

Struts.xml如下:
<?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>

</struts>

让我们看看部署情况,在浏览器下输入
http://localhost:8080/Struts2ZeroConfig/test/testZero.action,其中Struts2ZeroConfig为工程的名称,testnamespacetestZerotestZeroAction的默认配置.

附件:
天行健,君子以自强不息
地势坤,君子以厚德载物
   黑色海岸线欢迎您

返回列表 回复 发帖