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. vue-scroller的使用 && 开发自己的 scroll 插件

    vue-scroller的使用 在spa开发过程中,难免会遇到使用scroll的情况,比如下面的: 即,当用户选择好商品之后,点击购物车,就会有一个购物车弹窗,如果选择的商品小于三个,刚好合适,如果多 ...

  2. Python 断言的使用方法

    自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这 ...

  3. spark on yarn模式里需要有时手工释放linux内存

    为什么要提出这个问题? spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED) 然后执行 [spark@master spark--bin- ...

  4. TOJ 3660 家庭关系

    描述 给定若干家庭成员之间的关系,判断2个人是否属于同一家庭,即2个人之间均可以通过这些关系直接或者间接联系. 输入 输入数据有多组,每组数据的第一行为一个正整数n(1<=n<=100), ...

  5. 部署项目到远程tomcat的413 Request Entity Too Large报错处理

    当项目jar包过多时,部署项目会报错而错误原因很清楚了,文件太大了. 因为用了nginx代理,而nginx默认文件大小有限,所以需要设置nginx上传文件大小限制 client_max_body_si ...

  6. 将 flask 中的 session 存储到 SQLite 数据库中

    将 flask 中的 session 存储到 SQLite 数据库中 使用 flask 构建服务器后端时,常需要在浏览器端存储 cookie 用于识别不同用户,根据不同的 cookie 判断出当前请求 ...

  7. SpringBoot | 第二十七章:监控管理之Actuator使用

    前言 随着我们服务越来越多,部署的环境也越来越繁多时,由于各服务都部署在不同的机器上,每当出现问题或者异常时,想快速进行问题的定位就变的麻烦了.所以,本章节开始,开始讲解SpringBoot的监控相关 ...

  8. TD不换行 nowrap属性

    表格table的td单元格中,文字长了往往会撑开单元格,但是如果table都不够宽了,就换行了好像(不要较真其他情况,我只说会换行的情况).换行后的表格显得乱糟糟,不太好看,我不喜欢这样的换行.当然可 ...

  9. 2.C#编程语言

    C#(sharp):是一种编程语言,可以开发基于.net平台的应用.   java即是一种平台,也是一名语言.   在.net平台当中,C#是主流语言.C#语言开发的应用不能脱离.net环境而独立运行 ...

  10. Web开发HTTP中URI和URL的情感纠葛

    作者:郭无心链接:https://www.zhihu.com/question/21950864/answer/66779836来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...