欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Struts2中配置默认Action的方法

程序员文章站 2023-12-13 08:22:04
一、jsp默认设置 1、当访问的action不存在时,页面会显示错误信息,可以通过配置默认action处理用户异常的操作; 2。配置方法: 在struts.xml文件...

一、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%>" rel="external nofollow" >
 <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" rel="external nofollow" >
 -->
 </head>

 <body>
 welcome to magci's blog!<br />
 <a href="magci/magc" rel="external nofollow" >magci/magc</a><br />
 <a href="mgc/magc/magci/123456" rel="external nofollow" >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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:

下一篇: