溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳解Struts2中配置默認(rèn)Action的方法

發(fā)布時(shí)間:2020-10-08 10:41:11 來源:腳本之家 閱讀:139 作者:SIHAIloveYAN 欄目:編程語言

一、jsp默認(rèn)設(shè)置

1、當(dāng)訪問的Action不存在時(shí),頁面會(huì)顯示錯(cuò)誤信息,可以通過配置默認(rèn)Action處理用戶異常的操作;

2。配置方法:

在struts.xml文件中的下添加如下內(nèi)容:

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

其中index為默認(rèn)Action的name屬性值;

3、配置默認(rèn)Action后,相應(yīng)的namespace下不存在要訪問的Action時(shí),自動(dòng)跳轉(zhuǎn)到默認(rèn)Action處理。

4、實(shí)例

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默認(rèn)設(shè)置轉(zhuǎn)發(fā)

<!-- 默認(rèn)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>

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI