注册 登录
MySQL社区 返回首页

往生营的个人空间 http://www.mysqlpub.com/?35692 [收藏] [复制] [RSS]

日志

Struts2配置文件学习

已有 669 次阅读2017-8-4 09:26 |系统分类:转载| javaWeb, Struts2

1.申明:
       首先说明一下convention插件,它是Struts 2中进行注解的时候必须导入的包,提供的是注解功能,同时在Struts2的官方文档中说了,它还提供了实现开发零配置的功能,可以使开发者专注于编码,不用一边编写java一边编写xml。
       当Struts 2启动的时候,convention插件会进行一次Action的查找,然后按照指定的规则,生成namespaces和Action 的名字,当用户访问的时候,只需要根据对应的规则进行访问,就能访问到指定的Action了。

2.生成规则
   
  在此说明一下convention插件对Action的查找规则和URL的生成规则,Convention 插件默认扫描继承了action类的子类和文件名以Action结尾的java文件,默认找的包是struts, struts2, action 或 action的包。例如:
     com.boke.cms.action;
     com.boke.cms.action.manage;
    com.boke.struts.company.details.ShowCompanyDetailsAction
   
    生成namespaces
    找到对应的类后,Convention 插件会根据包名生成namespaces地址
    com.example.actions.MainAction -> /
    com.example.actions.products.Display -> /products
    com.example.struts.company.details.ShowCompanyDetailsAction -> /company/details
  
    生成最终访问地址
    然后根据类名,去除Action后缀,然后取其余部分小写,若有大小写混合,以 - 进行连接生成最终访问地址
    com.example.actions.MainAction -> /main
    com.example.actions.products.Display -> /products/display
    com.example.struts.company.details.ShowCompanyDetailsAction -> /company/details/show-company-details
   
    返回值
    对于返回值,Convention 插件会根据Action的名字+分隔符+返回值.jsp 的结果去指定目录下查找对应的结果文件。

    转载地址: http://www.cnblogs.com/Seanit/p/4620743.html

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

    <!-- 指定由spring负责action对象的创建 -->
    <constant name="struts.objectFactory" value="spring" />
    <!-- 指定默认编码集 ,作用于HttpServletRequest的setCharacterEncoding()和freemarker,vilocity的输出 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <!-- 当struts配置文件修改时是否自动加载 -->
    <constant name="struts.configuration.xmlreload" value="true" />
    <!-- 开发模式下打印详细的错误信息,默认为false -->
    <constant name="struts.devMode" value="true" />
    <!-- 标准的UI主题,默认的UI主题为xhtml,可以为simple,xhtml或ajax -->
    <constant name="struts.ui.theme" value="xhtml" />
    <!-- 让struts2支持动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- 结果result页面存放位置 -->
    <constant name="struts.convention.result.path" value="/WEB-INF/content/" />
    <!-- 默认扫描以Action结尾的类 -->
    <constant name="struts.convention.action.suffix" value="Action" />
    <!-- 指定的包会被进行扫描 -->
    <constant name="struts.convention.package.locators" value="action,actions,struts,struts2" />
    <!--用于生成action名字时的分隔符,比如DemoCustAction会被映射成为demo_cust,同时用于形成返回文件,
           比如访问DemoAction,return的值为input,插件会去指定目录下查找demo_input.jsp文件 -->
    <constant name="struts.convention.action.name.separator" value="_" />
    <!-- Action类文件重新自动加载 -->
    <constant name="struts.convention.classes.reload" value="false" />     
   
   
    <package name="convention-default" extends="struts-default">
    </package>
   
</struts>

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-5-28 11:50 , Processed in 0.043291 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部