struts.xml 原始配置文件 配置

<?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>
<!-- 修改常量配置文件方法二 -->
<!-- i18n:国际化 解决post提交乱码 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 指定反向action时的后缀名 -->
<constant name="struts.action.extension" value="action,,"></constant> <!--
设置为true是包括下面的
struts.i18n.reload = true 不需要重启服务器就能重新加载(没用)
### - struts.configuration.xml.reload = true struts不需要重启就能重新加载
### - raising various debug or ignorable problems to errors
-->
<!--
指定struts2是否以开发模式运行
1.热加载主配置(不需要重启服务器即刻生效主配置文件struts.xml)
2.提供更多的错误信息输出,方便开发时的额调试
项目上线的时候记得设置为false,开发阶段设置为true
-->
<constant name="struts.devMode" value="true"></constant> <!--
package:将Action配置封装,就是可以在package中配置很多action
name属性:给包起个名字,随便起,不能其他重复
namespace属性:给action的访问路径定义一个命名空间
extends属性:继承一个指定包
abstract属性:包是否为抽象的,标识属性。表示该包不能独立运行,专门被继承
-->
<package name="hello" namespace="/hello" extends="struts-default">
<!--
action属性:配置action类
name属性:决定Action访问资源名
class属性:action的完整类名
method属性:指定调用action中的那个
-->
<action name="HelloAction" class="com.legend.a_hello.HelloAction" method="hello">
<!--
result元素:结果配置
name属性:标识结果处理的名称,与action中的返回值对应
type属性:指定调用那一个result类来处理,结果默认使用转发
标签体:填写页面的相对路径
-->
<result name="success" type="dispatcher">/hello.jsp</result>
</action>
</package> <!-- 引入其他的struts配置文件 直接选择xml文件copy quan Name选项 -->
<include file="com/legend/b_dynamic/struts.xml"></include>
<include file="com/legend/c_default/struts.xml"></include>
</struts>

struts.xml 配置动态方法

<?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>
<!--
配置动态方法调用是否开启常量
struts.enable.DynamicMethodInvocation = false
-->
<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant> <package name="dynamic" namespace="/dynamic" extends="struts-default">
<!-- 动态方法调用方式2:通配符方式
使用{1} 取出星号通配的内容
-->
<action name="Demo1Action_*" class="com.legend.b_dynamic.Demo1Action" method="{1}">
<result name="success">/hello.jsp</result>
</action> <action name="addCustomerAction" class="com.legend.b_dynamic.Demo1Action" method="add">
<result name="success">/hello.jsp</result>
</action>
<action name="saveCustomerAction" class="com.legend.b_dynamic.Demo1Action" method="save">
<result name="success">/hello.jsp</result>
</action>
<action name="deleteCustomerAction" class="com.legend.b_dynamic.Demo1Action" method="delete">
<result name="success">/hello.jsp</result>
</action>
</package>
</struts>

2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法的更多相关文章

  1. 2018.12.16 struts.xml 结果集方式分析 && 源码查看

    1.结果集 转发 重定向 转发Action 重定向Action <?xml version="1.0" encoding="UTF-8"?> < ...

  2. 2018.12.17 struts.xml 配置自定义拦截器配置

    自定义拦截器有三个步骤哦 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PU ...

  3. Tencent Cloud Developers Conference(2018.12.15)

    时间:2018.12.15地点:北京朝阳悠唐皇冠假日酒店

  4. 2018.12.15 hdu4641 K-string(后缀自动机)

    传送门 后缀自动机基础题. 题意简述:支持动态在串尾插入字符,查询在串中出现超过kkk次的子串的个数. 动态修改samsamsam,每次增量构造好了之后在parentparentparent树上从新建 ...

  5. 2018.12.15 spoj Substrings(后缀自动机)

    传送门 后缀自动机基础题. 求长度为iii的子串出现次数的最大值. 对原串建出samsamsam,然后用sizsizsiz更新每个maxlenmaxlenmaxlen的答案. 然后由于后缀链接将其转化 ...

  6. 2018.12.15 bzoj3998: [TJOI2015]弦论(后缀自动机)

    传送门 后缀自动机基础题. 求第kkk小的子串(有可能要求本质不同) 直接建出samsamsam,然后给每个状态赋值之后在上面贪心选最小的(过程可以类比主席树/平衡树的查询操作)即可. 代码: #in ...

  7. 2018.12.15 spoj Longest Common Substring II(后缀自动机)

    传送门 后缀自动机基础题. 给出10个串求最长公共子串. 我们对其中一个建一个samsamsam,然后用剩下九个去更新范围即可. 代码: #include<bits/stdc++.h> # ...

  8. 2018.12.15 poj3415 Common Substrings(后缀自动机)

    传送门 后缀自动机基础题. 给两个字符串,让你求长度不小于kkk的公共子串的数量. 这题可以用后缀自动机解决废话 考虑对其中一个字串建出后缀自动机,然后用另一个在上面跑,注意到如果一个状态有贡献的话, ...

  9. 2018.12.15 bzoj3676: [Apio2014]回文串(后缀自动机)

    传送门 对原串建立一个后缀自动机,然后用反串在上面匹配. 如果当前匹配的区间[l,r][l,r][l,r]包裹了当前状态的endposendposendpos中的最大值,那么[l,maxpos][l, ...

随机推荐

  1. linux 运维基础之 禁止 ping

    ping命令不要小瞧呀,小伙子!!! 听过死亡之ping不? 语法 ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l ...

  2. zookeeper 编程框架 curator

    Curator框架提供了一套高级的API, 简化了ZooKeeper的操作. 它增加了很多使用ZooKeeper开发的特性,可以处理ZooKeeper集群复杂的连接管理和重试机制. 这些特性包括: 自 ...

  3. 8086实时时钟实验(一)——《x86汇编语言:从实模式到保护模式》05

    1.代码清单 ;代码清单9-1 ;文件名:c09_1.asm ;文件说明:用户程序 ;创建日期:2011-4-16 22:03 ;=================================== ...

  4. pat1011. World Cup Betting (20)

    1011. World Cup Betting (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Wit ...

  5. 从Linux服务器下载文件到本地

    通过安装xshell,连接服务器,通过以下命令可以方便的将服务器的文件下载到本地 #下载一个文件 sz filename #下载多个文件 sz filename1 filename2 #下载dir目录 ...

  6. 简单Java程序向实用程序的过度:二进制文件的读写

    File I/O中常见的文件读写: 1.字节流读写文本文件 FileInputStream; FileOutputStream; 2.字符流读写文本文件 FileReader; FileWriter; ...

  7. My eclipse jdk unbound的解决

    project --> properties --> java build path --> 双击出错的jdk --> alternate jre --> install ...

  8. springboot+mybatis实现登录功能,返回json

    1.新建maven项目(pom) <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  9. Java线程同步打印ABC

    需求: 三个线程,依次打印ABCABCABC.... 方案一: 使用阻塞队列,线程1从队列1获取内容打印,线程2从队列2获取内容打印,线程3从队列3中获取内容打印.线程1把B放到队列3中,线程2把C放 ...

  10. TypeScript 入门笔记

    1.原始数据类型 JavaScript 的类型分为两种:原始数据类型和对象数据类型.原始数据类型包括布尔值.数值.字符串.null.undefined 以及 ES6 中的 Symbol. 前五种数据类 ...