一、jsp默认设置
1、当访问的Action不存在时,页面会显示错误信息,可以通过配置默认Action处理用户异常的操作;
2。配置方法:
在struts.xml文件中的下添加如下内容:
1
|
< default-action-ref name = "index" ></ default-action-ref >
|
其中index为默认Action的name属性值;
3、配置默认Action后,相应的namespace下不存在要访问的Action时,自动跳转到默认Action处理。
4、实例
web.xml:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<? 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<? 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<%@ 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默认设置转发
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<!-- 默认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 >
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/sihai12345/article/details/73381783