Struts2中配置默认Action

来源:互联网 发布:数据库创建用户 编辑:程序博客网 时间:2024/06/07 02:08

Struts2中配置默认Action

一、jsp默认设置

1、当访问的Action不存在时,页面会显示错误信息,可以通过配置默认Action处理用户异常的操作;

2。配置方法:
在struts.xml文件中的下添加如下内容:

    <default-action-ref name="index"></default-action-ref>

其中index为默认Action的name属性值;

3、配置默认Action后,相应的namespace下不存在要访问的Action时,自动跳转到默认Action处理。

4、实例

web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ;    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <welcome-file-list>    <welcome-file>hello.jsp</welcome-file>  </welcome-file-list>  <filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping></web-app>

struts.xml:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>   <!--     <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="false" />   <include file="example.xml"/>    <package name="default" namespace="/" extends="struts-default">        <default-action-ref name="index" />       <action name="index">           <result type="redirectAction">               <param name="actionName">HelloWorld</param>                <param name="namespace">/example</param>            </result>        </action>    </package>     -->    <!-- Add packages here -->    <constant name="struts.devMode" value="true" />   <constant name="struts.i18n.encoding" value="GBK"></constant>     <package name="user" namespace="/" extends="struts-default">         <default-action-ref name="index"></default-action-ref>        <action name="index">          <result>/index.jsp</result>       </action>    </package></struts>

index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">   <title>Index</title>   <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">   <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">   <meta http-equiv="description" content="This is my page">    <!--   <link rel="stylesheet" type="text/css" href="styles.css">   -->  </head> <body>    Welcome to Magci's BLOG!<br />    <a href="magci/magc">magci/magc</a><br />    <a href="mgc/magc/magci/123456">mgc/magc/magci/123456</a><br />  </body></html>

二、action默认设置转发

<!-- 默认action -->        <default-action-ref name="index" />        <action name="index">            <result type="redirectAction">                <param name="actionName">page_toIndex</param>                <!-- <param name="namespace">/example</param> -->            </result>        </action>         <action name="page_*" class="indexAction" method="{1}">            <result name="toIndex">/WEB-INF/jsps/index.jsp</result>            <result name="toAdminLogin">/WEB-INF/jsps/admin/admin_login.jsp</result>            <!-- ajax -->            <result name="ajaxInsertOneCallback" type="json">                <param name="root">action</param>            </result>        </action>
原创粉丝点击