2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法
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 一般配置文件写法 && 配置动态方法的更多相关文章
- 2018.12.16 struts.xml 结果集方式分析 && 源码查看
1.结果集 转发 重定向 转发Action 重定向Action <?xml version="1.0" encoding="UTF-8"?> < ...
- 2018.12.17 struts.xml 配置自定义拦截器配置
自定义拦截器有三个步骤哦 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PU ...
- Tencent Cloud Developers Conference(2018.12.15)
时间:2018.12.15地点:北京朝阳悠唐皇冠假日酒店
- 2018.12.15 hdu4641 K-string(后缀自动机)
传送门 后缀自动机基础题. 题意简述:支持动态在串尾插入字符,查询在串中出现超过kkk次的子串的个数. 动态修改samsamsam,每次增量构造好了之后在parentparentparent树上从新建 ...
- 2018.12.15 spoj Substrings(后缀自动机)
传送门 后缀自动机基础题. 求长度为iii的子串出现次数的最大值. 对原串建出samsamsam,然后用sizsizsiz更新每个maxlenmaxlenmaxlen的答案. 然后由于后缀链接将其转化 ...
- 2018.12.15 bzoj3998: [TJOI2015]弦论(后缀自动机)
传送门 后缀自动机基础题. 求第kkk小的子串(有可能要求本质不同) 直接建出samsamsam,然后给每个状态赋值之后在上面贪心选最小的(过程可以类比主席树/平衡树的查询操作)即可. 代码: #in ...
- 2018.12.15 spoj Longest Common Substring II(后缀自动机)
传送门 后缀自动机基础题. 给出10个串求最长公共子串. 我们对其中一个建一个samsamsam,然后用剩下九个去更新范围即可. 代码: #include<bits/stdc++.h> # ...
- 2018.12.15 poj3415 Common Substrings(后缀自动机)
传送门 后缀自动机基础题. 给两个字符串,让你求长度不小于kkk的公共子串的数量. 这题可以用后缀自动机解决废话 考虑对其中一个字串建出后缀自动机,然后用另一个在上面跑,注意到如果一个状态有贡献的话, ...
- 2018.12.15 bzoj3676: [Apio2014]回文串(后缀自动机)
传送门 对原串建立一个后缀自动机,然后用反串在上面匹配. 如果当前匹配的区间[l,r][l,r][l,r]包裹了当前状态的endposendposendpos中的最大值,那么[l,maxpos][l, ...
随机推荐
- C和C++中include 搜索路径的一般形式以及gcc搜索头文件的路径
C和C++中include 搜索路径的一般形式 对于include 搜索的路径: C中可以通过 #include <stdio.h> 和 #include "stidio.h&q ...
- VHDL
数字逻辑VHDL 信号与变量 signal是全局的,在整个结构体中都有效,它的赋值是在进程结束, 也就是最后的赋值是有效的. variable是局部的,它的赋值是立即生效的. 一般变量是在进程的说明部 ...
- URAL 1252 ——Sorting the Tombstones——————【gcd的应用】
Sorting the Tombstones Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I ...
- HDU 4027—— Can you answer these queries?——————【线段树区间开方,区间求和】
Can you answer these queries? Time Limit:2000MS Memory Limit:65768KB 64bit IO Format:%I64d & ...
- Java简单验证码原理(源代码+步骤操作)
本文章一共分为五个步骤,具体操作流程如下: 一.新建名为:CheckCodeServlet的servlet类; 二.复制以下代码到新建的CheckCodeServlet类中,修改自己的包名: pack ...
- (一)初识div+css
关于div+css,一直以来都是听其名,而不知其为何.今天看了半天的视频,终于对此略有了解,感觉挺好的,相比之前的table布局页面,div+css就是一把页面布局利器!! div全称division ...
- 自适应布局下echarts引起页面跳帧
项目上突然遇到一个问题,鼠标快速滑动有echarts画的饼图时,页面出现了跳帧.布局的高度突然发生变化然后恢复正常.高度怎么会变化呢?都是按百分比来的啊? 经过一番仔细观察,在跳帧的时候页面底部闪过了 ...
- 用nodejs做一个svn密码修改页面
linux上配置好svn服务后,管理修改密码还得去手工修改passwd这个文件,略麻烦,其实网上应该有配套的web管理修改界面程序.但我想自己用nodejs写一个,因为用node不用配置复杂的服务器. ...
- html跨域获取数据
a.com下的a.html,需要嵌入b.com下的b.html.这时建一个静态页面c.html将c.html放到a.com服务器中.b.html在嵌入c.html.这样,将参数值传输到c.html中, ...
- 我的书单mybooklist
首先自我介绍一下,我是一名程序员. 计算机的世界太浩瀚,而我太过渺小. 比计算机的世界更为广大的是,书籍的海洋.学海无涯. 无论是计算机的世界,还是其他类书的世界,人一辈子要看的书看也看不完. 于是我 ...