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

struts2的默认配置文件struts-default.xml

2017-08-11 18:16 495 查看

(一)struts2的默认配置文件struts-default.xml在struts2-core-XX.jar包的最下面

(二)struts2配置文件中标签的含义
1、package 定义一个包。 包作用,管理action。 (通常,一个业务模板用一个包)
  常见属性及其说明:
(1)name  包的名字;以方便在其他处引用此包,此属性是必须的。 包名不能重复;
(2)extends 当前包继承自哪个包,用于声明继承的包。在struts中,包一定要继承struts-default ;struts-default在struts-default.xml中定的包
(3)abstract  表示当前包为抽象包; 抽象包中不能有action的定义,否则运行时期报错
                    abstract=true  只有当当前的包被其他包继承时候才用!
                    如:
                        <package name="basePackage" extends="struts-default" abstract="true"></package>
                        <package name="user" extends="basePackage">
(4) namespace   指定名称空间,也就是访问此包下的Action需要访问的路径,默认为"/" 作为路径的一部分
                  访问路径=  http://localhost:8080/项目/名称空间/ActionName 2、action   配置请求路径与Action类的映射关系, 常见属性及其说明:
         (1)name  请求路径名称,用于配置Action对象被请求的URL映射
         (2)class 请求处理的aciton类的全名
         (3)method 请求处理方法,设置请求Action对象时,调用对象的哪一个方法。        
3、result:常见属性及其说明:
       (1)name  action处理方法返回值 。
       (2)type  跳转的结果类型,用于设置返回结果的类型,如请求转发,重定向等。
       (3)标签体中指定跳转的页面。
4、include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 
<includefile="struts-default.xml"></include>
(三)struts.xml配置文件常量配置(constant)
<!-- 所有匹配*.action的请求都由struts2处理-->
<constant
name="struts.action.extension" value="action"/>
<!-- 是否启用开发模式-->
<constant
name="struts.devMode" value="true"/>
<!-- struts配置文件改动后,是否重新加载-->
<constant
name="struts.configuration.xml.reload" value="true"/>
<!-- 设置浏览器是否缓存静态内容-->
<constant
name="struts.serve.static.browserCache" value="false"/>
<!-- 请求参数的编码方式-->
<constant
name="struts.i18n.encoding" value="utf-8"/>
<!-- 每次HTTP请求系统都重新加载资源文件,有助于开发-->
<constant
name="struts.i18n.reload" value="true"/>
<!-- 文件上传最大值-->
<constant
name="struts.multipart.maxSize" value="104857600"/>
<!-- 让struts2支持动态方法调用-->
<constant
name="struts.enable.DynamicMethodInvocation" value="true"/>
<!-- Action名称中是否还是用斜线-->
<constant
name="struts.enable.SlashesInActionNames" value="false"/>
<!-- 允许标签中使用表达式语法-->
<constant
name="struts.tag.altSyntax" value="true"/>
<!-- 对于WebLogic,Orion,OC4J此属性应该设置成true-->
<constant
name="struts.dispatcher.parametersWorkaround" value="false"/>
(四)struts.xml配置文件配置实现实例:

开发过程中,可以先将大体架构搭建出来,配置文件以及jsp页面,实现简单框架应用,然后完善细节。
简单分两步:第一,实例模型业务实现以及数据库的设计。第二,前台界面框架的搭建。
1、导入struts相关jar包

2、配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>testBBS1</display-name>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>


<!-- 引入struts2的核心过滤器-->

   <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>

</web-app>

3、开发action
import com.opensymphony.xwork2.ActionSupport;

public class CategoryAction extends ActionSupport{


public String login(){ System.out.println("登陆的方法");return
SUCCESS;}
public String register(){ System.out.println("注册的方法");return
SUCCESS;}

public String list(){

return SUCCESS;

}

public String add(){

return SUCCESS;

}

public String update(){

return SUCCESS;

}

public String delete(){

return SUCCESS;

}

public String addInput(){

return INPUT;

}

public String updateInput(){

return INPUT;

}

}

4、配置struts.xml文件:有多中方法:普通方法与通配符方法
<?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>



<!-- 声明包-->
<package  name="helloWorld"
extends="struts-default" abstract="false"
namespace="/">
   <!-- 定义action
-->
   <action  name="hello"
class="com.bie.HelloAction" method="execute">
       <!-- 显示成功的jsp页面-->
       <result  name="success"
type="dispatcher">success.jsp</result>
   </action>
</package>

<!-- 声明包-->
<package
name="login" extends="struts-default"
abstract="false" namespace="/">
<action
name="login" class="com.bie.RegisterAction"
method="login">
<result
name="success">success.jsp</result>
</action>

<actionname="register"
class="com.bie.RegisterAction" method="register">
<resultname="success">success.jsp</result>
</action>
</package>

<!-- 通配符的实现简单配置-->
<package name="loginRegister"
extends="struts-default" abstract="false"
namespace="/">
<action name="login_*_*"
class="com.bie.RegisterAction" method="{1}">
<result name="success">success.jsp</result>
</action>
</package>

<!--通配符的设置-->
 <package name="admin" namespace="/admin" extends="struts-default" >

   

       <action name="*_*" class="com.sdga.bbs.action.{1}Action" method="{2}">

        <result>/admin/{1}_{2}.jsp</result>

        <result name="input">/admin/{1}_{2}.jsp</result>

       </action>

    </package>

    

    <package name="front" namespace="/" extends="struts-default" >

<!--可以指定默认显示界面-->

    <default-action-ref name="Category-list"/>  

       <action name="Category-list" class="com.sdga.bbs.action.CategoryAction" method="list">

        <result>/index.jsp</result>

         </action>

    </package>

    

</struts>

14     public String login(){
15         System.out.println("登陆的方法");
16         return SUCCESS;
17     }
18
19     public String register(){
20         System.out.println("注册的方法");
21         return SUCCESS;
22     }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: