想飞就别怕摔

大爷的并TM骂人

struts2学习笔记(一)--struts.xml配置文件

学习sturts2无非就是学习各种配置而已。最重要的就是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>
    
<include file="login.xml" /><!--将其他的xml文件容纳进来-->

    
<constant name="struts.devMode" value="true" />
    
<!-- 开发模式,更改配置文件无需重启服务器。 -->

    
<constant name="struts.i18n.encoding" value="UTF-8" />
    
<!-- 字符集,页面传递是中文需要使用此配置。解决中文问题。 -->

    
<constant name="struts.custom.i18n.resources" value="i18n" />
    
<!-- 国际化 -->

    
<constant name="struts.i18n.reload" value="false" />
    
<!--国际化是否生效-->

    
<constant name="struts.convention.classes.reload" value="false" />
    
<!-- 配置Convention插件自动重加载映射-->

    
<constant name="struts.convention.action.packages" value="net.shopxx.action" />
    
<!--
        这个属性用于约定Action 类的根包(这个包是Java 类的包,而不是Struts.xml中配置的<package>节点)
        在一个项目中有这样一系列的Java 包,那么当指定convention的这个属性,Struts
        框架就会在你访问特定的URL时会自动的找到所要的请求的实现类。 当你在浏览器中输入:
        http://localhost:8080/HelloWorld.action
        ,Struts会自动的找到并执行com.ZTest.web.action.HelloWorldAction.java类。
        当你在浏览器中输入: http://localhost:8080/test/aaa.action
        ,Struts会自动的找到并执行com.ZTest.web.action.test.aaaAction.java类。
    
-->

    
<constant name="struts.serve.static.browserCache" value="false" />
    
<!--是否struts过滤器中提供的静态内容应该被浏览器缓存在头部属性中-->

    
<constant name="struts.objectFactory" value="spring" />
    
<!-- com.opensymphony.xwork2.ObjectFactory接口 -->

    
<constant name="struts.multipart.maxSize" value="-1" />
    
<!-- multipart请求信息的最大尺寸(文件上传用) -->

    
<constant name="struts.ui.theme" value="simple" />
    
<!-- 默认的UI template主题 -->

    
<constant name="struts.action.extension" value="action" />
    
<!--
        用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login.do的'do'字
    
-->

    
<constant name="struts.convention.result.path" value="/WEB-INF/template/" />
    
<!--
        设置Convention插件定位视图资源的根路径。默认值为/WEB-INF/content
        这个属性用于约定Action类执行完毕以后返回资源的结果路径 当你在浏览器中输入:xxx/HelloWorld.aciton
        ,Struts会自动的找到并执行com.ZTest.web.action.HelloWorldAction.java类,并放回到WEB-INF/template/HelloWorld.jsp。
    
-->

    
<constant name="struts.convention.action.name.separator"
        value
="_" />
    
<!--
        这个属性是约定当一个Java 类 有多个单词组合成的时候,映射的URL地址的时候访问的格式的分隔符。
        如果不指定这个属性,Struts默认的分隔符是 “-”,例如 HelloWorldAction 则访问的URL
        是Hello-World.action 如果指定这个属性是上面的格式,则是没有分隔符,会按照Java 类名直接映射,例如
        HelloWorldAction 则访问的URL 是HelloWorld.action
    
-->

    
<constant name="struts.convention.action.name.lowercase"
        value
="false" />
    
<!--
        是否将Action类转换成小写当一个类的类名是多个单词组合起来的时候,例如 HelloWolrdAction,如果指定了这个属性,
        则访问的地址必须是: HelloWorld.action ,如果不是指定这个属性则是: helloworld.action
    
-->

    
<constant name="struts.convention.default.parent.package"
        value
="default" />
    
<!--
          这个属性指定的是Strtus.xml中配置的 <package>节点的父节点。
      
-->

    
<constant name="struts.freemarker.manager.classname" value="net.shopxx.common.FreemarkerManager" />
    
<!--
        属性指定Struts 2使用的FreeMarker管理器。该属性的默认值是
        org.apache.struts2.views.freemarker.FreemarkerManager,这是Struts
        2内建的FreeMarker管理器。
        struts.freemarker.wrapper.altMap该属性只支持true和false两个属性值,默认值是true。通常无需修改该属性值。
    
-->

    
<!--访问http://localhost:8080/工程名/hello_struts(既可以访问根目录下得Hello.jsp)-->
    
<package name="front" extends="struts-default" namespace="/">
        
<default-action-ref name="errorPage404Action" /><!-- 默认的action -->
        
<action name="errorPage404Action">
            
<result type="redirect">/html/error_page_404.html</result>
        
</action>
        
        
<global-results><!-- 全局的result,只使用与此packeage中的所有action -->
            
<result name="mainpage">/main.jsp</result>
        
</global-results>
        
        
<action name="index" class="com.bjsxt.struts2.front.action.IndexAction1">
            
<!--
                配置了class程序会访问自己的action中的execute方法返回String,如return success
            
-->
            
<result name="success">/ActionIntroduction.jsp</result>
        
</action>
    
</package>

    
<package name="user" extends="struts-default" namespace="/user">
        
<action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction"
            method
="add"><!--加入了method="add"所以会访问UserAction中的add方法(这种方法不建议使用,忘了吧!)-->
            
<result>/user_add_success.jsp</result>
            
<!--
                页面调用<a href="<%=context
                %>/user/userAdd">添加用户</a>【这样会访问】namespace="/user",action名称为name="userAdd"的action中add方法
            
-->
        
</action>
        
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            
<!--
                建议使用的方法在这里,这样配置需要使用的调用发放是(动态调用DMI)
            
-->
            
<result>/user_add_success.jsp</result>
            
<!--
                页面调用<a href="<%=context
                %>/user/user!add">添加用户</a>【这样会访问】namespace="/user",action名称为name="user"的action中add方法
            
-->
            
<!--用于一个action中多个方法对应返回同一个页面,返回不同页面需要配置多个result-->
        
</action>
    
</package>

    
<package name="actions" extends="struts-default" namespace="/actions">
        
<action name="Student*" class="com.bjsxt.struts2.action.StudentAction"
            method
="{1}">
            
<result>/Student{1}_success.jsp</result>
            
<!--
                通配符的使用;jsp中有两个访问连接 <a href="<%=context
                %>/actions/Studentadd">添加学生</a> <a href="<%=context
                %>/actions/Studentdelete">删除学生</a>
                *和{1}就是填充add和delete后所访问action中的方法与jsp 【action中一定会有两个方法一个add一个delete】
            
-->
            
<!--用于一个action中多个方法,返回不同页面。只需配置一个带有通配符的result【约定优于配置】-->
        
</action>
        
<action name="*_*" class="com.bjsxt.struts2.action.{1}Action"
            method
="{2}"><!--第一个*对应{1};第二个*对应{2}-->
            
<result>/{1}_{2}_success.jsp</result>
            
<!-- {0}_success.jsp -->
        
</action>
        
<!--用于多个action中多个方法,返回不同页面。只需配置一个带有通配符的result【约定优于配置】-->
    
</package>

    
<package name="default" namespace="/" extends="struts-default">
        
<default-action-ref name="index"></default-action-ref>
        
<!--默认的action配置-->
        
<action name="index">
            
<result>/default.jsp</result>
        
</action>
    
</package>

</struts>
如果使用struts2的convertion plugin约束,可以完全不用配置action

posted on 2011-12-10 11:20 生命的绽放 阅读(2093) 评论(0)  编辑  收藏 所属分类: Struts2.0


只有注册用户登录后才能发表评论。


网站导航:
 
<2011年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(5)

随笔分类(94)

随笔档案(93)

文章分类(5)

文章档案(5)

相册

JAVA之桥

SQL之音

兄弟之窗

常用工具下载

积分与排名

最新评论

阅读排行榜