5.Struts.xml标签中的一些小技巧
1.为Action属性注入值
如给actions包下的test.java类中变量username赋值为"xingyun"
在struts.xml中添加下面这段代码:
<struts>
<action name="one" class="actions.test" method="other"> <param name="username">xingyun</param> <result name="other">/welcome.jsp</result> </action>
</struts>
2.浏览器访问文件后缀默认值
http://pc2014092716pel:8080/Study_Struts2/test/user.action
伪装访问后缀如:
http://pc2014092716pel:8080/Study_Struts2/test/user.php
伪装扩展名方法:
在struts.xml中添加下面这段代码:
<struts>
<constant name="struts.action.extension" value="php,asp,aspx,c,cpp">
</struts>
3.当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),
开发阶段最好打开。
在struts.xml中添加下面这段代码:
<constant name="struts.configuration.xml.reload" value="true"/>
4.开发模式下使用,可以打印出更详细的错误信息。
在struts.xml中添加下面这段代码:
<constant name="struts.devMode" value="true" />
5.修改上传文件大小限制:默认最大2M
使用方法:
在struts.xml中添加下面这段代码:
<constant name="struts.multipart.maxSize" value="5242880"/>
6.配置多个struts.xml文件+全局视图
主配置struts.xml文件:
<struts> <package name="base" abstract="true" extends="struts-default">
<global-results>
<result>/index.jsp</result>
</global-results>
</package> <#include file="struts-one.xml"/>
<#include file="struts-one.xml"/> </struts>
strut-one.xml配置如下:
<struts>
<package name="one" namespace="/one" extends="base">
<action name="user" class="actions.UserAction"/>
</struts>
strut-two.xml配置如下:
<struts>
<package name="two" namespace="/two" extends="base">
<action name="user2" class="actions.UserAction"/>
</struts>
7.若Action中存在多个方法,并且需要在请求时才可确定访问哪个方法,即不能使用action标签中
method属性提前指定时,可以使用“!+方法名”方式动态调用指定方法
public class HelloAction{
public String first() { // action标签中method属性指定方法
return "success";
}
public String other() {
return "success";
}
}
若访问上面action的URL路径为:…/test/hello.action,则访问的方法为action中method属性指定的方法first()。
若要访问other() 方法,则可以这样调用:
…/test/hello!other.action
不过,Struts2文档不建议使用动态方法调用,所以可以通过改变常量struts.enable.DynamicMethodInvocation的值来关闭动态方法调用功能:
禁止使用动态方法调用方法:
在struts.xml中添加下面这段代码:
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
可以使用通配符定义的action来实现类似动态方法调用的功能。
通配符定义action,主要体现在配置文件上。如下:
<package name="itcast" namespace="/test" extends="struts-default">
<action name="hello_*" class="actions.HelloAction" method="{1}">
<result name="success">hello.jsp</result>
</action>
</package>
5.Struts.xml标签中的一些小技巧的更多相关文章
- Struts2 | struts.xml文件中使用method属性和通配符简化action标签和Action处理类的编写
转自:https://www.jianshu.com/p/310e89ee762d 在Struts2框架中,我们知道基本的Action标签只能实现一个url请求对应一个Action处理类.那么我们如果 ...
- struts.xml文件中配置tiles.xml
Apache Tiles是一个JavaEE应用的页面布局框架.Tiles框架提供了一种模板机制,可以为某一类页面定义一个通用的模板,该模板定义了页面的整体布局.布局由可以复用的多个块组成,每个页面可以 ...
- C语言中的调试小技巧
C语言中的调试小技巧 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的 ...
- ACM 做题过程中的一些小技巧。
ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long l ...
- jquery获取json对象中的key小技巧
jquery获取json对象中的key小技巧 比如有一个json var json = {"name" : "Tom", "age" : 1 ...
- ES6中常用的小技巧,用了事半功倍哦
ES6中常用的小技巧,如果能在实际项目中能使用到,必定事半功倍: 1. 强制要求参数 ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数. 在下面的例子中,我们写了 ...
- C#中使用swagger小技巧
C#中使用swagger小技巧 swaggerUI显示的接口内容主要用于开发阶段便于与前端联调,不适合发布到对外的站点. 有以下两种方式,让接口不显示在SwaggerUI中 1.使用属性 [ApiEx ...
- CSS中的一下小技巧2之CSS3动画勾选运用
使用CSS3实现动画勾选 相信大家在项目中会经常遇到这种需求:勾选框.现在用CSS3来实现一个动画勾选,只需要一个标签即可完成: 这次需要用到CSS中伪类 after,这个小技巧也是很容易忘记的,所以 ...
- asp.net mvc route 中新发现的小技巧
在发现这个小技巧之前,我经常被某些问题困扰,我们以博客园为例 1:是分类名称 2:是分类url 3:点击分类,进入的页面,要显示分类的名称 4:点击分类,进入的页面,要用分类相关参数 在日常web的开 ...
随机推荐
- tomcat相关
一.下面这篇文章介绍了tomcat log相关内容 http://blog.csdn.net/cowmich/article/details/8173005
- 提取bmp图片的颜色信息,可直接framebuffer显示(c版本与python版本)
稍微了解了下linux的framebuffer,这是一种很简单的显示接口,直接写入像素信息即可 配置好的内核,会有/dev/fbn 的接口,于是想能否提前生成一个文件,比如logo.fb,里面仅包含像 ...
- TP5与TP3.X对比
首先声明本章节并非是指导升级旧的项目到5.0,而是为了使用3.X版本的开发者更快的熟悉并上手这个全新的版本.同时也强烈建议开发者抛弃之前旧的思维模式,因为5.0是一个全新的颠覆重构版本. 需要摒弃的3 ...
- TP5验证规则使用
定义验证器类: namespace app\index\validate; use think\Validate; class User extends Validate { protected $r ...
- Swift库运行崩溃
报错如下: 解决方法: 退出 Xcode 找到 DerivedData 文件夹 删除 (路径: ~/Library/Developer/Xcode/DerivedData) 删除 com.apple. ...
- composer安装
1.首先到php.net下载对应版本的php,zip版本即可,注意windows需要vc11运行库支持 2.配置path路径添加对php解压目录的引用 3.将php.ini-development ...
- JavaScript编码规范
1 代码风格 1.1 结构语句 [强制] 不得省略语句结束的分号. [强制] 在 if / else / for / do / while 语句中,即使只有一行,也不得省略块 {...}. 示例: / ...
- ListView.setAdapter(adapter);空指针异常的解决的总结
报空指针异常一般的情况: 1,没有找到布局文件的ID 检验是不是id重复或者写错了 2.控件没有实例化 3.没有找到布局文件的id,要看看是不是加载了布局了,必须加载了对应的布局才能找到对应布局下的 ...
- 异步网络加载开源框架AsyncHttpClient使用
AsyncHttpClient是异步的,但是有时候我们需要得到请求的结果集来返回给某个函数,由于是异步的,所以不能够直接return会去,所以可以定义一个interface来给调用AsyncHttpC ...
- 思维导图FreeMind
什么是MindMap? MindMap(被译成思维导图或心智图)是一种思维工具,由英国的记忆之父托尼-博赞发明. MindMap是一种新的思维模式,它将左脑的逻辑.顺序.条例.文字.数字,以及右脑的图 ...