Struts2默认Action

默认Action,所有未找到路径显示error.jsp页面。

<default-action-ref name="index"></default-action-ref>
<action name="index">
   <result>/error.jsp</result>
</action>

package com.action;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;

public class HelloWord extends ActionSupport implements ServletRequestAware, ServletResponseAware,ServletContextAware{

    public String add(){
        return "add";
    }

    public String update(){
        return "update";
    }

    @Override
    public String execute() throws Exception{
        System.out.println("执行action");
        return SUCCESS;
    }

    @Override
    public void setServletResponse(HttpServletResponse response) {
        // TODO Auto-generated method stub

    }

    @Override
    public void setServletRequest(HttpServletRequest request) {
        // TODO Auto-generated method stub

    }

    @Override
    public void setServletContext(ServletContext context) {
        // TODO Auto-generated method stub

    }
}

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>
    <package name="default" namespace="/" extends="struts-default">
        <default-action-ref name="index"></default-action-ref>
        <action name="index">
            <result>/error.jsp</result>
        </action>

        <action name="helloword_*" method="{1}" class="com.action.HelloWord">
            <result>/result.jsp</result>
            <result name="add">/{1}.jsp</result>
            <result name="update">/{1}.jsp</result>
        </action>
    </package>
    <constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
</struts>
时间: 2024-10-10 14:45:10

Struts2默认Action的相关文章

Struts2 默认Action和模块包含

在我们定义Action的时候会希望有一个默认的action在写错action时或者不写action时不至于报错 这里我只写一个简单的strut.xml例子 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "ht

struts2默认Action配置

在项目中,需要在输入错误的url的时候,弹出友好的错误提示页面 在struts2中可以通过配置默认的action达到这个目的 配置方法: <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index"></default-action-ref> <actio

struts2.5动态方法调用和默认Action

在动态方法调用中,使用通配符方法出现问题,参考了http://www.cnblogs.com/jasonlixuetao/p/5933671.html 这篇博客,问题解决了. 这个是helloworld.xml: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Co

Struts2之web元素访问与模板包含与默认Action使用

上一篇为大家介绍了如何使用Action进行参数接收,以及简单的表单验证,本篇为大家介绍一下关于Action访问web元素的三种方式(request.session.application):模板包含(include):默认Action的使用. 下面我先来看一下Action如何访问web元素:1.Map方式进行数据传递:IOC(控制反转):2.Map方式进行数据传递:依赖Struts2:3.原始数据类型参数传递:IOC:4.原始数据类型进行参数传递:依赖Struts2,我们接下来一个一个的为大家介

Struts2的默认action配置真的是bug?

最近在捯饬struts2,其中在学习一个namespace中的默认action的时候,遇到了一个问题,先提供下struts的配置文件如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://str

Struts2学习六----------默认Action

? 版权声明:本文为博主原创文章,转载请注明出处 默认Action - 当访问action不存在时,可通过指定默认action的方式避免出现错误代码页面 - 使用default-action-ref指定默认action 实例 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quo

Struts2理解--动态方法和method属性及通配符_默认Action

众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Action中的任意方法. 想要禁止调用动态方法,则要在struts.xml中通过constant元素将属性strutsenableDynamicMethodInvocation设置为false,来禁止调用动态方法. <constant name="strutsenableDynamicMetho

Struts2学习---namespace,file模块包含,默认action

我们上一节已经将action基本的配置和使用讲了,接下来我们讲以下struts一些小知识点: namespac: 上一节学习action的时候我们访问我们jsp文件时候使用的: http://localhost:8080/testStruts2/hello 这个路径,有同学就会问,为啥只能用这个路径, 其实我们也可以用: http://localhost:8080/testStruts2/hello.action 这两种是默认的方法,但是同样我们也可以自定义. <package name="

struts2的action是线程安全的,struts1的action不是线程安全的真正原因

为什么struts2的action是线程安全的,struts1的action不是线程安全的? 先对struts1和struts2的原理做一个简单的讲解 对于struts1 ,当第一次**.do的请求过来时,在内存中的actionmapping中找到相对应的action,然后new出这个action放在缓存中,当第二次一样的请求过来时,还是找的这个action,所以对于struts1来说,action是单实例的 ,只有一个,如果在action中定义变量,就要非常小心了,因为并发问题,可能带来灾难性