struts2学习笔记(2)

struts2的Action 的开发几种方式

方式1:继承ActionSupport类
public class UserAction extends ActionSupport{
}

如果使用struts的数据效验功能必须继承此类

方式2:实现Action接口
public static final String SUCCESS = "success";

public static final String NONE = "none";

public static final String ERROR = "error";

public static final String INPUT = "input";

public static final String LOGIN = "login";

public abstract String execute() throws Exception;
方式3:不继承任何类,不实现任何接口
public class UserAction{
}

使用通配符优化配置(*,{1})

<struts>
    <package name="xxx" extends="struts-default">
        <action name="hello_*" class="com.ning.action.HelloAction" method="{1}">
            <result name="{1}">/{1}.jsp</result>
        </action>
    </package>
</struts>

访问路径:localhost:8080/工程名/hello_ 方法名

struts的路径匹配原则

localhost:8080/FirstStruts/a/b/c/hello_execute
匹配原则:

localhost:8080/FirstStruts/a/b/c/hello_executetomcat服务器
localhost访问哪台主机
8080端口号
FirstStruts找到项目名
/a/b/c匹配是否有这样的名称空间,如果没有,继续向下匹配
/a/b匹配是否有这样的名称空间,如果没有,继续向下匹配
/a匹配是否有这样的名称空间,如果没有,继续向下匹配
/默认名称空间,如果好没有找到,报错

Struts2中常用的常量

指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出
<constant name="struts.i18n.encoding" value="UTF-8"/>
自定义后缀修改常量
<constant name="struts.action.extension" value="do"/>
设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 
<constant name="struts.serve.static.browserCache" value="false"/>
当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 
<constant name="struts.configuration.xml.reload" value="true"/>
开发模式下使用,这样可以打印出更详细的错误信息 
<constant name="struts.devMode" value="true" />
默认的视图主题 
<constant name="struts.ui.theme" value="simple" />
与spring集成时,指定由spring负责action对象的创建 
<constant name="struts.objectFactory" value="spring" />
该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性
为 false
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
上传文件的大小限制
<constant name="struts.multipart.maxSize" value=“10701096"/>
动态方法调用
该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为 false
<constant name="struts.enable.DynamicMethodInvocation"value="false"/>

设置value值为true后:struts.xml

<struts>
    <package name="xxx" extends="struts-default">
        <action name="hello" class="com.ning.action.HelloAction" >
            <result name="success">/index.jsp</result>
        </action>
    </package>
</struts>

访问路径:localhost:8080/FirstStruts/hello !需调用的方法名
不建议用动态方法调用,建议用通配符

全局跳转视图配置,配置各项默认值

全局视图配置 global-results

<package name="xxx" extends="struts-default">
<global-results>
     <result name="{1}">/{1}.jsp</result>
</global-results>
    <action name="hello_*" class="com.ning.action.HelloAction" method="{1}">
    </action>
</package>
</struts>
配置各项默认值

– class默认值为(在struts-default.xml):com.opensymphony.xwork2.ActionSupport

– method默认值为:execute

– result默认值为:success

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值