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标签中的一些小技巧的更多相关文章

  1. Struts2 | struts.xml文件中使用method属性和通配符简化action标签和Action处理类的编写

    转自:https://www.jianshu.com/p/310e89ee762d 在Struts2框架中,我们知道基本的Action标签只能实现一个url请求对应一个Action处理类.那么我们如果 ...

  2. struts.xml文件中配置tiles.xml

    Apache Tiles是一个JavaEE应用的页面布局框架.Tiles框架提供了一种模板机制,可以为某一类页面定义一个通用的模板,该模板定义了页面的整体布局.布局由可以复用的多个块组成,每个页面可以 ...

  3. C语言中的调试小技巧

    C语言中的调试小技巧 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的 ...

  4. ACM 做题过程中的一些小技巧。

    ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long l ...

  5. jquery获取json对象中的key小技巧

    jquery获取json对象中的key小技巧 比如有一个json var json = {"name" : "Tom", "age" : 1 ...

  6. ES6中常用的小技巧,用了事半功倍哦

    ES6中常用的小技巧,如果能在实际项目中能使用到,必定事半功倍: 1. 强制要求参数 ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数. 在下面的例子中,我们写了 ...

  7. C#中使用swagger小技巧

    C#中使用swagger小技巧 swaggerUI显示的接口内容主要用于开发阶段便于与前端联调,不适合发布到对外的站点. 有以下两种方式,让接口不显示在SwaggerUI中 1.使用属性 [ApiEx ...

  8. CSS中的一下小技巧2之CSS3动画勾选运用

    使用CSS3实现动画勾选 相信大家在项目中会经常遇到这种需求:勾选框.现在用CSS3来实现一个动画勾选,只需要一个标签即可完成: 这次需要用到CSS中伪类 after,这个小技巧也是很容易忘记的,所以 ...

  9. asp.net mvc route 中新发现的小技巧

    在发现这个小技巧之前,我经常被某些问题困扰,我们以博客园为例 1:是分类名称 2:是分类url 3:点击分类,进入的页面,要显示分类的名称 4:点击分类,进入的页面,要用分类相关参数 在日常web的开 ...

随机推荐

  1. Django发送邮件

    1. 配置相关参数 如果用的是 阿里云的企业邮箱,则类似于下面: 在 settings.py 的最后面加上这些 EMAIL_BACKEND='django.core.mail.backends.smt ...

  2. 一些linux包相关命令

    针对centos 查看CentOS版本方法: lsb_release -a #result------------ LSB Version: :base-4.0-amd64:base-4.0-noar ...

  3. adb 无法启动问题

    一.情况描述: 我们在使用eclipse开发有时候会出现adb连接异常中,有时候控制台会打印出来 adb connect异常 比如会出现下面这样 : [2014-12-18 16:18:26 - ] ...

  4. [转]Android通过NDK调用JNI,使用opencv做本地c++代码开发配置方法

    原文地址:http://blog.csdn.net/watkinsong/article/details/9849973 有一种方式不需要自己配置所有的Sun JDK, Android SDK以及ND ...

  5. 大家一起Aop

    一.前言 1.在项目中无处不充斥着记录日志的代码,各种try catch,实在是有点看着不爽.这不,果断要想法子偷个懒儿. 二.摘要 鄙人不才,先总结一下个人想到的可实现AOP的几种思路: 1.通过继 ...

  6. 学习笔记:Hashtable和HashMap

    学了这么些天的基础知识发现自己还是个门外汗,难怪自己一直混的不怎么样.但这样的恶补不知道有没有用,是不是过段时间这些知识又忘了呢?这些知识平时的工作好像都是随拿随用的,也并不是平时一点没有关注过这些基 ...

  7. Microsoft dotnetConf 2015 一些整理

    dotnetConf 2015 直播计划: 第一天 (10 个主讲) - .NET Product Teams 主讲人为 .NET 产品开发团队,.NET 产品主要包含 .NET Core.ASP.N ...

  8. 在MySQL的InnoDB存储引擎中count(*)函数的优化

    写这篇文章之前已经看过了很多数据库方面的优化内容,大部分都是加索引.使用事务.要什么select什么等等.然而,只是停留在阅读的层面上,很少有实践,因为没有遇到真实的项目,一切都是纸上谈兵.实践是检验 ...

  9. 【腾讯Bugly干货分享】美团大众点评 Hybrid 化建设

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/rNGD6SotKoO8frmxIU8-xw 本期 T ...

  10. 前端编码规范之CSS

    "字是门面书是屋",我们不会去手写代码,但是敲出来的代码要好看.有条理,这还必须得有一点约束~ 团队开发中,每个人的编码风格都不尽相同,有时候可能存在很大的差异,为了便于压缩组件对 ...